geotiffjs / geotiff.js

geotiff.js is a small library to parse TIFF files for visualization or analysis. It is written in pure JavaScript, and is usable in both the browser and node.js applications.
https://geotiffjs.github.io/
MIT License
859 stars 179 forks source link

improved getBoundingBox support for skewed/rotated images #361

Closed DanielJDufour closed 1 year ago

DanielJDufour commented 1 year ago

GeoTIFFImage doesn't currently factor in skew/rotation when calculating the bounding box. This code updates getBoundingBox to make use of the relevant skew/rotation parameters in the ModelTransformation tag. The new code only runs if a ModelTransformation tag is present. If there isn't one, the code runs as it currently does.

I also added a test using a geotiff I added to https://github.com/geotiff/test-data. It's clipped from a geotiff from Umbra's open data program. The issue that kicked this off is here: https://github.com/stac-utils/stac-layer/issues/61#issuecomment-1518241405

I've attached a screenshot from QGIS illustrating the change:

Screen Shot 2023-05-05 at 6 03 47 PM

Thank you for your consideration and please do let me know if there is any feedback or any requested changes. Open to your thoughts :-)

cc @m-mohr @CloudNiner

constantinius commented 1 year ago

Looks good! Thanks @DanielJDufour!