public static Geometry makeBuffer(Graph graph) { Geometry geom = geometryCollectionFromVertices(graph).buffer(.04, 6); DouglasPeuckerSimplifier simplifier = new DouglasPeuckerSimplifier(geom); simplifier.setDistanceTolerance(0.00001); return simplifier.getResultGeometry(); }
public static Geometry simplify(Geometry geom, double distanceTolerance) { DouglasPeuckerSimplifier tss = new DouglasPeuckerSimplifier(geom); tss.setDistanceTolerance(distanceTolerance); return tss.getResultGeometry(); }
/** * Simplifies a geometry using a given tolerance. * * @param geom geometry to simplify * @param distanceTolerance the tolerance to use * @return a simplified version of the geometry */ public static Geometry simplify(Geometry geom, double distanceTolerance) { DouglasPeuckerSimplifier tss = new DouglasPeuckerSimplifier(geom); tss.setDistanceTolerance(distanceTolerance); return tss.getResultGeometry(); }
static Geometry computeProductGeometry(Product product) { final GeneralPath[] paths = ProductUtils.createGeoBoundaryPaths(product); final Polygon[] polygons = new Polygon[paths.length]; final GeometryFactory factory = new GeometryFactory(); for (int i = 0; i < paths.length; i++) { polygons[i] = convertAwtPathToJtsPolygon(paths[i], factory); } final DouglasPeuckerSimplifier peuckerSimplifier = new DouglasPeuckerSimplifier( polygons.length == 1 ? polygons[0] : factory.createMultiPolygon(polygons)); return peuckerSimplifier.getResultGeometry(); }
public static GeometryType simplify( GeometryType geom, double tolerance) throws FunctionExecutionException { DouglasPeuckerSimplifier douglasPeuckerSimplifier = new DouglasPeuckerSimplifier(getGeometry(geom)); douglasPeuckerSimplifier.setEnsureValid(false); douglasPeuckerSimplifier.setDistanceTolerance(tolerance); Geometry resultGeometry = douglasPeuckerSimplifier.getResultGeometry(); return getGeometryType(resultGeometry); }
public Geometry computeProductGeometry(Product product) { try { final GeneralPath[] paths = ProductUtils.createGeoBoundaryPaths(product); final Polygon[] polygons = new Polygon[paths.length]; for (int i = 0; i < paths.length; i++) { polygons[i] = convertToJtsPolygon(paths[i].getPathIterator(null)); } final DouglasPeuckerSimplifier peuckerSimplifier = new DouglasPeuckerSimplifier( polygons.length == 1 ? polygons[0] : geometryFactory.createMultiPolygon(polygons)); return peuckerSimplifier.getResultGeometry(); } catch (Exception e) { return null; } }
public static GeometryType simplify( GeometryType geom, double tolerance) throws FunctionExecutionException { DouglasPeuckerSimplifier douglasPeuckerSimplifier = new DouglasPeuckerSimplifier(getGeometry(geom)); douglasPeuckerSimplifier.setEnsureValid(false); douglasPeuckerSimplifier.setDistanceTolerance(tolerance); Geometry resultGeometry = douglasPeuckerSimplifier.getResultGeometry(); return getGeometryType(resultGeometry, geom.getSrid()); }
public static GeometryType simplify( GeometryType geom, double tolerance) throws FunctionExecutionException { DouglasPeuckerSimplifier douglasPeuckerSimplifier = new DouglasPeuckerSimplifier(getGeometry(geom)); douglasPeuckerSimplifier.setEnsureValid(false); douglasPeuckerSimplifier.setDistanceTolerance(tolerance); Geometry resultGeometry = douglasPeuckerSimplifier.getResultGeometry(); return getGeometryType(resultGeometry, geom.getSrid()); }
@Override public void plot(Canvas canvas, Shape shape) { double density = canvas.getInputMBR().getWidth() * canvas.getInputMBR().getHeight() / ((double) canvas.getWidth() * canvas.getHeight()); OSMPolygon shape2 = (OSMPolygon)shape; Rectangle lakeMBR = shape2.getMBR(); if (lakeMBR.getWidth() * lakeMBR.getHeight() / density > 1.0) { SVGCanvas svgLayer = (SVGCanvas) canvas; try { DouglasPeuckerSimplifier simplifier = new DouglasPeuckerSimplifier(shape2.geom); simplifier.setDistanceTolerance(density); svgLayer.drawShape((int) shape2.id, simplifier.getResultGeometry()); } catch (Exception e) { // Skip } } }