本文整理了Java中org.opengis.filter.Filter.accept()
方法的一些代码示例,展示了Filter.accept()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Filter.accept()
方法的具体详情如下:
包路径:org.opengis.filter.Filter
类名称:Filter
方法名:accept
[英]Accepts a visitor.
Implementations of all subinterfaces must have with a method whose content is the following:
return visitor.
FilterVisitor#visit(this, extraData);
[中]接待来访者。
所有子接口的实现必须具有以下内容的方法:
return visitor.
FilterVisitor#visit(this, extraData);
代码示例来源:origin: geoserver/geoserver
/**
* Retypes a filter making sure the fids are using the internal typename prefix
*
* @param filter
* @param typeMap
*/
Filter retypeFilter(Filter filter, FeatureTypeMap typeMap) {
FidTransformeVisitor visitor = new FidTransformeVisitor(typeMap);
return (Filter) filter.accept(visitor, null);
}
代码示例来源:origin: geoserver/geoserver
static Filter unmapIdentifiers(Filter filter, String viewName) {
GranuleStoreViewFilterVisitor visitor = new GranuleStoreViewFilterVisitor(viewName);
return (Filter) filter.accept(visitor, null);
}
代码示例来源:origin: geoserver/geoserver
public SimpleFeatureCollection subCollection(Filter filter) {
// reproject the filter to the delegate native crs
CoordinateReferenceSystem crs = getSchema().getCoordinateReferenceSystem();
CoordinateReferenceSystem crsDelegate = delegate.getSchema().getCoordinateReferenceSystem();
if (crs != null) {
DefaultCRSFilterVisitor defaulter = new DefaultCRSFilterVisitor(FF, crs);
filter = (Filter) filter.accept(defaulter, null);
if (crsDelegate != null && !CRS.equalsIgnoreMetadata(crs, crsDelegate)) {
ReprojectingFilterVisitor reprojector =
new ReprojectingFilterVisitor(FF, delegate.getSchema());
filter = (Filter) filter.accept(reprojector, null);
}
}
SimpleFeatureCollection sub = delegate.subCollection(filter);
if (sub != null) {
try {
ReprojectingFeatureCollection wrapper =
new ReprojectingFeatureCollection(sub, target);
wrapper.setDefaultSource(defaultSource);
return wrapper;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return null;
}
代码示例来源:origin: geoserver/geoserver
Filter defaultedFilter = (Filter) filter.accept(defaultCRSVisitor, null);
Filter reprojectedFilter = (Filter) defaultedFilter.accept(reprojectingVisitor, null);
代码示例来源:origin: geotools/geotools
/**
* Quickly look at the filter and determine the OperationName we need to check for in the
* FilterCapabilities data structure.
*
* @param filter
* @return Operation name
*/
public String toOperationName(Filter filter) {
if (filter == null) return null;
return (String) filter.accept(operationNameVisitor, null);
}
代码示例来源:origin: geotools/geotools
protected Filter expandBBox(Filter filter, double distance) {
return (Filter)
filter.accept(
new BBOXExpandingFilterVisitor(distance, distance, distance, distance),
null);
}
代码示例来源:origin: geotools/geotools
@Override
public Object visit(Or filter, Object extraData) {
List<Filter> children = filter.getChildren();
for (Filter child : children) {
child.accept(this, extraData);
}
return extraData;
}
代码示例来源:origin: geotools/geotools
protected Filter aliasFilter(Filter filter, SimpleFeatureType featureType, String alias) {
JoinQualifier jq = new JoinQualifier(featureType, alias);
Filter resultFilter = (Filter) filter.accept(jq, null);
return resultFilter;
}
代码示例来源:origin: geotools/geotools
/**
* Generates the cql predicate associated to the {@link Filter} object.
*
* @param filter
* @return cql predicate
*/
public static String toCQL(Filter filter) {
FilterToCQL toCQL = new FilterToCQL();
StringBuilder output = (StringBuilder) filter.accept(toCQL, new StringBuilder());
return output.toString();
}
/**
代码示例来源:origin: geotools/geotools
public static Object buildNot(FilterVisitor filterToCQL, Not filter, Object extraData) {
StringBuilder output = asStringBuilder(extraData);
output.append("NOT (");
filter.getFilter().accept(filterToCQL, output);
output.append(")");
return output;
}
代码示例来源:origin: geotools/geotools
public Object visit(Or filter, Object data) {
if (data == null) return null;
if (filter.getChildren() != null) {
for (Filter child : filter.getChildren()) {
data = child.accept(this, data);
if (data == null) return null;
}
}
return data;
}
代码示例来源:origin: geotools/geotools
/** overrides just to avoid the "WHERE" keyword */
@Override
public void encode(Filter filter) throws FilterToSQLException {
if (getCapabilities().fullySupports(filter)) {
filter.accept(this, null);
} else {
throw new FilterToSQLException("Filter type not supported");
}
}
代码示例来源:origin: geotools/geotools
DBObject toQuery(Filter f) {
if (isAll(f)) {
return new BasicDBObject();
}
FilterToMongo v = new FilterToMongo(mapper);
v.setFeatureType(getSchema());
return (DBObject) f.accept(v, null);
}
代码示例来源:origin: geotools/geotools
/** Make sure it does not break with non spatial filters */
public void testNoProjection() {
Filter idFilter = ff.id(Collections.singleton(ff.featureId("testType:1")));
Filter clone = (Filter) idFilter.accept(reprojector, null);
assertNotSame(idFilter, clone);
assertEquals(idFilter, clone);
}
代码示例来源:origin: geotools/geotools
public void testNegateLessOrEqual() {
Filter f = ff.not(ff.lessOrEqual(ff.property("prop"), ff.literal(10)));
Filter result = (Filter) f.accept(simpleVisitor, null);
assertEquals(ff.greater(ff.property("prop"), ff.literal(10)), result);
// not simplified for complex features
result = (Filter) f.accept(complexVisitor, null);
assertEquals(f, result);
}
代码示例来源:origin: geotools/geotools
@Test
public void testVisitFidFilter() throws Exception {
HashSet ids = new HashSet();
ids.add(ff.featureId("david"));
Filter filter = ff.id(ids);
visitor = newVisitor(newCapabilities(Id.class));
filter.accept(visitor, null);
assertEquals(Filter.INCLUDE, visitor.getFilterPost());
assertEquals(filter, visitor.getFilterPre());
}
代码示例来源:origin: geotools/geotools
public void testDualFilterNullOr() {
Filter original =
ff.or(
Arrays.asList(
ff.not(ff.isNull(ff.property("a"))), ff.isNull(ff.property("a"))));
assertEquals(Filter.INCLUDE, original.accept(simpleVisitor, null));
}
代码示例来源:origin: geotools/geotools
public void testDualFilterAnd() {
Filter original =
ff.and(
Arrays.asList(
ff.not(ff.equal(ff.property("a"), ff.literal(3), true)),
ff.equal(ff.property("a"), ff.literal(3), true)));
assertEquals(Filter.EXCLUDE, original.accept(simpleVisitor, null));
}
代码示例来源:origin: geotools/geotools
@Test
public void testDWithin() {
Point geom = new GeometryFactory().createPoint(new Coordinate(0, 0));
Filter filter = ff.dwithin(ff.property("name"), ff.literal(geom), 100, "metre");
Envelope env = (Envelope) filter.accept(visitor, null);
assertEquals(new Envelope(-100, 100, -100, 100), env);
}
代码示例来源:origin: geotools/geotools
@Test
public void testDisjoint() {
Coordinate[] coords = new Coordinate[] {new Coordinate(0, 0), new Coordinate(10, 10)};
LineString lineString = new GeometryFactory().createLineString(coords);
Filter filter = ff.disjoint(ff.property("name"), ff.literal(lineString));
Envelope env = (Envelope) filter.accept(visitor, null);
assertEquals(infinity, env);
}
内容来源于网络,如有侵权,请联系作者删除!