/** * {@inheritDoc} * * @return {@code true} if the parameters describe no operation. */ @Override public boolean isIdentity() { return super.isIdentity() && dtX == 0 && dtY == 0 && dtZ == 0; }
/** * {@inheritDoc} * * @return {@code true} if the parameters describe no operation. */ @Override public boolean isIdentity() { return super.isIdentity() && dtX == 0 && dtY == 0 && dtZ == 0; }
/** * Returns the parameters for the <cite>WGS 72 to WGS 84 (2)</cite> transformation (EPSG:1238). * Area of validity is the World. */ static BursaWolfParameters createWGS72_to_WGS84() { final BursaWolfParameters bursaWolf = new BursaWolfParameters(GeodeticDatumMock.WGS84, Extents.WORLD); bursaWolf.tZ = 4.5; bursaWolf.rZ = 0.554; bursaWolf.dS = 0.219; bursaWolf.verify(PrimeMeridianMock.GREENWICH); assertFalse("isIdentity", bursaWolf.isIdentity()); assertFalse("isTranslation", bursaWolf.isTranslation()); return bursaWolf; }
/** * Returns the parameters for the <cite>NTF to WGS 84 (1)</cite> transformation (EPSG:1193). * Area of validity is France - onshore - mainland and Corsica. * This transformation uses only translation parameters. */ static BursaWolfParameters createNTF_to_WGS84() { final BursaWolfParameters bursaWolf = new BursaWolfParameters(GeodeticDatumMock.WGS84, Extents.WORLD); bursaWolf.tX = -168; bursaWolf.tY = -60; bursaWolf.tZ = 320; bursaWolf.verify(PrimeMeridianMock.GREENWICH); assertFalse("isIdentity", bursaWolf.isIdentity()); assertTrue ("isTranslation", bursaWolf.isTranslation()); return bursaWolf; }
/** * Returns the parameters for the <cite>ED87 to WGS 84 (1)</cite> transformation (EPSG:1146). * Area of validity is the North Sea: 5.05°W to 11.13°E in longitude and 51.04°N to 62.0°N in latitude. */ static BursaWolfParameters createED87_to_WGS84() { final BursaWolfParameters bursaWolf = new BursaWolfParameters(GeodeticDatumMock.WGS84, new DefaultExtent("Europe - North Sea", new DefaultGeographicBoundingBox(-5.05, 11.13, 51.04, 62.0), null, null)); bursaWolf.tX = -82.981; bursaWolf.tY = -99.719; bursaWolf.tZ = -110.709; bursaWolf.rX = -0.5076; bursaWolf.rY = 0.1503; bursaWolf.rZ = 0.3898; bursaWolf.dS = -0.3143; bursaWolf.verify(PrimeMeridianMock.GREENWICH); assertFalse("isIdentity", bursaWolf.isIdentity()); assertFalse("isTranslation", bursaWolf.isTranslation()); return bursaWolf; }
/** * Tests the conversion from {@code CompoundCRS[EPSG:3035 + Sigma-level]} to {@code EPSG:4326}. * The interesting part in this test is that the height is not a standard height, and the * referencing module is not supposed to known how to build a 3D Geographic CRS (needed as * an intermediate step for the datum shift) with that height. * * @throws FactoryException Should never happen. * * @see <a href="http://jira.geotoolkit.org/browse/GEOTK-71">GEOTK-71</a> */ @Test @Ignore("JSR-275 does not accept unit named 'level'.") public void testProjected3D_to_2D() throws FactoryException { CoordinateReferenceSystem targetCRS = CommonCRS.WGS84.geographic(); CoordinateReferenceSystem sourceCRS = CRS.forCode("EPSG:3035"); GeodeticDatum targetDatum = ((GeographicCRS) targetCRS).getDatum(); GeodeticDatum sourceDatum = ((ProjectedCRS) sourceCRS).getDatum(); final BursaWolfParameters[] params = ((DefaultGeodeticDatum) sourceDatum).getBursaWolfParameters(); assertEquals("This test requires that an explicit BursaWolf parameter exists.", 1, params.length); assertEquals("targetDatum", targetDatum, params[0].getTargetDatum()); assertTrue("This test requires that the BursaWolf parameter is set to identity.", params[0].isIdentity()); CoordinateReferenceSystem vertCRS = CRS.fromWKT( "VERT_CS[\"Sigma Level\",VERT_DATUM[\"Sigma Level\",2000],UNIT[\"level\",1.0],AXIS[\"Sigma Level\",DOWN]]"); sourceCRS = new DefaultCompoundCRS(singletonMap(NAME_KEY, "ETRS89 + Sigma level"), sourceCRS, vertCRS); final MathTransform tr = CRS.findOperation(sourceCRS, targetCRS, null).getMathTransform(); assertSame(tr, CRS.findOperation(sourceCRS, targetCRS, null).getMathTransform()); assertSame(tr, CRS.findOperation(sourceCRS, targetCRS, null).getMathTransform()); assertEquals(3, tr.getSourceDimensions()); assertEquals(2, tr.getTargetDimensions()); }