/** e * Currently not used in Postgis and also not implemented here! * * @throws UnsupportedConversionException Geocentric CRS is currently not implemented */ private GeocentricCartesianCoordinateReferenceSystem decodeGeocentricCrs() { String crsName = decodeName(); matchesElementSeparator(); Datum datum = decodeDatum(); matchesElementSeparator(); PrimeMeridian primem = decodePrimem(); matchesElementSeparator(); Unit unit = decodeUnit(true); CoordinateSystemAxis[] axes = decodeOptionalAxes(3, unit, GeocentricCartesianCoordinateReferenceSystem.class); CrsId cr = decodeOptionalAuthority(srid); matchesCloseList(); GeocentricCartesianCoordinateReferenceSystem system = new GeocentricCartesianCoordinateReferenceSystem(cr, crsName, datum, primem, new CartesianCoordinateSystem3D((StraightLineAxis)axes[0], (StraightLineAxis)axes[1], (VerticalStraightLineAxis) axes[2]) ); return system; }
/** * Implementation to decode a Geographic CRS. * * @return The <code>GeographicCoordinateReferenceSystem</code> that is decoded from the WKT. */ private Geographic2DCoordinateReferenceSystem decodeGeographicCrs() { String crsName = decodeName(); matchesElementSeparator(); Datum datum = decodeDatum(); matchesElementSeparator(); PrimeMeridian primem = decodePrimem(); matchesElementSeparator(); Unit unit = decodeUnit(false); CoordinateSystemAxis[] twinAxes = decodeOptionalAxes(2, unit, Geographic2DCoordinateReferenceSystem.class); CrsId cr = decodeOptionalAuthority(srid); matchesCloseList(); Geographic2DCoordinateReferenceSystem system = new Geographic2DCoordinateReferenceSystem(cr, crsName, new EllipsoidalCoordinateSystem2D((EllipsoidalAxis) twinAxes[0], (EllipsoidalAxis) twinAxes[1])); system.setDatum(datum); system.setPrimeMeridian(primem); return system; }