@Override public T intersects(final Geometry geometry) { target.add(new StandardGeoFieldCriteria(query, field, INTERSECTS, geometry, null)); return target; }
@Override public T within(final Polygon boundary, final CoordinateReferenceSystem crs) { target.add(new StandardGeoFieldCriteria(query, field, GEO_WITHIN, boundary, null, crs)); return target; }
@Override public T near(final Point point, final int maxDistance) { target.add(new StandardGeoFieldCriteria(query, field, FilterOperator.NEAR, point, maxDistance)); return target; }
@Override public T within(final MultiPolygon boundaries, final CoordinateReferenceSystem crs) { target.add(new StandardGeoFieldCriteria(query, field, GEO_WITHIN, boundaries, null, crs)); return target; }
@Override public T near(final Point point) { target.add(new StandardGeoFieldCriteria(query, field, FilterOperator.NEAR, point, null)); return target; }
@Override public T intersects(final Geometry geometry, final CoordinateReferenceSystem crs) { target.add(new StandardGeoFieldCriteria(query, field, INTERSECTS, geometry, null, crs)); return target; }
@Override public T within(final Polygon boundary) { target.add(new StandardGeoFieldCriteria(query, field, GEO_WITHIN, boundary, null)); return target; }
@Override public T within(final MultiPolygon boundaries) { target.add(new StandardGeoFieldCriteria(query, field, GEO_WITHIN, boundaries, null)); return target; }
private T addCriteria(final FilterOperator op, final Object val, final boolean not) { target.add(new FieldCriteria(query, field, op, val, not)); return target; }
private T addGeoCriteria(final FilterOperator op, final Object val, final Map<String, Object> opts) { if (not) { throw new QueryException("Geospatial queries cannot be negated with 'not'."); } target.add(new GeoFieldCriteria(query, field, op, val, opts)); return target; }