X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.elevation.server%2Fsrc%2Forg%2Fsimantics%2Fmaps%2Felevation%2Fserver%2FTiffTileInterface.java;fp=org.simantics.maps.elevation.server%2Fsrc%2Forg%2Fsimantics%2Fmaps%2Felevation%2Fserver%2FTiffTileInterface.java;h=6f24ad5b65073eec799ac66247c90180d14b9f4e;hb=60c060751f037be8f1643656327799f70a3504b1;hp=b85f234c72d935ef4121877e8d9cc299d73b3fed;hpb=2826bfa9f5ab4e4a8cf552a196102b3947e071a0;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.elevation.server/src/org/simantics/maps/elevation/server/TiffTileInterface.java b/org.simantics.maps.elevation.server/src/org/simantics/maps/elevation/server/TiffTileInterface.java index b85f234c..6f24ad5b 100644 --- a/org.simantics.maps.elevation.server/src/org/simantics/maps/elevation/server/TiffTileInterface.java +++ b/org.simantics.maps.elevation.server/src/org/simantics/maps/elevation/server/TiffTileInterface.java @@ -14,10 +14,10 @@ import java.util.stream.Stream; import org.geotools.geometry.DirectPosition2D; import org.geotools.geometry.Envelope2D; +import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.referencing.CRS; import org.opengis.geometry.DirectPosition; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.operation.MathTransform; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,16 +75,13 @@ public class TiffTileInterface { TiffInterface tifInterface = openTifInterface(tifFile); Envelope2D coords = tifInterface.getCornerCoords(); try { - MathTransform transform = CRS.findMathTransform(tifInterface.getCRS(), c4326); - DirectPosition2D min = new DirectPosition2D(); - DirectPosition2D max = new DirectPosition2D(); - transform.transform(new DirectPosition2D(coords.getMinX(), coords.getMinY()), min); - transform.transform(new DirectPosition2D(coords.getMaxX(), coords.getMaxY()), max); - Envelope envelope = new Envelope(min.getX(), max.getX(), min.getY(), max.getY()); + ReferencedEnvelope refEnv = new ReferencedEnvelope(coords); + ReferencedEnvelope targetEnv = refEnv.transform(c4326, false, 30); + synchronized(index) { - index.insert(envelope, tifFile); + index.insert(targetEnv, tifFile); } - envelopes.put(tifFile, envelope); + envelopes.put(tifFile, targetEnv); } catch (Exception e) { LOGGER.error("Could not initialize index for file {}", tifFile, e); } finally {