public SimpleFeature createPolygon(final Coordinate[] coordinates) { return this.createPolygon(coordinates, Collections.<String, Object>emptyMap(), null); }
public SimpleFeature createPolygon(final Polygon polygon, final Object[] attributeValues, final String id) { MultiPolygon mp = this.fac.createMultiPolygon(new Polygon[] {polygon}); return this.createPolygon(mp, attributeValues, id); }
public SimpleFeature createPolygon(final Polygon polygon, final Map<String, Object> attributeValues, final String id) { MultiPolygon mp = this.fac.createMultiPolygon(new Polygon[] {polygon}); return this.createPolygon(mp, attributeValues, id); }
public SimpleFeature createPolygon(final Coord[] coordinates) { Coordinate[] coords = new Coordinate[coordinates.length]; for (int i = 0; i < coordinates.length; i++) { coords[i] = new Coordinate(coordinates[i].getX(), coordinates[i].getY()); } return this.createPolygon(coords, Collections.<String, Object>emptyMap(), null); }
private SimpleFeature createFeature(Coord[] coords, String type) { Object[] attributes = new Object[]{type}; Coordinate[] vividCoordinates = new Coordinate[coords.length]; for (int i = 0; i < coords.length; i++) { vividCoordinates[i] = new Coordinate(coords[i].getX(), coords[i].getY()); } SimpleFeature feature = null; try { feature = this.polygonFeatureFactory.createPolygon(vividCoordinates, attributes, null); } catch (IllegalArgumentException e) { log.error("IllegalArgumentException: " + e.getMessage()); this.featureErrorCounter++; } return feature; }
private SimpleFeature createLandUseFeature(Coord[] coords, String matsimActivityType) { Object[] attributes = new Object[]{matsimActivityType}; Coordinate[] vividCoordinates = new Coordinate[coords.length]; for (int i = 0; i < coords.length; i++) { vividCoordinates[i] = new Coordinate(coords[i].getX(), coords[i].getY()); } SimpleFeature feature = null; try { feature = this.polygonFeatureFactory.createPolygon(vividCoordinates, attributes, null); } catch (IllegalArgumentException e) { log.error("IllegalArgumentException: " + e.getMessage()); this.featureErrorCounter++; } return feature; }
public SimpleFeature createPolygon(final Coordinate[] coordinates, final Map<String, Object> attributeValues, final String id) { LinearRing shell; if (coordinates[0] == coordinates[coordinates.length - 1]) { shell = this.fac.createLinearRing(coordinates); } else { Coordinate[] coordinates2 = new Coordinate[coordinates.length + 1]; System.arraycopy(coordinates, 0, coordinates2, 0, coordinates.length); coordinates2[coordinates.length] = coordinates[0]; shell = this.fac.createLinearRing(coordinates2); } Polygon p = this.fac.createPolygon(shell, null); MultiPolygon mp = this.fac.createMultiPolygon(new Polygon[] {p}); return this.createPolygon(mp, attributeValues, id); }
public SimpleFeature createPolygon(final Coordinate[] coordinates, final Object[] attributeValues, final String id) { LinearRing shell; if (coordinates[0] == coordinates[coordinates.length - 1]) { shell = this.fac.createLinearRing(coordinates); } else { Coordinate[] coordinates2 = new Coordinate[coordinates.length + 1]; System.arraycopy(coordinates, 0, coordinates2, 0, coordinates.length); coordinates2[coordinates.length] = coordinates[0]; shell = this.fac.createLinearRing(coordinates2); } Polygon p = this.fac.createPolygon(shell, null); MultiPolygon mp = this.fac.createMultiPolygon(new Polygon[] {p}); return this.createPolygon(mp, attributeValues, id); }
public void write(String shpFile) { CoordinateReferenceSystem crs = MGC.getCRS(coordinateSystem); PolygonFeatureFactory factory = new PolygonFeatureFactory.Builder().addAttribute(ID_HEADER, String.class) .setCrs(crs).setName("zone").create(); List<SimpleFeature> features = new ArrayList<>(); for (Zone z : zones.values()) { String id = z.getId() + ""; features.add(factory.createPolygon(z.getMultiPolygon(), new Object[] { id }, id)); } ShapeFileWriter.writeGeometries(features, shpFile); } }
@Test public void testShapeFileWriterWithSelfCreatedContent_withMatsimFactory_Polygon() throws IOException { String outFile = utils.getOutputDirectory() + "test.shp"; PolygonFeatureFactory ff = new PolygonFeatureFactory.Builder() .setName("EvacuationArea") .setCrs(DefaultGeographicCRS.WGS84) .addAttribute("name", String.class) .create(); Coordinate[] coordinates = new Coordinate[]{new Coordinate(0,0),new Coordinate(0,1),new Coordinate(1,1),new Coordinate(0,0)}; SimpleFeature f = ff.createPolygon(coordinates); Collection<SimpleFeature> features = new ArrayList<SimpleFeature>(); features.add(f); Geometry g0 = (Geometry) f.getDefaultGeometry(); ShapeFileWriter.writeGeometries(features, outFile); SimpleFeatureSource s1 = ShapeFileReader.readDataFile(outFile); SimpleFeatureCollection fts1 = s1.getFeatures(); SimpleFeatureIterator it1 = fts1.features(); SimpleFeature ft1 = it1.next(); Geometry g1 = (Geometry) ft1.getDefaultGeometry(); Assert.assertEquals(g0.getCoordinates().length, g1.getCoordinates().length); }