Object cloneFilter( BinarySpatialOperator bso, Object extraData, Expression ex1, Expression ex2) { return ff.crosses(ex1, ex2); } }.transform(filter, extraData);
/** * * <!-- 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.crosses(operands[0], operands[1]); } }
public BinarySpatialOperator buildSpatialCrossesFilter() 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.crosses(property, geom); }
/** * @return new instance of {@link Crosses} operation * @throws CQLException */ public Crosses buildCrosses() throws CQLException { Expression[] params = buildParameters(); return getFilterFactory().crosses(params[0], params[1]); }
public Object visit(Crosses 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.crosses(left, right, filter.getMatchAction()); combinedFilters.add(unrolled); } Filter unrolled = combineOred(combinedFilters); return unrolled; }
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()); } }
return FILTER_FACT.crosses(left, right);
public Object visit(Crosses filter, Object extraData) { Expression geometry1 = visit(filter.getExpression1(), extraData); Expression geometry2 = visit(filter.getExpression2(), extraData); return getFactory(extraData).crosses(geometry1, geometry2, filter.getMatchAction()); }
static Crosses crosses() { return f.crosses(f.property("the_geom"), f.literal(geometry())); }
public static Crosses crosses() { return f.crosses(f.property("the_geom"), f.literal(geometry())); }
return factory.crosses(geometry1, geometry2);
Object cloneFilter(BinarySpatialOperator bso, Object extraData, Expression ex1, Expression ex2) { return ff.crosses(ex1, ex2); } }.transform(filter, extraData);
/** * <!-- 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.crosses(operands[0], operands[1]); } }
/** * <!-- 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.crosses(operands[0], operands[1]); } }
public void testCrossesFilter() throws Exception { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null); // should match only "r2" GeometryFactory gf = new GeometryFactory(); PackedCoordinateSequenceFactory sf = new PackedCoordinateSequenceFactory(); LineString ls = gf.createLineString(sf.create(new double[] {2, 3, 4, 3}, 2)); Crosses cs = ff.crosses(ff.property(aname("geom")), ff.literal(ls)); FeatureCollection features = dataStore.getFeatureSource(tname("road")).getFeatures(cs); checkSingleResult(features, "r2"); }
public Object visit(Crosses 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.crosses(left, right, filter.getMatchAction()); combinedFilters.add(unrolled); } Filter unrolled = combineOred(combinedFilters); return unrolled; }
public BinarySpatialOperator buildSpatialCrossesFilter() 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.crosses(property, geom); }
public Object visit(Crosses filter, Object extraData) { Expression geometry1= visit(filter.getExpression1(), extraData); Expression geometry2= visit(filter.getExpression2(), extraData); return getFactory(extraData).crosses(geometry1, geometry2); }
public Object visit(Crosses filter, Object extraData) { Expression geometry1=(Expression) filter.getExpression1().accept(this, extraData); Expression geometry2=(Expression) filter.getExpression2().accept(this, extraData); return getFactory(extraData).crosses(geometry1, geometry2); }
filter = fac.contains(expr1, expr2); assertEquals(filter.getMatchAction(), MatchAction.ANY); filter = fac.crosses(expr1, expr2); assertEquals(filter.getMatchAction(), MatchAction.ANY); filter = fac.disjoint(expr1, expr2); filter = fac.contains(expr1, expr2, MatchAction.ALL); assertEquals(filter.getMatchAction(), MatchAction.ALL); filter = fac.crosses(expr1, expr2, MatchAction.ONE); assertEquals(filter.getMatchAction(), MatchAction.ONE); filter = fac.disjoint(expr1, expr2, MatchAction.ALL);