Closed drwelby closed 6 years ago
@drwelby Its a tricky issue. My guess is that we'd need a flag on the constructor that can control it. It decreases the usability of the class, but provides a path for a user to take when an error occurs.
Or should take the approach of assuming the image in s3 is projected already? so just always use reproject? let the user specify whether or not its an unprojected image?
What are the use cases? I only know of the Landsat example from the docs.
So the use case of s3Image
is to perform a gdal read on a random image living in s3. So primarily this is useful for GBDX users that produce a geotiff from some task in a workflow. They can access the tif from s3 directly via RDA, really powerful and really important.
The use case of reading Landsat from its buckets is not the primary use though. But i still feel like we can/should somehow expect that the tifs they access are projected already.
Addressed in #453
The S3Image example in the docs:
img = S3Image('landsat-pds/c1/L8/139/045/LC08_L1TP_139045_20170304_20170316_01_T1/LC08_L1TP_139045_20170304_20170316_01_T1_B3.TIF', proj="EPSG:4326")
fails in the RDA
orthorectify
operation because the imagery is already orthorectified. It would need to use thereproject
operator instead.See graph
bdf1e705f440dc3fb19e2983a3334c7bcd14ecbf7400eca539c6c3ad2541361e
It's not clear how to handle discovering if the image is orthorectified or not. For the example it would be sufficient to drop the
proj
keyword.