Example #1
0
 public void writeLineStringZone2ZoneOdPairsFromZones2Shapefile(String shapeFilename) {
   List<SimpleFeature> featureCollection = new ArrayList<SimpleFeature>();
   SimpleFeatureTypeBuilder b = new SimpleFeatureTypeBuilder();
   b.setCRS(crs);
   b.setName("zone2destOdPairs");
   b.add("location", LineString.class);
   b.add("from_zone", String.class);
   b.add("to_dest", String.class);
   b.add("no trips", Double.class);
   SimpleFeatureBuilder builder = new SimpleFeatureBuilder(b.buildFeatureType());
   int featureId = 1;
   for (DgZone zone : this.zones.values()) {
     for (DgDestination destination : zone.getDestinations()) {
       Coordinate startCoordinate = zone.getCoordinate();
       Coordinate endCoordinate = destination.getCoordinate();
       Coordinate[] coordinates = {startCoordinate, endCoordinate};
       LineString lineString = geoFac.createLineString(coordinates);
       Object[] atts = {
         lineString, zone.getId(), destination.getId(), destination.getNumberOfTrips()
       };
       SimpleFeature feature = builder.buildFeature(Integer.toString(featureId), atts);
       featureId++;
       featureCollection.add(feature);
     }
   }
   ShapeFileWriter.writeGeometries(featureCollection, shapeFilename);
 }
Example #2
0
 public void writePolygonZones2Shapefile(String shapeFilename) {
   Collection<SimpleFeature> featureCollection = new ArrayList<SimpleFeature>();
   SimpleFeatureTypeBuilder b = new SimpleFeatureTypeBuilder();
   b.setCRS(crs);
   b.setName("grid_cell");
   b.add("location", Polygon.class);
   b.add("zone_id", String.class);
   SimpleFeatureBuilder builder = new SimpleFeatureBuilder(b.buildFeatureType());
   try {
     for (DgZone cell : zones.values()) {
       log.info("writing cell: " + cell.getId());
       List<Object> attributes = new ArrayList<Object>();
       Polygon p = cell.getPolygon();
       attributes.add(p);
       attributes.add(cell.getId());
       Object[] atts = attributes.toArray();
       SimpleFeature feature = builder.buildFeature(cell.getId().toString(), atts);
       attributes.clear();
       featureCollection.add(feature);
     }
     ShapeFileWriter.writeGeometries(featureCollection, shapeFilename);
   } catch (Exception e) {
     e.printStackTrace();
     throw new RuntimeException(e);
   }
 }