org.opengis.filter.FilterFactory2.overlaps()方法的使用及代码示例

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

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

FilterFactory2.overlaps介绍

[英]Checks if the interior of the first geometry somewhere overlaps the interior of the second geometry.
[中]检查第一个几何图形的内部是否与第二个几何图形的内部重叠。

代码示例

代码示例来源:origin: geotools/geotools

Object cloneFilter(
      BinarySpatialOperator bso, Object extraData, Expression ex1, Expression ex2) {
    return ff.overlaps(ex1, ex2);
  }
}.transform(filter, extraData);

代码示例来源:origin: geotools/geotools

/**
   *
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated modifiable
   */
  public Object parse(ElementInstance instance, Node node, Object value) throws Exception {
    Expression[] operands = OGCUtils.spatial(node, filterFactory, geometryFactory);

    return filterFactory.overlaps(operands[0], operands[1]);
  }
}

代码示例来源:origin: geotools/geotools

public Object visit(Overlaps filter, Object arg1) {
  Expression[][] exps = visitBinarySpatialOp(filter);
  List combinedFilters = new ArrayList(exps.length);
  for (int i = 0; i < exps.length; i++) {
    Expression left = exps[i][0];
    Expression right = exps[i][1];
    Filter unrolled = ff.overlaps(left, right, filter.getMatchAction());
    combinedFilters.add(unrolled);
  }
  Filter unrolled = combineOred(combinedFilters);
  return unrolled;
}

代码示例来源:origin: geotools/geotools

public BinarySpatialOperator buildSpatialOverlapsFilter() throws CQLException {
  Literal geom = this.resultStack.popLiteral();
  Expression property = this.resultStack.popExpression();
  FilterFactory2 ff =
      (FilterFactory2)
          filterFactory; // TODO this cast must be removed. It depends of Geometry
  // implementation
  return ff.overlaps(property, geom);
}

代码示例来源:origin: geotools/geotools

/**
 * @return new instance of {@link Within} operation
 * @throws CQLException
 */
public Overlaps buildOverlaps() throws CQLException {
  Expression[] params = buildParameters();
  return getFilterFactory().overlaps(params[0], params[1]);
}

代码示例来源:origin: geotools/geotools

private Filter mergeOperations(String propertyName, List<SpatialOperation> ops) {
  // prepare the property name
  PropertyName property = FF.property(propertyName);
  // prepare united the geometry
  Geometry[] geomArray = new Geometry[ops.size()];
  for (int i = 0; i < geomArray.length; i++) {
    geomArray[i] = ops.get(i).geometry;
  }
  GeometryCollection collection =
      geomArray[0].getFactory().createGeometryCollection(geomArray);
  Geometry united = collection.union();
  Literal geometry = FF.literal(united);
  // rebuild the filter
  Class<?> operation = ops.get(0).operation;
  if (BBOX.class.isAssignableFrom(operation)
      || Intersects.class.isAssignableFrom(operation)) {
    return FF.intersects(property, geometry);
  } else if (Crosses.class.isAssignableFrom(operation)) {
    return FF.crosses(property, geometry);
  } else if (Overlaps.class.isAssignableFrom(operation)) {
    return FF.overlaps(property, geometry);
  } else if (Touches.class.isAssignableFrom(operation)) {
    return FF.touches(property, geometry);
  } else {
    throw new IllegalArgumentException("Cannot merge operation " + operation.getName());
  }
}

代码示例来源:origin: geotools/geotools

return FILTER_FACT.overlaps(left, right);

代码示例来源:origin: geotools/geotools

public Object visit(Overlaps filter, Object extraData) {
  Expression geometry1 = visit(filter.getExpression1(), extraData);
  Expression geometry2 = visit(filter.getExpression2(), extraData);
  return getFactory(extraData).overlaps(geometry1, geometry2, filter.getMatchAction());
}

代码示例来源:origin: geotools/geotools

public static Overlaps overlaps() {
  return f.overlaps(f.property("the_geom"), f.literal(geometry()));
}

代码示例来源:origin: geotools/geotools

static Overlaps overlaps() {
  return f.overlaps(f.property("the_geom"), f.literal(geometry()));
}

代码示例来源:origin: geotools/geotools

return factory.overlaps(geometry1, geometry2);

代码示例来源:origin: geotools/geotools

@Test
  public void testOverlaps() {
    ff.overlaps(ff.property("geom"), ff.literal(null)).accept(visitor, null);
    assertTrue(visitor.hasSpatialFilter);
  }
}

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

/**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated modifiable
   */
  public Object parse(ElementInstance instance, Node node, Object value)
    throws Exception {
    Expression[] operands = OGCUtils.spatial(node, filterFactory, geometryFactory);

    return filterFactory.overlaps(operands[0], operands[1]);
  }
}

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

/**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated modifiable
   */
  public Object parse(ElementInstance instance, Node node, Object value)
    throws Exception {
    Expression[] operands = OGCUtils.spatial(node, filterFactory, geometryFactory);

    return filterFactory.overlaps(operands[0], operands[1]);
  }
}

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

public BinarySpatialOperator buildSpatialOverlapsFilter() throws CQLException {
  Literal geom = this.resultStack.popLiteral();
  Expression property = this.resultStack.popExpression();
  FilterFactory2 ff = (FilterFactory2) filterFactory; // TODO this cast must be removed. It depends of Geometry implementation 
  return ff.overlaps(property, geom);
}
public org.opengis.filter.spatial.BBOX buildBBox() throws CQLException{

代码示例来源:origin: geotools/geotools

list.add(geom4);
filter = fac.overlaps(new LiteralExpressionImpl(list), new LiteralExpressionImpl(geom1));
assertFalse(filter.evaluate(null));
filter = fac.overlaps(new LiteralExpressionImpl(geom1), new LiteralExpressionImpl(list));
assertFalse(filter.evaluate(null));
filter = fac.disjoint(new LiteralExpressionImpl(geom1), new LiteralExpressionImpl(list));
filter = fac.overlaps(new LiteralExpressionImpl(list), new LiteralExpressionImpl(geom1));
assertTrue(filter.evaluate(null));
filter = fac.overlaps(new LiteralExpressionImpl(geom1), new LiteralExpressionImpl(list));
assertTrue(filter.evaluate(null));

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

public Object visit(Overlaps filter, Object extraData) {
  Expression geometry1=(Expression) filter.getExpression1().accept(this, extraData);
  Expression geometry2=(Expression) filter.getExpression2().accept(this, extraData);
  return getFactory(extraData).overlaps(geometry1, geometry2);
}

代码示例来源:origin: geotools/geotools

fac.overlaps(
    new LiteralExpressionImpl(list),
    new LiteralExpressionImpl(geom1),
fac.overlaps(
    new LiteralExpressionImpl(list),
    new LiteralExpressionImpl(geom1),

代码示例来源:origin: geotools/geotools

fac.overlaps(
    new LiteralExpressionImpl(list),
    new LiteralExpressionImpl(geom1),
fac.overlaps(
    new LiteralExpressionImpl(list),
    new LiteralExpressionImpl(geom1),
fac.overlaps(
    new LiteralExpressionImpl(list),
    new LiteralExpressionImpl(geom1),

代码示例来源:origin: geotools/geotools

filter = fac.intersects(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.overlaps(expr1, expr2);
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.touches(expr1, expr2);
filter = fac.intersects(expr1, expr2, MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.overlaps(expr1, expr2, MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.touches(expr1, expr2, MatchAction.ONE);

相关文章