boolean intersects( Envelope env/* float minX2, float minY2, float maxX2, float maxY2 */) { // float minX1 = this.minX; // float minY1 = this.minY; // float maxX1 = this.maxX; // float maxY1 = this.maxY; // // // special case: this node is completely inside the region of the tilefile // if ( minX1 >= minX2 && maxX1 <= maxX2 && minY1 >= minY2 && maxY1 <= maxY2 ) { // return true; // } // // // left or right border of the tilefile lays inside the y-band of this node // if ( ( minX2 >= minX1 && minX2 <= maxX1 ) || ( maxX2 <= maxX1 && maxX2 >= minX1 ) ) { // if ( minY2 <= maxY1 && maxY2 >= minY1 ) { // return true; // } // } // // // top or bottom border of the tilefile lays inside the x-band of this node // if ( ( minY2 >= minY1 && minY2 <= maxY1 ) || ( maxY2 <= maxY1 && maxY2 >= minY1 ) ) { // if ( minX2 <= maxX1 && maxX2 >= minX1 ) { // return true; // } // } return this.env.intersects( env ); }
public List<AbstractRaster> getTiles( Envelope env ) { List<AbstractRaster> result = new ArrayList<AbstractRaster>(); for ( AbstractRaster r : tiles ) { if ( env.intersects( r.getEnvelope() ) ) { result.add( r ); } } return result; }
private static final void maybeAddPair( int num, Geometry g, boolean withGeometry, boolean exact, List<Pair<Integer, Geometry>> list, Envelope bbox ) { if ( exact ) { if ( bbox.intersects( g ) ) { list.add( new Pair<Integer, Geometry>( num, withGeometry ? g : null ) ); } } else { list.add( new Pair<Integer, Geometry>( num, g ) ); } }
private List<byte[][]> getIntersectingRegionsFromAllDatasets( Envelope bbox ) { List<byte[][]> regions = new ArrayList<byte[][]>( datasets.size() ); GdalDatasetPool pool = gdalSettings.getDatasetPool(); for ( File file : datasets ) { if ( bbox.intersects( gdalSettings.getDatasetPool().getEnvelope( file ) ) ) { GdalDataset dataset = null; try { dataset = pool.borrow( file ); regions.add( dataset.extractRegionAsByteArray( bbox, width, height, true ) ); } catch ( Exception e ) { LOG.error( "Error extracting region from dataset: " + e.getMessage(), e ); } finally { if ( dataset != null ) { try { pool.returnDataset( dataset ); } catch ( Exception e ) { LOG.error( "Error returning dataset to pool: " + e.getMessage() ); } } } } } return regions; }
if ( crs == null ) { intersects = rEnv.intersects( coverage.getEnvelope() ); } else { Iterator<Envelope> it = coverage.responseEnvelopes.iterator(); defEnv = coverage.getEnvelope(); intersects = rEnv.intersects( defEnv );
@Override public <T> boolean evaluate( T obj, XPathEvaluator<T> xpathEvaluator ) throws FilterEvaluationException { Expression param1 = getParam1(); if ( param1 != null ) { for ( TypedObjectNode paramValue : param1.evaluate( obj, xpathEvaluator ) ) { Geometry param1Value = checkGeometryOrNull( paramValue ); if ( param1Value != null ) { Envelope transformedBBox = (Envelope) getCompatibleGeometry( param1Value, param2 ); return transformedBBox.intersects( param1Value ); } } } else if ( obj instanceof Feature ) { // handle the case where the property name is empty Feature f = (Feature) obj; Envelope env = f.getEnvelope(); if ( env != null ) { Envelope transformedBBox = (Envelope) getCompatibleGeometry( env, param2 ); return transformedBBox.intersects( env ); } } else { LOG.warn( "Evaluating BBOX on non-Feature object and property name not specified." ); } return false; }
if ( !menvelope.intersects( envelope ) ) { return null;
if ( !workEnv.intersects( bbox ) ) {
if ( tileEnvelope.intersects( raster.getEnvelope() ) ) {