本文整理了Java中org.opengis.filter.FilterFactory2.id()
方法的一些代码示例,展示了FilterFactory2.id()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FilterFactory2.id()
方法的具体详情如下:
包路径:org.opengis.filter.FilterFactory2
类名称:FilterFactory2
方法名:id
暂无
代码示例来源:origin: geoserver/geoserver
public Object visit(Id filter, Object extraData) {
Set ids = filter.getIDs();
if (ids.isEmpty()) {
throw new IllegalArgumentException("Invalid fid filter provides, has no fids inside");
}
Set<FeatureId> fids = new HashSet<FeatureId>();
for (Iterator it = ids.iterator(); it.hasNext(); ) {
FeatureId id = new FeatureIdImpl((String) it.next());
FeatureId retyped =
RetypingFeatureCollection.reTypeId(
id, map.getFeatureType(), map.getOriginalFeatureType());
fids.add(retyped);
}
return ff.id(fids);
}
}
代码示例来源:origin: geoserver/geoserver
@Override
public Object visit(Id filter, Object extraData) {
Set<Identifier> identifiers = filter.getIdentifiers();
Set<Identifier> renamedIdentifiers =
identifiers
.stream()
.map(
id -> {
String name = id.getID().toString();
if (name.startsWith(prefix)) {
name = name.substring(prefix.length());
}
return getFactory(extraData).featureId(name);
})
.collect(Collectors.toSet());
return getFactory(extraData).id(renamedIdentifiers);
}
}
代码示例来源:origin: geotools/geotools
/**
* Gets the fid filter that contains all the fids.
*
* @return the fid filter that contains all the fids.
*/
public Id getFidFilter() {
if (current.isEmpty()) {
Set<FeatureId> empty = Collections.emptySet();
return ff.id(empty);
}
Data data = (Data) current.peek();
if (data.fids.size() > 0) {
Set<FeatureId> set = new HashSet<FeatureId>();
Set<String> fids = data.fids;
for (String fid : fids) {
set.add(ff.featureId(fid));
}
return ff.id(set);
} else {
Set<FeatureId> empty = Collections.emptySet();
return ff.id(empty);
}
}
代码示例来源:origin: geotools/geotools
/**
* Gets the fid filter that contains all the fids.
*
* @return the fid filter that contains all the fids.
*/
public Id getFidFilter() {
if (current.isEmpty()) {
Set<FeatureId> empty = Collections.emptySet();
return (Id) ff.id(empty);
}
Data data = (Data) current.peek();
if (data.fids.size() > 0) {
Set<FeatureId> set = new HashSet<FeatureId>();
Set<String> fids = data.fids;
for (String fid : fids) {
set.add(ff.featureId(fid));
}
return (Id) ff.id(set);
} else {
Set<FeatureId> empty = Collections.emptySet();
return (Id) ff.id(empty);
}
}
代码示例来源:origin: geotools/geotools
public Object visit(Id filter, Object extraData) {
return getFactory(extraData).id(filter.getIdentifiers());
}
代码示例来源:origin: geotools/geotools
/**
*
* <!-- begin-user-doc -->
* Surprised we actually have something to do: namely collapse multiple fid filters using AND
* <!-- end-user-doc -->
*
* @generated modifiable
*/
public Object parse(ElementInstance instance, Node node, Object value) throws Exception {
if (node.hasChild("FeatureId")) {
// round up into a featureId filter
HashSet fids = new HashSet();
fids.addAll(node.getChildValues("FeatureId"));
return factory.id(fids);
}
return node.getChildValue(Filter.class);
}
代码示例来源:origin: geotools/geotools
public Feature findFeature(FeatureId id, Hints hints) throws IOException {
for (Entry<Name, FeatureTypeMapping> mapping : mappings.entrySet()) {
if (Thread.currentThread().isInterrupted()) {
return null;
}
Filter filter = filterFac.id(id);
FeatureCollection<FeatureType, Feature> fCollection =
new MappingFeatureSource(this, mapping.getValue()).getFeatures(filter, hints);
FeatureIterator<Feature> iterator = fCollection.features();
try {
if (iterator.hasNext()) {
return iterator.next();
}
} finally {
iterator.close();
}
}
return null;
}
}
代码示例来源:origin: geotools/geotools
public void testFid() {
Id filter = fac.id(Collections.singleton(fac.featureId("fakeId")));
assertAttributeName(filter, new String[0]);
}
代码示例来源:origin: geotools/geotools
public static Id id() {
return f.id(
new LinkedHashSet<Identifier>(
Arrays.asList(
f.featureId("foo.1"), f.featureId("foo.2"), f.featureId("foo.3"))));
}
代码示例来源:origin: geotools/geotools
private void fireRemoved(final SimpleFeature removedFeature) {
String typeName = featureType.getTypeName();
BoundingBox bounds = removedFeature.getBounds();
ReferencedEnvelope referencedEnvelope = ReferencedEnvelope.reference(bounds);
String fid = removedFeature.getID();
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null);
Filter filter = ff.id(Collections.singleton(ff.featureId(fid)));
doFireFeaturesRemoved(typeName, referencedEnvelope, filter);
}
代码示例来源:origin: geotools/geotools
private void fireAdded(final SimpleFeature addedFeature) {
final String typeName = featureType.getTypeName();
final BoundingBox bounds = addedFeature.getBounds();
ReferencedEnvelope referencedEnvelope = ReferencedEnvelope.reference(bounds);
String fid = addedFeature.getID();
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null);
Filter filter = ff.id(Collections.singleton(ff.featureId(fid)));
doFireFeaturesAdded(typeName, referencedEnvelope, filter);
}
代码示例来源:origin: geotools/geotools
private void fireChanged(final SimpleFeature changedFeature) {
final String typeName = featureType.getTypeName();
final BoundingBox bounds = changedFeature.getBounds();
ReferencedEnvelope referencedEnvelope = ReferencedEnvelope.reference(bounds);
String fid = changedFeature.getID();
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null);
Filter filter = ff.id(Collections.singleton(ff.featureId(fid)));
doFireFeaturesChanged(typeName, referencedEnvelope, filter);
}
代码示例来源:origin: geotools/geotools
/** Example located on the wiki */
public void testDefaultFilterVisitorFeatureIdExample() {
Filter myFilter = ff.id(Collections.singleton(ff.featureId("fred")));
FilterVisitor allFids =
new DefaultFilterVisitor() {
public Object visit(Id filter, Object data) {
Set set = (Set) data;
set.addAll(filter.getIDs());
return set;
}
};
Set set = (Set) myFilter.accept(allFids, new HashSet());
assertEquals(1, set.size());
}
/** Example located on the wiki */
代码示例来源:origin: geotools/geotools
public void testIdCollector() {
Filter filter = ff.isNull(ff.property("name"));
Set fids = (Set) filter.accept(IdCollectorFilterVisitor.ID_COLLECTOR, new HashSet());
assertTrue(fids.isEmpty());
assertFalse(fids.contains("eclesia"));
filter = ff.id(Collections.singleton(ff.featureId("eclesia")));
fids = (Set) filter.accept(IdCollectorFilterVisitor.ID_COLLECTOR, new HashSet());
assertFalse(fids.isEmpty());
assertTrue(fids.contains("eclesia"));
}
}
代码示例来源: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 testFid() {
Id ff = fac.id(new HashSet<FeatureId>());
assertFalse(ff.evaluate(testFeature));
ff = fac.id(Collections.singleton(fac.featureId(testFeature.getID())));
assertTrue(ff.evaluate(testFeature));
assertFalse(ff.evaluate(null));
assertFalse(ff.evaluate(new Object()));
}
代码示例来源:origin: geotools/geotools
public static Id resourceId() {
ResourceIdImpl resourceId =
new ResourceIdImpl("foo.4", "", new Version(Version.Action.NEXT));
resourceId.setPreviousRid("previousRid");
resourceId.setStartTime(new Date(1000));
resourceId.setEndTime(new Date(2000));
Integer testInt = Integer.valueOf(1234567890);
return f.id(
new LinkedHashSet<Identifier>(
Arrays.asList(
f.featureId("foo.1", "v1"),
f.resourceId("foo.2", "", new Version(new Date(1000))), //
f.resourceId("foo.3", "", new Version(testInt)), //
resourceId)));
}
代码示例来源:origin: geotools/geotools
public void testNullFilterVisitor() {
Filter filter = ff.isNull(ff.property("name"));
assertEquals(Integer.valueOf(1), filter.accept(NullFilterVisitor.NULL_VISITOR, 1));
filter = Filter.INCLUDE;
assertEquals(Integer.valueOf(1), filter.accept(NullFilterVisitor.NULL_VISITOR, 1));
FilterVisitor allFids =
new NullFilterVisitor() {
public Object visit(Id filter, Object data) {
if (data == null) return null;
Set set = (Set) data;
set.addAll(filter.getIDs());
return set;
}
};
Filter myFilter = ff.id(Collections.singleton(ff.featureId("fred")));
Set set = (Set) myFilter.accept(allFids, new HashSet());
assertNotNull(set);
Set set2 = (Set) myFilter.accept(allFids, null); // set2 will be null
assertNull(set2);
}
代码示例来源:origin: geotools/geotools
public void testIdFinderFilterVisitor() {
Filter filter = ff.isNull(ff.property("name"));
boolean found = (Boolean) filter.accept(new IdFinderFilterVisitor(), null);
assertFalse(found);
filter = ff.id(Collections.singleton(ff.featureId("eclesia")));
found = (Boolean) filter.accept(new IdFinderFilterVisitor(), null);
assertTrue(found);
}
代码示例来源:origin: geotools/geotools
/**
* Mapping specifies station_no --> wq_plus/@id. A FidFilter over wq_plus type should result in
* a compare equals filter over the station_no attribute of wq_ir_results simple type.
*/
@Test
public void testUnrollFidMappedToAttribute() throws Exception {
String fid = "station_no.1";
Id fidFilter = ff.id(Collections.singleton(ff.featureId(fid)));
Filter unrolled = (Filter) fidFilter.accept(visitor, null);
assertNotNull(unrolled);
FeatureCollection<SimpleFeatureType, SimpleFeature> results =
mapping.getSource().getFeatures(unrolled);
assertEquals(1, getCount(results));
FeatureIterator<SimpleFeature> features = results.features();
SimpleFeature unmappedFeature = (SimpleFeature) features.next();
features.close();
assertNotNull(unmappedFeature);
Object object = unmappedFeature.getProperty("station_no").getValue();
assertEquals(fid, object);
}
内容来源于网络,如有侵权,请联系作者删除!