com.vividsolutions.jts.geom.Geometry.union()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(379)

本文整理了Java中com.vividsolutions.jts.geom.Geometry.union()方法的一些代码示例,展示了Geometry.union()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Geometry.union()方法的具体详情如下:
包路径:com.vividsolutions.jts.geom.Geometry
类名称:Geometry
方法名:union

Geometry.union介绍

[英]Computes the union of all the elements of this geometry.

union() supports GeometryCollections (which the other overlay operations currently do not).

The result obeys the following contract:

  • Unioning a set of LineStrings has the effect of fully noding and dissolving the linework.
  • Unioning a set of Polygons will always return a Polygonal geometry (unlike #union(Geometry), which may return geometrys of lower dimension if a topology collapse occurred.
    [中]计算此几何图形的所有元素的并集。
    union()支持GeometryCollection(其他覆盖操作目前不支持)。
    结果符合以下合同:
    *合并一组线串具有完全点头和溶解线条的效果。
    *合并一组多边形将始终返回多边形几何体(不同于#union(geometry)),如果发生拓扑崩溃,它可能返回较低维度的几何体。

代码示例

代码示例来源:origin: opentripplanner/OpenTripPlanner

public void findHull() {
  LOG.info("finding hull of graph...");
  LOG.debug("using only stops? {}", useOnlyStops);
  if (bufferMeters < prototypeRoutingRequest.maxWalkDistance)
    LOG.warn("geographic filter buffer is smaller than max walk distance, this will probably yield incorrect results.");
  Graph graph= graphService.getRouter(prototypeRoutingRequest.routerId).graph;
  List<Geometry> geometries = new ArrayList<Geometry>();
  for (Vertex v : graph.getVertices()) {
    if (useOnlyStops && ! (v instanceof TransitStop))
      continue;
    Point pt = gf.createPoint(v.getCoordinate());
    Geometry geom = crudeProjectedBuffer(pt, bufferMeters);
    geometries.add(geom);
  }
  Geometry multiGeom = gf.buildGeometry(geometries);
  LOG.info("unioning hull...");
  hull = multiGeom.union();
  LOG.trace("hull is {}", hull.toText());
  // may lead to false rejections
  // DouglasPeuckerSimplifier simplifier = new DouglasPeuckerSimplifier();
}

代码示例来源:origin: opentripplanner/OpenTripPlanner

Geometry u = geometryFactory.createMultiPolygon(allRings.toArray(new Polygon[allRings
    .size()]));
u = u.union();

代码示例来源:origin: opentripplanner/OpenTripPlanner

Collection<Geometry> buffers = bufferLists.get(threshold);
geom = geom.union(); // combine all individual buffers in this contour into one
if ( ! resultsProjected) geom = JTS.transform(geom, fromMeters);
contours.put(threshold, geom);

代码示例来源:origin: com.vividsolutions/jts

/**
 * Computes the union of two geometries, 
 * either of both of which may be null.
 * 
 * @param g0 a Geometry
 * @param g1 a Geometry
 * @return the union of the input(s)
 * or null if both inputs are null
 */
private Geometry unionWithNull(Geometry g0, Geometry g1)
{
  if (g0 == null && g1 == null)
    return null;
  if (g1 == null)
    return g0;
  if (g0 == null)
    return g1;
  
  return g0.union(g1);
}

代码示例来源:origin: com.vividsolutions/jts

private Geometry repeatedUnion(List geoms)
{
  Geometry union = null;
  for (Iterator i = geoms.iterator(); i.hasNext(); ) {
    Geometry g = (Geometry) i.next();
    if (union == null)
      union = (Geometry) g.clone();
    else
      union = union.union(g);
  }
  return union;
}

代码示例来源:origin: com.vividsolutions/jts

/**
 * Encapsulates the actual unioning of two polygonal geometries.
 * 
 * @param g0
 * @param g1
 * @return
 */
private Geometry unionActual(Geometry g0, Geometry g1)
{
  /*
  System.out.println(g0.getNumGeometries() + ", " + g1.getNumGeometries());
    if (g0.getNumGeometries() > 5) {
    System.out.println(g0);
    System.out.println(g1);
  }
  */
  
  //return bufferUnion(g0, g1);
  return restrictToPolygons(g0.union(g1));
}

代码示例来源:origin: com.vividsolutions/jts

/**
 * Computes the set-theoretic union of two {@link Geometry}s, using enhanced precision.
 * @param geom0 the first Geometry
 * @param geom1 the second Geometry
 * @return the Geometry representing the set-theoretic union of the input Geometries.
 */
public Geometry union(Geometry geom0, Geometry geom1)
{
 Geometry[] geom = removeCommonBits(geom0, geom1);
 return computeResultPrecision(geom[0].union(geom[1]));
}

代码示例来源:origin: com.vividsolutions/jts

public double measure(Geometry g1, Geometry g2)
{        
  double areaInt = g1.intersection(g2).getArea();
  double areaUnion = g1.union(g2).getArea();
  return areaInt / areaUnion;
}

代码示例来源:origin: com.vividsolutions/jts

Geometry result = geom0.union(geom1);
return result;

代码示例来源:origin: com.vividsolutions/jts

Geometry union = int0.union(int1);

代码示例来源:origin: org.orbisgis/h2gis

/**
 * @param a Geometry instance.
 * @param b Geometry instance
 * @return union of Geometries a and b
 */
public static Geometry union(Geometry a,Geometry b) {
  if(a==null || b==null) {
    return null;
  }
  return a.union(b);
}

代码示例来源:origin: org.geotools/gt-main

static public Geometry union(Geometry arg0,Geometry arg1)
{
   if (arg0 == null || arg1 == null) return null;
   Geometry _this = arg0;
   return _this.union(arg1);
}

代码示例来源:origin: org.geotools/gt2-main

static public Geometry union(Geometry arg0,Geometry arg1)
{
   Geometry _this = arg0;
   return _this.union(arg1);
}

代码示例来源:origin: org.orbisgis/h2spatial

/**
 * @param a Geometry instance.
 * @param b Geometry instance
 * @return union of Geometries a and b
 */
public static Geometry union(Geometry a,Geometry b) {
  if(a==null || b==null) {
    return null;
  }
  return a.union(b);
}

代码示例来源:origin: org.orbisgis/h2gis-functions

/**
 * @param a Geometry instance.
 * @param b Geometry instance
 * @return union of Geometries a and b
 */
public static Geometry union(Geometry a,Geometry b) {
  if(a==null || b==null) {
    return null;
  }
  return a.union(b);
}

代码示例来源:origin: com.vividsolutions/jts-core

private Geometry repeatedUnion(List geoms)
{
  Geometry union = null;
  for (Iterator i = geoms.iterator(); i.hasNext(); ) {
    Geometry g = (Geometry) i.next();
    if (union == null)
      union = (Geometry) g.clone();
    else
      union = union.union(g);
  }
  return union;
}

代码示例来源:origin: BaseXdb/basex

@Override
 public Item item(final QueryContext qc, final InputInfo ii) throws QueryException {
  return toElement(checkGeo(0, qc).union(checkGeo(1, qc)), qc);
 }
}

代码示例来源:origin: com.vividsolutions/jts-core

public double measure(Geometry g1, Geometry g2)
{        
  double areaInt = g1.intersection(g2).getArea();
  double areaUnion = g1.union(g2).getArea();
  return areaInt / areaUnion;
}

代码示例来源:origin: org.jboss.teiid/teiid-engine

public static GeometryType union(GeometryType geom1, GeometryType geom2) throws FunctionExecutionException {
  Geometry g1 = getGeometry(geom1);
  Geometry g2 = getGeometry(geom2);
  return getGeometryType(g1.union(g2));
}

代码示例来源:origin: org.teiid/teiid-engine

public static GeometryType union(GeometryType geom1, GeometryType geom2) throws FunctionExecutionException {
  Geometry g1 = getGeometry(geom1);
  Geometry g2 = getGeometry(geom2);
  return getGeometryType(g1.union(g2), geom1.getSrid());
}

相关文章