OSGeo / gdal

GDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.
https://gdal.org
Other
4.78k stars 2.5k forks source link

ISIS3: support for Oblique Cylindrical and Near-Sided Perspective #1856

Closed rouault closed 4 years ago

rouault commented 4 years ago

the ISIS3 format has support for two projection methods Oblique Cylindrical (implemented per https://github.com/USGS-Astrogeology/ISIS3/blob/3.8.0/isis/src/base/objs/ObliqueCylindrical/ObliqueCylindrical.cpp ) and Near-Sided Perspective (implemented per https://github.com/USGS-Astrogeology/ISIS3/blob/3.8.0/isis/src/base/objs/PointPerspective/PointPerspective.cpp ). Those projection methods are currently not handled by the GDAL ISIS3 driver. Those projection methods exists in the PROJ library, but with slightly different parameters. This tasks consist in identifying a mapping between the parameter of the ISIS3 projections and the ones available in PROJ, adding the needed parameters to the PROJ methods if needed, and enhancing the GDAL ISIS3 driver on the read and write side to map between the ISIS3 format and the GDAL CRS objects using those projection methods

thareUSGS commented 4 years ago

After looking into "Point Perspective" more this week, I am becoming more confident that this is the same as Near-sided perspective (without any additional parameters): https://proj.org/operations/projections/nsper.html

Although I haven't actually matched the equations. But, I assume for testing in GDAL, this will need to be exposed for GDAL (if it is not already)?

rouault commented 4 years ago

But, I assume for testing in GDAL, this will need to be exposed for GDAL (if it is not already)?

Yes, a method in OGRSpatialReference should be added for that, and the corresponding one in PROJ.

Do you have test datasets with those 2 methods, and possibly with values of a few projected points and their corresponding lon, lat so that we can check if the mapping is correct ?

thareUSGS commented 4 years ago

I have samples, but let me quickly add some sampling pixel, lat, lon text files for each. BTW, Once Oblique Cylindrical is implemented, the PDS3 driver will need a quick update. It currently incorrectly maps this to "Swiss_Oblique_Cylindrical". ISIS3 correctly ignores that projection (I assume PDS4 driver will also need to be touched).

thareUSGS commented 4 years ago

A little large, but here are some smaller files in there too: (temporary download location): ftp://ftpext.usgs.gov/pub/wr/az/flagstaff/thare/forGDAL/gdal_ticket1856_testProjections.zip

Potential reference for Oblique Cylindrical (equations available): https://pds-imaging.jpl.nasa.gov/documentation/Cassini_BIDRSIS.PDF

example for provided test case as projected in OMINAS (IDL app): https://nasa.github.io/ominas/demo/cas_radar_example.html

related? -- http://geographer-at-large.blogspot.com/2011/08/fun-with-map-projections-oblique-case.html

rouault commented 4 years ago

All subtasks for this ticket now completed