public SimpleFeature createPolyline(final Coordinate[] coordinates) { return this.createPolyline(coordinates, Collections.<String, Object> emptyMap(), null); }
public SimpleFeature createPolyline(final LineString lineString, final Object[] attributeValues, final String id) { MultiLineString mls = this.fac.createMultiLineString(new LineString[] {lineString}); return this.createPolyline(mls, attributeValues, id); }
public SimpleFeature createPolyline(final Coordinate[] coordinates, final Object[] attributeValues, final String id) { LineString ls = this.fac.createLineString(coordinates); return this.createPolyline(ls, attributeValues, id); }
public void write(String vrpOutDir) { new File(vrpOutDir).mkdir(); String file = vrpOutDir + "\\route_"; for (Vehicle v : vehicles) { Stream<DriveTask> drives = Schedules.driveTasks(v.getSchedule()); Collection<SimpleFeature> features = new ArrayList<>(); drives.forEach(drive -> { Coordinate[] coords = createLineString(drive); if (coords != null) { features.add(this.factory.createPolyline(coords, new Object[] { v.getId(), v.getId(), drive.getTaskIdx() }, null)); } }); if (!features.isEmpty()) { ShapeFileWriter.writeGeometries(features, file + v.getId() + ".shp"); } } }
SimpleFeature ft = factory.createPolyline(coordArray, attributes, link.getId().toString()); features.add(ft);
@Test public void testShapeFileWriterWithSelfCreatedContent_withMatsimFactory_Polyline() throws IOException { String outFile = utils.getOutputDirectory() + "test.shp"; PolylineFeatureFactory ff = new PolylineFeatureFactory.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.createPolyline(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); }