@Override public boolean isWithin( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.within( jtsGeoms.second ); }
/** * Creates a "compatible" pair of JTS geometries from an {@link AbstractDefaultGeometry} and a second * {@link Geometry} instance. * * @param geom1 * @param geom2 * @return */ public static JTSGeometryPair createCompatiblePair( AbstractDefaultGeometry geom1, org.deegree.geometry.Geometry geom2 ) { return new JTSGeometryPair( geom1.getJTSGeometry(), AbstractDefaultGeometry.getAsDefaultGeometry( geom2 ).getJTSGeometry() ); }
@Override public boolean overlaps( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.overlaps( jtsGeoms.second ); }
@Override public boolean contains( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.contains( jtsGeoms.second ); }
@Override public boolean equals( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.equals( jtsGeoms.second ); }
@Override public boolean intersects( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.intersects( jtsGeoms.second ); }
@Override public boolean isDisjoint( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.disjoint( jtsGeoms.second ); }
@Override public boolean touches( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.touches( jtsGeoms.second ); }
@Override public boolean crosses( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.crosses( jtsGeoms.second ); }
@Override public boolean isWithinDistance( Geometry geometry, Measure distance ) { LOG.warn( "TODO: Respect UOM in evaluation of topological predicate." ); JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); return jtsGeoms.first.isWithinDistance( jtsGeoms.second, distance.getValueAsDouble() ); }
@Override public Geometry getUnion( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); com.vividsolutions.jts.geom.Geometry jtsGeom = jtsGeoms.first.union( jtsGeoms.second ); return createFromJTS( jtsGeom, crs ); }
@Override public Geometry getDifference( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); com.vividsolutions.jts.geom.Geometry jtsGeom = jtsGeoms.first.difference( jtsGeoms.second ); return createFromJTS( jtsGeom, crs ); }
@Override public Geometry getIntersection( Geometry geometry ) { JTSGeometryPair jtsGeoms = JTSGeometryPair.createCompatiblePair( this, geometry ); ICRS crs = this.crs; if ( crs == null ) { crs = geometry.getCoordinateSystem(); } com.vividsolutions.jts.geom.Geometry jtsGeom = jtsGeoms.first.intersection( jtsGeoms.second ); return createFromJTS( jtsGeom, crs ); }