public void testSameCRS() throws Exception { CoordinateReferenceSystem crs = DefaultGeographicCRS.WGS84; GeometryFactory fac = new GeometryFactory(); Point p = fac.createPoint(new Coordinate(10, 10)); SimpleFeatureCollection features = createTestFeatureCollection(crs, p); FeatureReader<SimpleFeatureType, SimpleFeature> original = DataUtilities.reader(features); // FeatureReader<SimpleFeatureType, SimpleFeature> original = new CollectionFeatureReader( // features, features.getSchema() ); try (ForceCoordinateSystemFeatureReader modified = new ForceCoordinateSystemFeatureReader(DataUtilities.reader(features), crs); ) { SimpleFeature f1 = original.next(); SimpleFeature f2 = modified.next(); assertEquals(f1, f2); assertFalse(original.hasNext()); assertFalse(modified.hasNext()); assertSame(modified.builder.getFeatureType(), original.getFeatureType()); } }
public void testNullDestination() throws Exception { CoordinateReferenceSystem crs = DefaultGeographicCRS.WGS84; GeometryFactory fac = new GeometryFactory(); Point p = fac.createPoint(new Coordinate(10, 10)); SimpleFeatureCollection features = createTestFeatureCollection(crs, p); try { new ForceCoordinateSystemFeatureReader( DataUtilities.reader(features), (CoordinateReferenceSystem) null); fail(); // should throw a nullpointer exception. } catch (NullPointerException e) { // good } }
public void testDifferentCRS() throws Exception { CoordinateReferenceSystem srcCRS = DefaultGeographicCRS.WGS84; GeometryFactory fac = new GeometryFactory(); Point p = fac.createPoint(new Coordinate(10, 10)); SimpleFeatureCollection features = createTestFeatureCollection(srcCRS, p); FeatureReader<SimpleFeatureType, SimpleFeature> original = DataUtilities.reader(features); CoordinateReferenceSystem destCRS = DefaultEngineeringCRS.CARTESIAN_2D; try (ForceCoordinateSystemFeatureReader modified = new ForceCoordinateSystemFeatureReader(DataUtilities.reader(features), destCRS); ) { SimpleFeature f1 = original.next(); SimpleFeature f2 = modified.next(); assertEquals( ((Geometry) f1.getDefaultGeometry()).getCoordinate(), ((Geometry) f2.getDefaultGeometry()).getCoordinate()); SimpleFeatureType f1Type = f1.getFeatureType(); SimpleFeatureType f2Type = f2.getFeatureType(); assertFalse( f1Type.getCoordinateReferenceSystem() .equals(f2Type.getCoordinateReferenceSystem())); assertEquals(srcCRS, f1Type.getCoordinateReferenceSystem()); assertEquals(srcCRS, f1Type.getGeometryDescriptor().getCoordinateReferenceSystem()); assertEquals(destCRS, f2Type.getCoordinateReferenceSystem()); assertEquals(destCRS, f2Type.getGeometryDescriptor().getCoordinateReferenceSystem()); assertFalse(original.hasNext()); assertFalse(modified.hasNext()); assertNotNull(modified.builder); } }
Point p = fac.createPoint(new Coordinate(10, 10)); SimpleFeatureCollection features = createTestFeatureCollection(srcCRS, p); FeatureReader<SimpleFeatureType, SimpleFeature> original = DataUtilities.reader(features); SimpleFeature f2 = modified.next(); assertEquals( ((Geometry) f1.getDefaultGeometry()).getCoordinate(), ((Geometry) f2.getDefaultGeometry()).getCoordinate()); SimpleFeatureType f1Type = f1.getFeatureType(); SimpleFeatureType f2Type = f2.getFeatureType(); assertFalse( f2Type.getCoordinateReferenceSystem() .equals(f1Type.getCoordinateReferenceSystem())); assertEquals(srcCRS, f1Type.getCoordinateReferenceSystem()); assertEquals(srcCRS, f1Type.getGeometryDescriptor().getCoordinateReferenceSystem()); assertEquals(destCRS, f2Type.getCoordinateReferenceSystem()); assertEquals(destCRS, f2Type.getGeometryDescriptor().getCoordinateReferenceSystem()); assertFalse(original.hasNext()); assertFalse(modified.hasNext()); assertNotNull(modified.builder);