We were informed that support for Modified Azimuthal Equidistant
projections had been added to the latest snapshot of apache sis.
However when we try to create a Modified Azimuthal Equidistant projection
using the following code segments a NoSuchAuthorityCode Exception is thrown
(Is it something we are doing wrong?)
1. Create CoordinateReferenceSystem from code
Code:
CoordinateReferenceSystem crs = CRS.forCode("EPSG:9832");
Exception thrown:
org.opengis.referencing.NoSuchAuthorityCodeException: No
‘CoordinateReferenceSystem’ object found for code “9832” in the “EPSG”
geodetic dataset.
at
org.apache.sis.referencing.factory.sql.EPSGDataAccess.noSuchAuthorityCode(EPSGDataAccess.java:3267)
at
org.apache.sis.referencing.factory.sql.EPSGDataAccess.createCoordinateReferenceSystem(EPSGDataAccess.java:1587)
at
org.apache.sis.referencing.factory.AuthorityFactoryProxy$22.create(AuthorityFactoryProxy.java:395)
at
org.apache.sis.referencing.factory.AuthorityFactoryProxy$22.create(AuthorityFactoryProxy.java:393)
at
org.apache.sis.referencing.factory.ConcurrentAuthorityFactory.create(ConcurrentAuthorityFactory.java:1673)
at
org.apache.sis.referencing.factory.ConcurrentAuthorityFactory.createCoordinateReferenceSystem(ConcurrentAuthorityFactory.java:873)
at
org.apache.sis.referencing.factory.AuthorityFactoryProxy$22.createFromAPI(AuthorityFactoryProxy.java:398)
at
org.apache.sis.referencing.factory.AuthorityFactoryProxy$22.createFromAPI(AuthorityFactoryProxy.java:393)
at
org.apache.sis.referencing.factory.MultiAuthoritiesFactory.create(MultiAuthoritiesFactory.java:861)
at
org.apache.sis.referencing.factory.MultiAuthoritiesFactory.createCoordinateReferenceSystem(MultiAuthoritiesFactory.java:922)
at org.apache.sis.referencing.CRS.forCode(CRS.java:235)
2. Create CoordinateReferenceSystem from wkt
Code:
String wktString = "PROJCS[\"Azimuthal Equidistant
Lng=1.27780675;Lat=58.62877105\","
+ "GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\","
+ "SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],"
+ "PRIMEM[\"Greenwich\",0.0],"
+ "UNIT[\"Degree\",0.0174532925199433]],"
+ "PROJECTION[\"Azimuthal_Equidistant\"],"
+ "PARAMETER[\"False_Easting\",0.0],"
+ "PARAMETER[\"False_Northing\",0.0],"
+ "PARAMETER[\"Central_Meridian\",1.277806753183437],"
+ "PARAMETER[\"Latitude_Of_Origin\",58.62877104866187],"
+ "UNIT[\"Meter\",1.0]]";
CoordinateReferenceSystem crs = CRS.fromWKT(wktString);
Exception thrown:
org.opengis.util.NoSuchIdentifierException: No operation method found for
name or identifier “Azimuthal_Equidistant”.
at
org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.getOperationMethod(DefaultMathTransformFactory.java:396)
at
org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory.getOperationMethod(DefaultCoordinateOperationFactory.java:311)
at
org.apache.sis.internal.referencing.ServicesForMetadata.getOperationMethod(ServicesForMetadata.java:637)
at
org.apache.sis.io.wkt.GeodeticObjectParser.parseMethod(GeodeticObjectParser.java:1274)
at
org.apache.sis.io.wkt.GeodeticObjectParser.parseDerivingConversion(GeodeticObjectParser.java:1322)
at
org.apache.sis.io.wkt.GeodeticObjectParser.parseProjectedCRS(GeodeticObjectParser.java:2115)
at
org.apache.sis.io.wkt.GeodeticObjectParser.parseCoordinateReferenceSystem(GeodeticObjectParser.java:326)
at
org.apache.sis.io.wkt.GeodeticObjectParser.parseObject(GeodeticObjectParser.java:287)
at org.apache.sis.io.wkt.AbstractParser.parseObject(AbstractParser.java:283)
at
org.apache.sis.io.wkt.GeodeticObjectParser.parseObject(GeodeticObjectParser.java:244)
at
org.apache.sis.io.wkt.AbstractParser.createFromWKT(AbstractParser.java:214)
at
org.apache.sis.referencing.factory.GeodeticObjectFactory.createFromWKT(GeodeticObjectFactory.java:1671)
at org.apache.sis.referencing.CRS.fromWKT(CRS.java:303)
Thanks,
--
*Michael Arneson*
*Software Engineer*
*Office:* +1 (713) 975-7434
[email protected]
*INT *| *Empowering Visualization*