package org.simantics.maps.elevation.server;
+import java.awt.geom.Point2D;
import java.awt.image.DataBuffer;
import java.nio.file.Path;
import org.geotools.coverage.grid.GridCoverage2D;
import org.geotools.gce.geotiff.GeoTiffReader;
import org.geotools.geometry.Envelope2D;
+import org.geotools.geometry.TransformedDirectPosition;
import org.opengis.geometry.DirectPosition;
+import org.opengis.geometry.Envelope;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.operation.TransformException;
import org.simantics.maps.elevation.server.prefs.MapsElevationServerPreferences;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
}
+ public boolean contains(DirectPosition pos) {
+ ensureInit();
+ Envelope2D e = coverage.getEnvelope2D();
+ try {
+ TransformedDirectPosition tdp = new TransformedDirectPosition(pos.getCoordinateReferenceSystem(), crs, null);
+ tdp.transform(pos);
+
+ Point2D p = tdp.toPoint2D();
+
+ boolean contains = e.contains(p);
+ return contains;
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return false;
+ }
+ }
+
public Number lookup(DirectPosition pos) {
ensureInit();
Object r = coverage.evaluate(pos);