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

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

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

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);
}

相关文章