CRS { public static AxisOrder getAxisOrder(CoordinateReferenceSystem crs) { return getAxisOrder(crs, false); } private  CRS(); static synchronized CRSAuthorityFactory getAuthorityFactory(final boolean longitudeFirst); static synchronized CoordinateOperationFactory getCoordinateOperationFactory(final boolean lenient); static Version getVersion(final String authority); static Set<String> getSupportedCodes(final String authority); static Set<String> getSupportedAuthorities(final boolean returnAliases); static CoordinateReferenceSystem decode(final String code); static CoordinateReferenceSystem decode(String code, final boolean longitudeFirst); static CoordinateReferenceSystem parseWKT(final String wkt); static Envelope getEnvelope(final CoordinateReferenceSystem crs); static GeographicBoundingBox getGeographicBoundingBox(final CoordinateReferenceSystem crs); static SingleCRS getHorizontalCRS(final CoordinateReferenceSystem crs); static ProjectedCRS getProjectedCRS(final CoordinateReferenceSystem crs); static MapProjection getMapProjection(final CoordinateReferenceSystem crs); static VerticalCRS getVerticalCRS(final CoordinateReferenceSystem crs); static TemporalCRS getTemporalCRS(final CoordinateReferenceSystem crs); static Ellipsoid getEllipsoid(final CoordinateReferenceSystem crs); static boolean equalsIgnoreMetadata(final Object object1, final Object object2); static String toSRS(final CoordinateReferenceSystem crs); static String toSRS(final CoordinateReferenceSystem crs, boolean codeOnly); static String lookupIdentifier(final IdentifiedObject object, final boolean fullScan); static String lookupIdentifier(final Citation authority,
            final CoordinateReferenceSystem crs, final boolean fullScan); static Integer lookupEpsgCode(final CoordinateReferenceSystem crs, final boolean fullScan); static MathTransform findMathTransform(final CoordinateReferenceSystem sourceCRS,
                                                  final CoordinateReferenceSystem targetCRS); static MathTransform findMathTransform(final CoordinateReferenceSystem sourceCRS,
                                                  final CoordinateReferenceSystem targetCRS,
                                                  boolean lenient); static GeneralEnvelope transform(Envelope envelope,
            final CoordinateReferenceSystem targetCRS); static GeneralEnvelope transform(final MathTransform transform, final Envelope envelope); static GeneralEnvelope transform(final CoordinateOperation operation, final Envelope envelope); static Rectangle2D transform(final MathTransform2D transform,
                                        final Rectangle2D     envelope,
                                              Rectangle2D     destination); static Rectangle2D transform(final CoordinateOperation operation,
                                        final Rectangle2D         envelope,
                                              Rectangle2D         destination); static void reset(final String aspects); static void cleanupThreadLocals(); static AxisOrder getAxisOrder(CoordinateReferenceSystem crs); static AxisOrder getAxisOrder(CoordinateReferenceSystem crs, boolean useBaseGeoCRS); static void main(final String[] args);  }
@Test public void testGetAxisOrder() throws FactoryException { String wkt = "GEOGCS[\"WGS84(DD)\"," + "DATUM[\"WGS84\", " + "SPHEROID[\"WGS84\", 6378137.0, 298.257223563]]," + "PRIMEM[\"Greenwich\", 0.0]," + "UNIT[\"degree\", 0.017453292519943295]," + "AXIS[\"Geodetic longitude\", EAST]," + "AXIS[\"Geodetic latitude\", NORTH]]"; assertEquals(AxisOrder.LON_LAT, CRS.getAxisOrder(CRS.parseWKT(wkt))); assertEquals(AxisOrder.EAST_NORTH, CRS.getAxisOrder(CRS.parseWKT(wkt))); wkt = "GEOGCS[\"WGS84(DD)\"," + "DATUM[\"WGS84\", " + "SPHEROID[\"WGS84\", 6378137.0, 298.257223563]]," + "PRIMEM[\"Greenwich\", 0.0]," + "UNIT[\"degree\", 0.017453292519943295]," + "AXIS[\"Geodetic latitude\", NORTH]," + "AXIS[\"Geodetic longitude\", EAST]]"; assertEquals(AxisOrder.LAT_LON, CRS.getAxisOrder(CRS.parseWKT(wkt))); assertEquals(AxisOrder.NORTH_EAST, CRS.getAxisOrder(CRS.parseWKT(wkt))); assertEquals(AxisOrder.INAPPLICABLE, CRS.getAxisOrder(CRS.getHorizontalCRS(DefaultEngineeringCRS.GENERIC_2D))); wkt = "PROJCS[\"ED50 / UTM zone 31N\", "+ " GEOGCS[\"ED50\", "+ " DATUM[\"European Datum 1950\", "+ " SPHEROID[\"International 1924\", 6378388.0, 297.0, AUTHORITY[\"EPSG\",\"7022\"]], "+ " TOWGS84[-157.89, -17.16, -78.41, 2.118, 2.697, -1.434, -1.1097046576093785], "+ " AUTHORITY[\"EPSG\",\"6230\"]], "+ " PRIMEM[\"Greenwich\", 0.0, AUTHORITY[\"EPSG\",\"8901\"]], "+ " UNIT[\"degree\", 0.017453292519943295], "+ " AXIS[\"Geodetic latitude\", NORTH], "+ " AXIS[\"Geodetic longitude\", EAST], "+ " AUTHORITY[\"EPSG\",\"4230\"]], "+ " PROJECTION[\"Transverse Mercator\", AUTHORITY[\"EPSG\",\"9807\"]], "+ " PARAMETER[\"central_meridian\", 3.0], "+ " PARAMETER[\"latitude_of_origin\", 0.0], "+ " PARAMETER[\"scale_factor\", 0.9996], "+ " PARAMETER[\"false_easting\", 500000.0], "+ " PARAMETER[\"false_northing\", 0.0], "+ " UNIT[\"m\", 1.0], "+ " AXIS[\"Easting\", EAST], "+ " AXIS[\"Northing\", NORTH], "+ " AUTHORITY[\"EPSG\",\"23031\"]]"; assertEquals(AxisOrder.EAST_NORTH, CRS.getAxisOrder(CRS.parseWKT(wkt))); assertEquals(AxisOrder.NORTH_EAST, CRS.getAxisOrder(CRS.parseWKT(wkt), true)); }