Le 13/10/2021 à 18:35, Eric Robeck a écrit :
I have a question about which GeoTIFF tags should be used for storing CRS information. I have two GeoTIFFs: one original and the same file saved as a COG. Then I created gdalinfo and listgeo reports for each and compared them for changes.

*gdalinfo*: Aside from the difference in the PROJCRS citation ("WGS 84 / UTM zone 6N" vs. "WGS_84_UTM_zone_6N"), the only change is the COG and LZW predictor.

*listgeo*: a large number of GeoTags were never populated by the original GeoTIFF creators. Other ASCII citation values were replaced by the Esri conversion tool.

A number of the listgeo-reported GeoKeys in the COG (e.g. GeogGeodeticDatumGeoKey, GeogAngularUnitSizeGeoKey, GeogEllipsoidGeoKey, etc.) are missing from the custom-made original GeoTIFF. The extra CRS tags were added upon conversion to COG. Those parameters are fundamental components of the CRS and are reported in the gdalinfo WKT as DATUM/ELLIPSOID, ANGLEUNIT, etc.

However, the WKT reported by gdalinfo is identical in both cases. So it had access to the full WKT components even when the corresponding GeoKeys were missing in the GeoTIFF.

My questions are:

 1. If the GeoKeys storing that information are missing from the
    GeoTIFF, where does GDAL retrieve them from? Does it refer to the
    PROJ library to retrieve the EPSG values for the EPSG codes in
    ProjectedCSTypeGeoKey, VerticalCSTypeGeoKey, etc.?

Yes, GDAL / libgeotiff uses the EPSG codes of the geokeys that contain some to build its CRS object by querying the PROJ database. If you've a ProjectedCSTypeGeoKey, then the geokeys describing the linear unit, the geographic CRS, datum, etc are useless. When outputing GeoTIFF 1.0, GDAL will write a bit more than needed. This has been restricted to the minimum set to avoid any contradiction when using GeoTIFF 1.1 output. GeoTIFF 1.0 is the default when no vertical information is available. GeoTIFF 1.1 when there's one. This can be controlled with the GEOTIFF_VERSION creation option.

 1. Some software, following guidance in DGIWG-108 and DGIWG-250, did
    not assign a VerticalDatumGeoKey. Prior to release of GeoTIFF 1.1,
    the "unknown" value caused problems with vertical projection in
    some software, like QT Modeler. Does GDAL now fill in or assume
    the missing key based on the VerticalCSTypeGeoKey?

If VerticalCSTypeGeoKey is present and the GeoTIFF version 1.0, GDAL will use its rather complex heuristics to try to guess a vertical CRS, but will not reoprt it by default unless you define the GTIFF_REPORT_COMPD_CS=YES configuration option (https://gdal.org/drivers/raster/gtiff.html#configuration-options)

If the file is GeoTIFF 1.1, it will report the vertical information by default, when present in the file.

Even

||

Thanks in advance!

Regards,
Eric


_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

--
http://www.spatialys.com
My software is free, but my time generally not.

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to