Java源码示例:org.opengis.filter.temporal.BegunBy
示例1
@Test
public void testBegunBy() throws ParseException {
Date date1 = dateFormat.parse("1970-07-19T01:02:03.456Z");
Instant temporalInstant = new DefaultInstant(new DefaultPosition(date1));
Date date2 = dateFormat.parse("1970-07-19T07:08:09.101Z");
Instant temporalInstant2 = new DefaultInstant(new DefaultPosition(date2));
Period period = new DefaultPeriod(temporalInstant, temporalInstant2);
BegunBy filter = ff.begunBy(ff.literal(period), ff.property("dateAttr"));
Map<String,Object> expected = ImmutableMap.of("term",
ImmutableMap.of("dateAttr", "1970-07-19T01:02:03.456Z"));
builder.visit(filter, null);
assertTrue(builder.createCapabilities().fullySupports(filter));
assertEquals(expected, builder.getQueryBuilder());
}
示例2
@Override
public Object visit(final BegunBy begunBy, final Object data) {
final TemporalConstraints leftResult =
(TemporalConstraints) begunBy.getExpression1().accept(this, data);
final TemporalConstraints rightResult =
(TemporalConstraints) begunBy.getExpression2().accept(this, data);
if (leftResult.isEmpty() || rightResult.isEmpty()) {
return new TemporalConstraints();
}
// property begun by value
if (leftResult instanceof ParameterTimeConstraint) {
return new ParameterTimeConstraint(
new TemporalRange(
rightResult.getMinOr(TemporalRange.START_TIME, 0),
TemporalRange.END_TIME),
leftResult.getName());
} else if (rightResult instanceof ParameterTimeConstraint) {
return new ParameterTimeConstraint(leftResult.getRanges(), rightResult.getName());
}
// property begins property
return new TemporalConstraints();
}
示例3
public ElasticCapabilities() {
super(new ElasticFilterCapabilities());
addAll(LOGICAL_OPENGIS);
addAll(SIMPLE_COMPARISONS_OPENGIS);
addType(PropertyIsNull.class);
addType(PropertyIsBetween.class);
addType(Id.class);
addType(IncludeFilter.class);
addType(ExcludeFilter.class);
addType(PropertyIsLike.class);
// spatial filters
addType(BBOX.class);
addType(Contains.class);
//addType(Crosses.class);
addType(Disjoint.class);
//addType(Equals.class);
addType(Intersects.class);
//addType(Overlaps.class);
//addType(Touches.class);
addType(Within.class);
addType(DWithin.class);
addType(Beyond.class);
//temporal filters
addType(After.class);
addType(Before.class);
addType(Begins.class);
addType(BegunBy.class);
addType(During.class);
addType(Ends.class);
addType(EndedBy.class);
addType(TContains.class);
addType(TEquals.class);
}
示例4
@Override
public Object visit(final BegunBy begunBy, final Object extraData) {
if (!usesProperty(begunBy)) {
return Filter.INCLUDE;
}
return super.visit(begunBy, extraData);
}
示例5
@Override
public Object visit(final BegunBy begunBy, final Object extraData) {
if (!usesProperty(begunBy)) {
return Filter.INCLUDE;
}
return super.visit(begunBy, extraData);
}
示例6
public Object visit(BegunBy begunBy, Object extraData) {
return visit((BinaryTemporalOperator)begunBy, BegunBy.NAME);
}
示例7
public Object visit(BegunBy begunBy, Object extraData) {
return visitBinaryTemporalOperator(begunBy, extraData);
}
示例8
/** {@inheritDoc} */
@Override
public Object visit(BegunBy begunBy, Object extraData) {
throw new UnsupportedOperationException("visit(Object userData)");
}