本文整理了Java中org.opengis.filter.FilterFactory2.beyond()
方法的一些代码示例,展示了FilterFactory2.beyond()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FilterFactory2.beyond()
方法的具体详情如下:
包路径:org.opengis.filter.FilterFactory2
类名称:FilterFactory2
方法名:beyond
[英]Check if all of a geometry is more distant than the given distance from this object's geometry.
[中]检查所有几何体与该对象几何体的距离是否大于给定距离。
代码示例来源:origin: geotools/geotools
Object cloneFilter(
BinarySpatialOperator bso, Object extraData, Expression ex1, Expression ex2) {
Beyond filter = (Beyond) bso;
return ff.beyond(ex1, ex2, filter.getDistance(), filter.getDistanceUnits());
}
}.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);
double distance = ((Double) node.getChildValue(Double.class)).doubleValue();
Object units = node.getChild("Distance").getAttributeValue("units");
return filterFactory.beyond(
operands[0], operands[1], distance, units == null ? null : units.toString());
}
}
代码示例来源:origin: geotools/geotools
@Override
public Filter replaceExpressions(
Beyond filter, Expression expression1, Expression expression2) {
return ff.beyond(
expression1,
expression2,
filter.getDistance(),
filter.getDistanceUnits(),
filter.getMatchAction());
}
});
代码示例来源:origin: geotools/geotools
/**
* @throws SAXException
* @see org.geotools.xml.schema.Type#getValue(org.geotools.xml.schema.Element,
* org.geotools.xml.schema.ElementValue[], org.xml.sax.Attributes, java.util.Map)
*/
public Object getValue(Element element, ElementValue[] value, Attributes attrs, Map hints)
throws SAXException {
FilterFactory2 factory = FilterSchema.filterFactory(hints);
try {
Expression geometry1 = (Expression) value[0].getValue();
Expression geometry2 = (Expression) value[1].getValue();
Literal literal = (Literal) value[2];
double distance = ((Number) literal.getValue()).doubleValue();
return factory.beyond(geometry1, geometry2, distance, null);
} catch (ClassCastException wrong) {
throw new SAXException(wrong);
} catch (IllegalFilterException illegalFilterException) {
throw new SAXException(illegalFilterException);
}
}
代码示例来源:origin: geotools/geotools
public Object visit(Beyond 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.beyond(
left,
right,
filter.getDistance(),
filter.getDistanceUnits(),
filter.getMatchAction());
combinedFilters.add(unrolled);
}
Filter unrolled = combineOred(combinedFilters);
return unrolled;
}
代码示例来源:origin: geotools/geotools
public DistanceBufferOperator buildSpatialBeyondFilter() throws CQLException {
String unit = this.resultStack.popStringValue();
double tolerance = this.resultStack.popDoubleValue();
Expression geom = this.resultStack.popExpression();
Expression property = this.resultStack.popExpression();
FilterFactory2 ff =
(FilterFactory2)
filterFactory; // TODO this cast must be removed. It depends of Geometry
// implementation
return ff.beyond(property, geom, tolerance, unit);
}
代码示例来源:origin: geotools/geotools
if (value.getAttributes().getNamedItem("units") != null)
units = value.getAttributes().getNamedItem("units").getTextContent();
return FILTER_FACT.beyond(left, right, distance, units);
代码示例来源:origin: geotools/geotools
static Beyond beyond() {
return f.beyond(f.property("the_geom"), f.literal(geometry()), 1.0d, "m");
}
代码示例来源:origin: geotools/geotools
public static Beyond beyond() {
return f.beyond(f.property("the_geom"), f.literal(geometry()), 1.0d, "m");
}
代码示例来源:origin: geotools/geotools
public Object visit(Beyond filter, Object extraData) {
Expression geometry1 = visit(filter.getExpression1(), extraData);
Expression geometry2 = visit(filter.getExpression2(), extraData);
double distance = filter.getDistance();
String units = filter.getDistanceUnits();
return getFactory(extraData)
.beyond(geometry1, geometry2, distance, units, filter.getMatchAction());
}
代码示例来源:origin: geotools/geotools
Filter filter = fac.beyond(property, literal, 5, "x", MatchAction.ANY);
Filter expected =
fac.or(
new ArrayList<Filter>(
Arrays.asList(
fac.beyond(property, literal1, 5, "x", MatchAction.ANY),
fac.beyond(property, literal2, 5, "x", MatchAction.ANY),
fac.beyond(property, literal3, 5, "x", MatchAction.ANY))));
filter = fac.beyond(property, literal, 5, "x", MatchAction.ALL);
expected =
fac.and(
new ArrayList<Filter>(
Arrays.asList(
fac.beyond(property, literal1, 5, "x", MatchAction.ANY),
fac.beyond(property, literal2, 5, "x", MatchAction.ANY),
fac.beyond(property, literal3, 5, "x", MatchAction.ANY))));
filter = fac.beyond(property, literal, 5, "x", MatchAction.ONE);
expected =
fac.or(
new ArrayList<Filter>(
Arrays.asList(
fac.beyond(
property,
literal1,
MatchAction.ONE),
代码示例来源:origin: geotools/geotools
new LiteralExpressionImpl(gf.createPolygon(gf.createLinearRing(coords2), null));
Beyond filter = fac.beyond(left, right, 20, "m");
LOGGER.finer(filter.toString());
LOGGER.finer("contains feature: " + filter.evaluate(testFeature));
assertFalse(filter.evaluate(testFeature));
filter = fac.beyond(left, right, 2, "m");
LOGGER.finer("contains feature: " + filter.evaluate(testFeature));
assertTrue(filter.evaluate(testFeature));
coords2[4] = new Coordinate(20, 20);
right = fac.literal(gf.createPolygon(gf.createLinearRing(coords2), null));
filter = fac.beyond(left, right, 2, "m");
LOGGER.finer(filter.toString());
LOGGER.finer("contains feature: " + filter.evaluate(testFeature));
filter = fac.beyond(left, right, 2, "m");
LOGGER.finer(filter.toString());
LOGGER.finer("contains feature: " + filter.evaluate(testFeature));
代码示例来源:origin: geotools/geotools
private void assertBeyondFilter(int expectedMatches, double distance, String unit)
throws IOException {
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null);
final PropertyName geomProperty = ff.property(aname("geometry"));
final ContentFeatureSource features = dataStore.getFeatureSource(tname("ft1"));
// too short distance
Beyond filter = ff.beyond(geomProperty, ff.literal(REFERENCE_POINT), distance, unit);
FeatureCollection fc = features.getFeatures(filter);
assertEquals(expectedMatches, fc.size());
}
}
代码示例来源:origin: geotools/geotools
@Test
public void testBeyond() {
Coordinate[] coords = new Coordinate[] {new Coordinate(0, 0), new Coordinate(10, 10)};
LineString lineString = new GeometryFactory().createLineString(coords);
Filter filter = ff.beyond(ff.property("name"), ff.literal(lineString), 100, "m");
Envelope env = (Envelope) filter.accept(visitor, null);
assertEquals(infinity, env);
}
代码示例来源:origin: geotools/geotools
@Test
public void testNotBeyond() {
Coordinate[] coords = new Coordinate[] {new Coordinate(0, 0), new Coordinate(10, 10)};
LineString lineString = new GeometryFactory().createLineString(coords);
Filter filter = ff.beyond(ff.property("name"), ff.literal(lineString), 100, "m");
Envelope env = (Envelope) filter.accept(visitor, null);
// the thing is not so smart to assess that not(beyond) -> within, but we have to make
// sure that at least the returned envelope contains the real one
assertEquals(infinity, env);
}
代码示例来源:origin: org.geotools/gt-main
Object cloneFilter(BinarySpatialOperator bso, Object extraData, Expression ex1,
Expression ex2) {
Beyond filter = (Beyond) bso;
return ff.beyond(ex1, ex2, filter.getDistance(), filter.getDistanceUnits());
}
}.transform(filter, extraData);
代码示例来源:origin: locationtech/geogig
@Override
public Filter[] visit(Beyond filter, Object extraData) {
return boundedOp(filter,
(g1, g2) -> ff.beyond(g1, g2, filter.getDistance(), filter.getDistanceUnits()),
false);
}
代码示例来源:origin: org.geotools/gt-main
public Object visit(Beyond filter, Object extraData) {
Expression geometry1= visit(filter.getExpression1(), extraData);
Expression geometry2= visit(filter.getExpression2(), extraData);
double distance=filter.getDistance();
String units=filter.getDistanceUnits();
return getFactory(extraData).beyond(geometry1, geometry2, distance, units);
}
代码示例来源:origin: org.geoserver/gs-wfs
public Object visit(Beyond filter, Object extraData) {
Expression geometry1 = visitBinaryChild(filter.getExpression1(), extraData, 0);
Expression geometry2 = visitBinaryChild(filter.getExpression2(), extraData, 1);
double distance = filter.getDistance();
String units = filter.getDistanceUnits();
return getFactory(extraData)
.beyond(geometry1, geometry2, distance, units, filter.getMatchAction());
}
代码示例来源:origin: geotools/geotools
filter = fac.beyond(expr1, expr2, 0.1, "");
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.beyond(expr1, expr2, 0.1, "");
assertEquals(filter.getMatchAction(), MatchAction.ANY);
filter = fac.contains(expr1, expr2);
filter = fac.beyond(expr1, expr2, 0.1, "", MatchAction.ALL);
assertEquals(filter.getMatchAction(), MatchAction.ALL);
filter = fac.beyond(expr1, expr2, 0.1, "", MatchAction.ONE);
assertEquals(filter.getMatchAction(), MatchAction.ONE);
filter = fac.contains(expr1, expr2, MatchAction.ALL);
内容来源于网络,如有侵权,请联系作者删除!