@Override protected ExplicitSpatialTemporalQuery newConstraints() { return new ExplicitSpatialTemporalQuery(); }
@Override public QueryConstraints build() { if ((crsCode != null) && (geometry == null)) { LOGGER.warn( "CRS code `" + crsCode + "` cannot be applied without a geometry. Ignoring CRS."); } if ((spatialCompareOp != null) && (geometry == null)) { LOGGER.warn( "Spatial compare operator `" + spatialCompareOp.name() + "` cannot be applied without a geometry. Ignoring compare operator."); } if (geometry != null) { // its at least spatial if (timeRanges.length > 0) { // its spatial-temporal return new SpatialTemporalQuery( new ExplicitSpatialTemporalQuery(timeRanges, geometry, crsCode, spatialCompareOp)); } return new SpatialQuery(new ExplicitSpatialQuery(geometry, crsCode, spatialCompareOp)); } else if (timeRanges.length > 0) { // its temporal only return new TemporalQuery(new ExplicitTemporalQuery(timeRanges)); } return new EverythingQuery(); } }
new ExplicitSpatialTemporalQuery(startDate, endDate, filterGeometry, crsCode));