ReferencedEnvelope.reference(handler.getOriginalEnvelope()); if (CRS.equalsIgnoreMetadata(requestedEnvelope, dataEnvelope)) { if (!requestedEnvelope.intersects((BoundingBox) dataEnvelope)) { return null; ReferencedEnvelope de84 = dataEnvelope.transform(DefaultGeographicCRS.WGS84, true); if (!re84.intersects((BoundingBox) de84)) { return null;
protected void mergeEnvelopes(List<ReferencedEnvelope> envelopes) { // the envelopes generated might overlap, check and merge if necessary, we // don't want the data backend to deal with ORs against the spatial index // unless necessary boolean merged = true; while (merged && envelopes.size() > 1) { merged = false; for (int i = 0; i < envelopes.size() - 1; i++) { ReferencedEnvelope curr = envelopes.get(i); for (int j = i + 1; j < envelopes.size(); ) { ReferencedEnvelope next = envelopes.get(j); if (curr.intersects((Envelope) next)) { curr.expandToInclude(next); envelopes.remove(j); merged = true; } else { j++; } } } } }
/** * Check if the region defined by <code>other</code> overlaps (intersects) the region of this * <code>Envelope</code>. * * @param other the <code>Envelope</code> which this <code>Envelope</code> is being checked for * overlapping * @return <code>true</code> if the <code>Envelope</code>s overlap */ public boolean intersects(ReferencedEnvelope3D other) { if (isNull() || other.isNull()) { return false; } return super.intersects((Envelope) other) && !(other.minz > maxz || other.maxz < minz); }
/** * Adds the geometries into the collection by recursively splitting apart geometry collections, * so that geoms will contains only simple geometries. * * @param geoms * @param geometry * @param geomType * @return the geometry type that all geometries added to the collection conform to. Worst case * it's going to be Geometry.class */ private Class accumulate(List<Geometry> geoms, Geometry geometry, Class geomType) { Class gtype = null; for (int i = 0; i < geometry.getNumGeometries(); i++) { Geometry g = geometry.getGeometryN(i); if (g instanceof GeometryCollection) { gtype = accumulate(geoms, g, geomType); } else { if (renderingEnvelope.intersects(g.getEnvelopeInternal())) { geoms.add(g); gtype = g.getClass(); } } if (gtype == null) { gtype = g.getClass(); } else if (geomType != null && !g.getClass().equals(geomType)) { gtype = Geometry.class; } } return gtype; }
if (!computedBBox.intersects((BoundingBox) coverageProperties.bbox)) { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.fine(
reqExtentInTileCrs.intersects((Envelope) rightNeighbour.getExtent()); if (intersects) { if (LOGGER.isLoggable(Level.FINE)) { reqExtentInTileCrs.intersects((Envelope) lowerNeighbour.getExtent());
if (!extent.intersects((Envelope) getBounds())) { return Collections.emptySet(); if (extent.intersects((Envelope) rightNeighbour.getExtent()) && !firstTileOfRow.equals(rightNeighbour)) { if (extent.intersects((Envelope) lowerNeighbour.getExtent()) && !firstTile.equals(lowerNeighbour)) {
reqExtentInTileCrs.getCoordinateReferenceSystem()); if (sameCRS) { if (!coverageEnvelope.intersects((BoundingBox) reqExtentInTileCrs)) { if (LOGGER.isLoggable(Level.FINE)) LOGGER.log(Level.FINE, "Extents do not intersect (sameCRS))"); if (!dataEnvelopeWGS84.intersects((BoundingBox) requestEnvelopeWGS84)) { if (LOGGER.isLoggable(Level.FINE)) LOGGER.log(Level.FINE, "Extents do not intersect");
new ReferencedEnvelope(geometry.getEnvelopeInternal(), crs); if (!coverageEnvelope.intersects((Envelope) geometryEnvelope)) { roiInput.getEnvelopeInternal(), source.getCoordinateReferenceSystem2D()) .intersects((Envelope) new ReferencedEnvelope(envelope))) { if (coverageEnvelope.intersects((Envelope) maskEnvelope)) {
if (!mosaicBBox.intersects((BoundingBox) ReferencedEnvelope.reference(coverageEnvelope)) && !mosaicBBox.intersects( (BoundingBox) ReferencedEnvelope.reference(
if (!approximateWGS84requestedBBox.intersects((BoundingBox) coverageGeographicBBox)) { requestedBBox = null; return;
roiInput.getEnvelopeInternal(), source.getCoordinateReferenceSystem2D()) .intersects((Envelope) new ReferencedEnvelope(envelope))) { final java.awt.Polygon shapePolygon = convertPolygon(roiInput, worldToGridTransform);
geometry.getEnvelopeInternal(), dataCoverage.getCoordinateReferenceSystem()); if (!coverageEnvelope.intersects((Envelope) geometryEnvelope)) {
query.setProperties(attributes); Envelope bounds = source.getBounds(); if (bounds != null && envelope.intersects(bounds)) { LOGGER.log( Level.WARNING,
gtype = accumulate(geoms, g, geomType); } else { if(renderingEnvelope.intersects(g.getEnvelopeInternal())) { geoms.add(g); gtype = g.getClass();
private void processGeometry(Geometry geometry, Number value) { if (!Extent.intersects(geometry.getEnvelopeInternal())) { return; } // update statistics updateStatistics(value.doubleValue()); g2D.setPaint(valueToColor(value)); int numGeom = geometry.getNumGeometries(); for (int i = 0; i < numGeom; i++) { Geometry geomN = geometry.getGeometryN(i); drawSingleGeometry(geomN); } }
private void processGeometry(Geometry geometry, Number value) { if (!Extent.intersects(geometry.getEnvelopeInternal())) { return; } // update statistics updateStatistics(value.doubleValue()); g2D.setPaint(valueToColor(value)); int numGeom = geometry.getNumGeometries(); for (int i = 0; i < numGeom; i++) { Geometry geomN = geometry.getGeometryN(i); drawSingleGeometry(geomN); } }
for (int j = i + 1; j < envelopes.size();) { ReferencedEnvelope next = envelopes.get(j); if (curr.intersects((Envelope) next)) { curr.expandToInclude(next); envelopes.remove(j);
.getOriginalExtent(); assertFalse(bounds.intersects(layerBounds.getMinX(), layerBounds.getMinY())); assertFalse(bounds.intersects(layerBounds.getMaxX(), layerBounds.getMaxY()));
if (bounds.intersects(geometry.getEnvelopeInternal())) { Filter filter = getIntersectsFilter(geomField, geometry);