示例#1
0
 public Geobuf.Data.Geometry geomToGeobuf(Geometry geometry) {
   if (geometry instanceof Point) return pointToGeobuf((Point) geometry);
   else if (geometry instanceof Polygon) return polyToGeobuf((Polygon) geometry);
   else if (geometry instanceof MultiPolygon) return multiPolyToGeobuf((MultiPolygon) geometry);
   else
     throw new UnsupportedOperationException(
         "Unsupported geometry type " + geometry.getGeometryType());
 }
示例#2
0
 public static KPolygon calcConvexHullPolygon(ArrayList<KPoint> array) {
   Coordinate[] coordinateArray = new Coordinate[array.size()];
   for (int i = 0; i < array.size(); i++) {
     KPoint p = array.get(i);
     coordinateArray[i] = new Coordinate(p.x, p.y);
   }
   com.vividsolutions.jts.algorithm.ConvexHull convexHull =
       new com.vividsolutions.jts.algorithm.ConvexHull(coordinateArray, new GeometryFactory());
   Geometry geometry = convexHull.getConvexHull();
   if (geometry.getGeometryType() == "Polygon") {
     Polygon jtsPolygon = (Polygon) geometry;
     PolygonConverter polygonConverter = new PolygonConverter();
     KPolygon convexHullKPolygon = polygonConverter.makeKPolygonFromExterior(jtsPolygon);
     return convexHullKPolygon;
   } else {
     System.out.println(": geometry.getGeometryType() == " + geometry.getGeometryType());
     throw new RuntimeException("Unknown JTS geometry type: " + geometry.getGeometryType());
   }
 }