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

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

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

FilterFactory2.and介绍

暂无

代码示例

代码示例来源:origin: geoserver/geoserver

protected Filter intersection(Filter a, Filter b) {
  if (a == null) return b;
  if (b == null) return a;
  if (a == Filter.INCLUDE && b == Filter.INCLUDE) {
    return Filter.INCLUDE;
  } else if (a == Filter.EXCLUDE || b == Filter.EXCLUDE) {
    return Filter.EXCLUDE;
  } else {
    return factory.and(a, b);
  }
}

代码示例来源:origin: geoserver/geoserver

/**
 * If a definition query has been configured for the FeatureTypeInfo, makes and return a new
 * Filter that contains both the query's filter and the layer's definition one, by logic AND'ing
 * them.
 *
 * @param filter Origional user supplied Filter
 * @return Filter adjusted to the limitations of definitionQuery
 * @throws DataSourceException If the filter could not meet the limitations of definitionQuery
 */
protected Filter makeDefinitionFilter(Filter filter) throws DataSourceException {
  Filter newFilter = filter;
  try {
    if (definitionQuery != Filter.INCLUDE) {
      newFilter = ff.and(definitionQuery, filter);
    }
  } catch (Exception ex) {
    throw new DataSourceException("Can't create the definition filter", ex);
  }
  return newFilter;
}

代码示例来源:origin: geotools/geotools

public Object visit(And filter, Object arg1) {
  List list = visitBinaryLogicOp(filter);
  Filter unrolled = ff.and(list);
  return unrolled;
}

代码示例来源:origin: geotools/geotools

private BinaryLogicOperator createLogicOperator(
    BinaryLogicOperator originalOperator, List<Filter> filters) {
  if (originalOperator instanceof Or) {
    return ff.or(filters);
  } else {
    return ff.and(filters);
  }
}

代码示例来源:origin: geotools/geotools

public Object visit(And filter, Object extraData) {
  List<Filter> newChildren = children(filter, targetFilter, extraData);
  if (newChildren.isEmpty()) {
    // every time you remove a filter from an And
    // filter you get more stuff, so removing the last is ...
    return Filter.INCLUDE;
  } else if (newChildren.size() == 1) {
    return newChildren.get(0);
  } else {
    return getFactory(extraData).and(newChildren);
  }
}

代码示例来源:origin: geotools/geotools

public Object visit(And filter, Object extraData) {
  List<Filter> children = filter.getChildren();
  List<Filter> newChildren = new ArrayList<Filter>();
  for (Iterator<Filter> iter = children.iterator(); iter.hasNext(); ) {
    Filter child = iter.next();
    if (child != null) {
      Filter newChild = (Filter) child.accept(this, extraData);
      newChildren.add(newChild);
    }
  }
  return getFactory(extraData).and(newChildren);
}

代码示例来源:origin: geotools/geotools

public SimpleFeatureCollection subCollection(Filter filter) {
  FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
  Filter subFilter = ff.and(this.filter, filter);
  return new FilteringSimpleFeatureCollection(delegate, subFilter);
}

代码示例来源:origin: geotools/geotools

protected Filter partialIndexedFilter_2idxfilterResults() {
  FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
  List<Filter> filters =
      Arrays.asList(
          totallyIndexedFilter(),
          ff.like(ff.property(attLocationName), "*fer*"),
          totallyIndexedFilter2());
  Filter filter = ff.and(filters);
  return filter;
}

代码示例来源:origin: geotools/geotools

private Filter partialIndexedFilter_2idxfilterResults() {
    FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
    List<Filter> filters =
        Arrays.asList(
            totallyIndexedFilter(),
            ff.like(ff.property("st:location/st:name"), "*fer*"),
            totallyIndexedFilter2());
    Filter filter = ff.and(filters);
    return filter;
  }
}

代码示例来源:origin: geotools/geotools

private Filter partialIndexedFilter() {
  FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
  Filter filter =
      ff.and(
          totallyIndexedFilter(),
          ff.like(ff.property("st:location/st:name"), "*fer*"));
  return filter;
}

代码示例来源:origin: geotools/geotools

private Filter partialIndexedFilterXpath() {
    FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
    Filter filter =
        ff.and(
            ff.equals(ff.property("st:Station"), ff.literal("st.1")),
            ff.like(ff.property("st:Station/st:location/st:name"), "*fer*"));
    return filter;
  }
}

代码示例来源:origin: geotools/geotools

