opengeospatial / geotiff

18 stars 9 forks source link

Projection parameters should be a ProjectionGeoKey requirement #123

Open desruisseaux opened 9 months ago

desruisseaux commented 9 months ago

This commit moves the following requirement from ProjMethodGeoKey to ProjectionGeoKey:

keys for each map projection parameter (coordinate operation parameter) appropriate to that method SHALL be populated.

The previous location was incorrect because projection methods do not contain parameter values. So providing an EPSG code for ProjMethodGeoKey is not a replacement to providing parameter values when ProjectionGeoKey is user-defined. With this pull request, the new requirement in ProjectionGeoKey become (new part in italic):

If the ProjectionGeoKey value is 32767 (User-Defined) then the ProjectedCitationGeoKey, ProjMethodGeoKey, ProjLinearUnitsGeoKey and keys for each map projection parameter (coordinate operation parameter) appropriate to that method SHALL be populated.

And the old requirement in ProjMethodGeoKey become:

The ProjMethodGeoKey value SHOULD not be 32767 (User-Defined)

The reason for the above is that projection methods are usually mapped to hard-coded formulas in map projection software. If the projection method is not known to the software, there is almost nothing the software can do.

This commit also renames ProjectionMethodGeoKey as ProjMethodGeoKey. The old name seems a mistake.