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;
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 {