private Filter partialIndexedFilter() {
  FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
  Filter filter =
      ff.and(
          ff.equals(ff.property("ID"), ff.literal("st.1")),
          ff.like(ff.property("LOCATION_NAME"), "*fer*"));
  return filter;
}

代码示例来源:origin: geotools/geotools

@Test
public void testAndTemporalMetBy() throws Exception {
  final Period p = period("2016-01-01T00:00:00.000-0500", "2106-01-02T00:00:00.000-0500");
  final Filter f =
      ff.and(
          ff.bbox("geom", -10, -10, 10, 10, null),
          ff.metBy(ff.literal("someDate"), ff.literal(p)));
  final Envelope env = (Envelope) f.accept(visitor, null);
  assertEquals(new Envelope(-10, 10, -10, 10), env);
}

代码示例来源:origin: geotools/geotools

@Test
public void testAndTemporalAfter() throws Exception {
  final Instant start = instant("2016-01-01T00:00:00.000-0500");
  final Filter f =
      ff.and(
          ff.bbox("geom", -10, -10, 10, 10, null),
          ff.after(ff.literal("someDate"), ff.literal(start)));
  final Envelope env = (Envelope) f.accept(visitor, null);
  assertEquals(new Envelope(-10, 10, -10, 10), env);
}

代码示例来源:origin: geotools/geotools

@Test
public void testAndTemporalBegins() throws Exception {
  final Instant start = instant("2016-01-01T00:00:00.000-0500");
  final Filter f =
      ff.and(
          ff.bbox("geom", -10, -10, 10, 10, null),
          ff.begins(ff.literal("someDate"), ff.literal(start)));
  final Envelope env = (Envelope) f.accept(visitor, null);
  assertEquals(new Envelope(-10, 10, -10, 10), env);
}

代码示例来源:origin: geotools/geotools

@Test
public void testAndTemporalBegunBy() throws Exception {
  final Instant start = instant("2016-01-01T00:00:00.000-0500");
  final Filter f =
      ff.and(
          ff.bbox("geom", -10, -10, 10, 10, null),
          ff.begunBy(ff.literal("someDate"), ff.literal(start)));
  final Envelope env = (Envelope) f.accept(visitor, null);
  assertEquals(new Envelope(-10, 10, -10, 10), env);
}

代码示例来源:origin: geotools/geotools

@Test
public void testAndTemporalEndedBy() throws Exception {
  final Instant start = instant("2016-01-01T00:00:00.000-0500");
  final Filter f =
      ff.and(
          ff.bbox("geom", -10, -10, 10, 10, null),
          ff.endedBy(ff.literal("someDate"), ff.literal(start)));
  final Envelope env = (Envelope) f.accept(visitor, null);
  assertEquals(new Envelope(-10, 10, -10, 10), env);
}

代码示例来源:origin: geotools/geotools

@Test
public void testAndTemporalTEquals() throws Exception {
  final Period p = period("2016-01-01T00:00:00.000-0500", "2106-01-02T00:00:00.000-0500");
  final Filter f =
      ff.and(
          ff.bbox("geom", -10, -10, 10, 10, null),
          ff.tequals(ff.literal("someDate"), ff.literal(p)));
  final Envelope env = (Envelope) f.accept(visitor, null);
  assertEquals(new Envelope(-10, 10, -10, 10), env);
}

代码示例来源:origin: geotools/geotools

@Test
public void testAndTemporalBetween() throws Exception {
  final Instant start = instant("2016-01-01T00:00:00.000-0500");
  final Instant end = instant("2106-01-02T00:00:00.000-0500");
  final Filter f =
      ff.and(
          ff.bbox("geom", -10, -10, 10, 10, null),
          ff.between(ff.literal("someDate"), ff.literal(start), ff.literal(end)));
  final Envelope env = (Envelope) f.accept(visitor, null);
  assertEquals(new Envelope(-10, 10, -10, 10), env);
}

代码示例来源:origin: geotools/geotools

@Test
public void testLike() {
  PropertyIsLike like = ff.like(ff.property("a"), "*A*");
  NullHandlingVisitor visitor = new NullHandlingVisitor();
  Filter result = (Filter) like.accept(visitor, null);
  assertTrue(result instanceof And);
  Filter expected = ff.and(like, propertyNotNull("a"));
  assertEquals(expected, result);
  like = ff.like(ff.literal("a"), "*A*");
  result = (Filter) like.accept(visitor, null);
  assertEquals(like, result);
}

相关文章