/** * If composed constraints matched statistics constraints, are empty or null, then return empty * constraint set * * @param featureType * @param timeDescriptors * @param statsMap * @param timeBoundsSet * @return */ public static GeoConstraintsWrapper composeGeometricConstraints( final SimpleFeatureType featureType, final Map<StatisticsId, InternalDataStatistics<SimpleFeature, ?, ?>> statsMap, final Geometry jtsBounds) { if (jtsBounds == null) { return new GeoConstraintsWrapper(new Constraints(), true, null); } final GeoConstraintsWrapper geoConstraints = GeometryUtils.basicGeoConstraintsWrapperFromGeometry(jtsBounds); final Constraints statsConstraints = new Constraints(getBBOXIndexConstraintsFromIndex(featureType, statsMap)); if (geoConstraints.getConstraints().matches(statsConstraints)) { return new GeoConstraintsWrapper( new Constraints(), geoConstraints.isConstraintsMatchGeometry(), jtsBounds); } return geoConstraints; }
final Geometry geometry = geometryAndCompareOp.getGeometry(); final GeoConstraintsWrapper geoConstraints = GeometryUtils.basicGeoConstraintsWrapperFromGeometry(geometry);