public IUnit getUnits() { return getReferencedObject().getUnits(); }
/** * Export the ellipsoid to it's appropriate deegree-crs-definitions form. * * @param ellipsoid * to be exported * @param xmlWriter * to export the ellipsoid to. * @throws XMLStreamException */ protected void export( IEllipsoid ellipsoid, XMLStreamWriter xmlWriter ) throws XMLStreamException { if ( ellipsoid != null ) { xmlWriter.writeStartElement( CRSNS, "ellipsoid" ); // write the elements that are specific to Identifiable exportIdentifiable( ellipsoid, xmlWriter ); double sMajorAxis = ellipsoid.getSemiMajorAxis(); xmlWriter.writeStartElement( CRSNS, "semiMajorAxis" ); xmlWriter.writeCharacters( Double.toString( sMajorAxis ) ); xmlWriter.writeEndElement(); double inverseF = ellipsoid.getInverseFlattening(); xmlWriter.writeStartElement( CRSNS, "inverseFlattening" ); xmlWriter.writeCharacters( Double.toString( inverseF ) ); xmlWriter.writeEndElement(); export( ellipsoid.getUnits(), xmlWriter ); xmlWriter.writeEndElement(); } }
/** * Export the ellipsoid to it's appropriate deegree-crs-definitions form. * * @param ellipsoid * to be exported * @param xmlWriter * to export the ellipsoid to. * @throws XMLStreamException */ @Override protected void export( IEllipsoid ellipsoid, XMLStreamWriter xmlWriter ) throws XMLStreamException { if ( ellipsoid != null ) { xmlWriter.writeStartElement( CRSNS, "Ellipsoid" ); // write the elements that are specific to Identifiable exportIdentifiable( ellipsoid, xmlWriter ); export( ellipsoid.getUnits(), xmlWriter ); double sMajorAxis = ellipsoid.getSemiMajorAxis(); xmlWriter.writeStartElement( CRSNS, "SemiMajorAxis" ); xmlWriter.writeCharacters( Double.toString( sMajorAxis ) ); xmlWriter.writeEndElement(); double inverseF = ellipsoid.getInverseFlattening(); xmlWriter.writeStartElement( CRSNS, "InverseFlattening" ); xmlWriter.writeCharacters( Double.toString( inverseF ) ); xmlWriter.writeEndElement(); xmlWriter.writeEndElement(); } }
private void calcParams() { if ( getSourceCRS().getType() == CRSType.COMPOUND ) { this.hasHeight = true; defaultHeightValue = ( (ICompoundCRS) getSourceCRS() ).getDefaultHeight(); } else if ( getTargetCRS().getType() == CRSType.COMPOUND ) { this.hasHeight = true; defaultHeightValue = ( (ICompoundCRS) getTargetCRS() ).getDefaultHeight(); } else { this.hasHeight = false; defaultHeightValue = 0; } IEllipsoid ellipsoid = getSourceCRS().getGeodeticDatum().getEllipsoid(); semiMajorAxis = Unit.METRE.convert( ellipsoid.getSemiMajorAxis(), ellipsoid.getUnits() ); semiMinorAxis = Unit.METRE.convert( ellipsoid.getSemiMinorAxis(), ellipsoid.getUnits() ); squaredSemiMajorAxis = semiMajorAxis * semiMajorAxis; squaredSemiMinorAxis = semiMinorAxis * semiMinorAxis; squaredEccentricity = ellipsoid.getSquaredEccentricity(); // e2 = ( a2 - b2 ) / a2; ep2 = ( squaredSemiMajorAxis - squaredSemiMinorAxis ) / squaredSemiMinorAxis; }