/** * Combines a collection of geometries. * * @param geoms the geometries to combine * @return the combined geometry */ public static Geometry combine(Collection geoms) { GeometryCombiner combiner = new GeometryCombiner(geoms); return combiner.combine(); }
/** * Combines two geometries. * * @param g0 a geometry to combine * @param g1 a geometry to combine * @return the combined geometry */ public static Geometry combine(Geometry g0, Geometry g1) { GeometryCombiner combiner = new GeometryCombiner(createList(g0, g1)); return combiner.combine(); }
/** * Combines three geometries. * * @param g0 a geometry to combine * @param g1 a geometry to combine * @param g2 a geometry to combine * @return the combined geometry */ public static Geometry combine(Geometry g0, Geometry g1, Geometry g2) { GeometryCombiner combiner = new GeometryCombiner(createList(g0, g1, g2)); return combiner.combine(); }
Geometry overallUnion = GeometryCombiner.combine(disjointPolys);
return GeometryCombiner.combine(ptComp, otherGeom);
Geometry disjoint1 = extractElements(g1, interacts1, false); Geometry overallUnion = GeometryCombiner.combine(union, disjoint0, disjoint1);
private Geometry unionOptimized(Geometry g0, Geometry g1) { Envelope g0Env = g0.getEnvelopeInternal(); Envelope g1Env = g1.getEnvelopeInternal(); //* if (! g0Env.intersects(g1Env)) { Geometry combo = GeometryCombiner.combine(g0, g1); // System.out.println("Combined"); // System.out.println(combo); return combo; } //*/ // System.out.println(g0.getNumGeometries() + ", " + g1.getNumGeometries()); if (g0.getNumGeometries() <= 1 && g1.getNumGeometries() <= 1) return unionActual(g0, g1); // for testing... // if (true) return g0.union(g1); Envelope commonEnv = g0Env.intersection(g1Env); return unionUsingEnvelopeIntersection(g0, g1, commonEnv); // return UnionInteracting.union(g0, g1); }