From 7f81d485c17486b6576f79272b7b62cd181d8070 Mon Sep 17 00:00:00 2001 From: Chuck Heazel Date: Fri, 11 Jan 2019 11:46:44 -0500 Subject: [PATCH] Issue-52 first commit This commit should apply all comments and chages from GeoTIFF.2018-12-18.RL.clause.7.CRS.edits_remarks_ERO_RLcomment.docx. Of note: GTCitationGeoKey has been incorporated into CitationGeoKey. Requirement names in UnitsGeoKey have been adjusted to better align with the rest of the units terminology. --- .../standard/clause_7_requirements.adoc | 88 ++++++++++--------- .../requirements_class_GTModelTypeGeoKey.adoc | 2 +- .../requirements_class_EllipsoidGeoKey.adoc | 2 +- ...ts_class_EllipsoidSemiMinorAxisGeoKey.adoc | 5 ++ .../requirements_class_GeodeticCRSGeoKey.adoc | 5 +- ...equirements_class_GeodeticDatumGeoKey.adoc | 2 +- ...equirements_class_PrimeMeridianGeoKey.adoc | 2 +- ...requirements_class_ProjectedCRSGeoKey.adoc | 2 +- ...uirements_class_ProjAngularParameters.adoc | 8 ++ ...quirements_class_ProjLinearParameters.adoc | 5 ++ .../requirements_class_ProjMethodGeoKey.adoc | 2 +- ...quirements_class_ProjScalarParameters.adoc | 2 +- .../requirements_class_ProjectionGeoKey.adoc | 4 +- .../requirements_class_UnitSizeGeoKeys.adoc | 4 + .../requirements_class_UnitsGeoKeys.adoc | 18 ++-- .../requirements_class_VerticalCRSGeoKey.adoc | 2 +- ...equirements_class_VerticalDatumGeoKey.adoc | 2 +- 17 files changed, 95 insertions(+), 60 deletions(-) diff --git a/GeoTIFF_Standard/standard/clause_7_requirements.adoc b/GeoTIFF_Standard/standard/clause_7_requirements.adoc index 488804bb..9eb31061 100644 --- a/GeoTIFF_Standard/standard/clause_7_requirements.adoc +++ b/GeoTIFF_Standard/standard/clause_7_requirements.adoc @@ -71,16 +71,6 @@ include::requirements/TIFF_Requirements/requirements_class_GeoAsciiParamsTag.ado This Standardization Target addresses encoding of Configuration values essential for interpreting the rest of the GeoKeys. -==== Citation GeoKeys - -These keys are used to describe Model CRS elements through ASCII free text. A citation may be included with a CRS identified through the GeoTIFF CRS register (i.e. EPSG register, see <>. -). A citation is mandatory for a user-defined CRSs and CRS objects (see <>). The _GeodeticCitationGeoKey_, _ProjectedCitationGeoKey_ and _VerticalCitationGeoKey_ are used with CRSs and CRS components. -The _GTCitationGeoKey_ is provided to give an ASCII reference to published documentation on the overall configuration of the GeoTIFF file. - -NOTE: In GeoTIFF 1.0 the GeodeticCitationGeoKey key was called GeogCitationGeoKey and the ProjectedCitationGeoKey key was called PCSCitationGeoKey - -include::requirements/Citation_Keys/requirements_class_CitationGeoKeys.adoc[] - ==== Requirements Class GTRasterTypeGeoKey This establishes the Raster Space used; there are currently only two options, namely RasterPixelIsPoint and RasterPixelIsArea. No user-defined raster spaces are currently supported. For variance in imaging display parameters, such as pixel aspect-ratios, use the standard TIFF 6.0 device-space tags. @@ -95,7 +85,7 @@ This GeoKey defines the type of Model coordinate reference system used, to which * Model CRS is unknown or unspecified; * Model CRS is a Geographic CRS; * Model CRS is a Geocentric CRS; -* Model CRS is a Projected CRS; +* Model CRS is a Projected CRS; * Model CRS is user-defined. If the Model coordinate reference system is from the GeoTIFF standard CRS register (i.e EPSG register), then only the registered CRS code need be specified. See <>. @@ -107,6 +97,24 @@ The GeoTIFF v1.0 format has also been used to describe pseudo-3D compound CRSs c include::requirements/Configuration_Keys/requirements_class_GTModelTypeGeoKey.adoc[] NOTE: The GTCitationGeoKey is also provided to give an ASCII reference to published documentation on the overall configuration of the GeoTIFF file (see <>). +=== Raster to Model Coordinate Transformation Requirements + +For most common applications, the transformation between raster space and model space may be defined with a set of raster-to-model tiepoints and scaling parameters. The _ModelTiepointTag_ and _ModelPixesScaleTag_ may be used for this purpose. + +Alternatively, the _ModelTransformationTag_ may be used to specify the transformation matrix between the raster space (and its dependent pixel-value space) and the (possibly 3D) model space. + +==== Requirements Class ModelTiepointTag + +include::requirements/Raster2Model_CoordinateTransformation_Tags/requirements_class_ModelTiepointTag.adoc[] + +==== Requirements Class ModelPixelScaleTag + +include::requirements/Raster2Model_CoordinateTransformation_Tags/requirements_class_ModelPixelScaleTag.adoc[] + +==== Requirements Class ModelTransformationTag + +include::requirements/Raster2Model_CoordinateTransformation_Tags/requirements_class_ModelTransformationTag.adoc[] + === Requirements for definition of Model CRS (when Model CRS is from GeoTIFF CRS register) ==== Overview @@ -115,6 +123,15 @@ When the Model CRS is included in the GeoTIFF CRS register (i.e EPSG register), NOTE: It has been practice in some Communities to indicate a geographic 3D CRS (with ellipsoidal height) by including the code of the geographic 3D CRS in a VerticalCRSGeoKey. See Annex D. +===== ProjectedCRSGeoKey + +This key is used to specify the projected coordinate reference system from the GeoTIFF CRS register or to indicate that the Model CRS is a user-defined +projected coordinate reference system. + +NOTE: In GeoTIFF 1.0 this key was called ProjectedCSTypeGeoKey + +include::requirements/Projected_CRS_GeoKey/requirements_class_ProjectedCRSGeoKey.adoc[] + ===== GeodeticCRSGeoKey This key is provided to specify the geodetic (geographic or geocentric) coordinate reference system from the GeoTIFF CRS register or to indicate that the Model CRS is a user-defined geodetic coordinate reference system. @@ -131,6 +148,14 @@ NOTE: In GeoTIFF 1.0 this key was called VerticalCSTypeGeoKey. In GeoTIFF v1.0 v include::requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalCRSGeoKey.adoc[] +==== Citation GeoKeys + +These keys are used to describe Model CRS elements through ASCII free text. A citation may be included with a CRS identified through the GeoTIFF CRS register (7.4.1). A citation is mandatory for a user-defined CRSs and CRS objects (7.4.3). The GeodeticCitationGeoKey, ProjectedCitationGeoKey and VerticalCitationGeoKey are used with CRSs and CRS components. + +NOTE: In GeoTIFF 1.0 the GeodeticCitationGeoKey key was called GeogCitationGeoKey and the ProjectedCitationGeoKey key was called PCSCitationGeoKey + +include::requirements/Citation_Keys/requirements_class_CitationGeoKeys.adoc[] + === Requirements for definition of user-defined Model CRS The GeoKeys described in this section are needed only when Model CRSs are not available from the GeoTIFF CRS register and the CRS or one or more of its component objects is user-defined, that is if one or more of ProjectedCRSGeoKey, GeodeticCRSGeoKey or VerticalCRSGeoKey has a value of 32767. @@ -141,27 +166,27 @@ NOTE: Anyone not interested in constructing a user-defined system can ignore tha These keys are used to specify Units of Measure (UoM) through the identification of a unit from the GeoTIFF CRS register or to indicate that the unit is user-defined -The GeogAngularUnitsGeoKey key is used to specify the angular unit for: +The *GeogAngularUnitsGeoKey* key is used to specify the angular unit for: * the axes in user-defined geographic 2D CRSs; * the horizontal axes in user-defined geographic 3D CRSs; * the longitude from the reference meridian in user-defined prime meridians; * user-defined map projection parameters that are angles. -The GeogAzimuthUnitsGeoKey key is used to specify the angular unit for user-defined map projection parameters when these differ from the angular unit described through the GeogAngularUnitsGeoKey. +The *GeogAzimuthUnitsGeoKey* key is used to specify the angular unit for user-defined map projection parameters when these differ from the angular unit described through the GeogAngularUnitsGeoKey. -The GeogLinearUnitsGeoKey key is used to specify the linear unit for: +The *GeogLinearUnitsGeoKey* key is used to specify the linear unit for: -* the axes in user-defined geocentric Cartesian CRSs; +* the axes in user-defined geocentric Cartesian CRSs; * the height axis of a user-defined geographic 3D CRS; * for user-defined ellipsoid axes. -The ProjLinearUnitsGeoKey key is used to specify the linear units for: +The *ProjLinearUnitsGeoKey* key is used to specify the linear units for: * the axes of a user-defined projected CRS; * map projection parameters that are lengths. -The VerticalUnitsGeoKey key is used to specify the linear unit for: +The *VerticalUnitsGeoKey* key is used to specify the linear unit for: * the axis of a user-defined vertical CRS. @@ -211,11 +236,11 @@ include::requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidGeoKey.ad ====== Ellipsoid parameter GeoKeys -These keys are used to specify the size and shape of a user-defined ellipsoid or sphere used as the model of the earth. Only bi-axial ellipsoids and spheres are catered for. An ellipsoid is defined through two parameters, its semi-major axis (a) and either its semi-minor axis (b) or its inverse flattening (1/f) where 1/f = a/(a - b). If the model is a sphere, 1/f is infinite so a and b must be used, with the value of b set to that of a. +These keys are used to specify the size and shape of a user-defined ellipsoid or sphere used as the model of the earth. Only bi-axial ellipsoids and spheres are catered for. An ellipsoid is defined through two parameters, its semi-major axis _(a)_ and either its semi-minor axis _(b)_ or its inverse flattening _(1/f)_ where __1/f = a/(a - b)__. If the model is a sphere, _1/f_ is infinite so _a_ and _b_ must be used, with the value of _b_ set to that of __a__. *EllipsoidSemiMajorAxisGeoKey* -This key is provided to specify the first defining parameter of a user-defined bi-axial ellipsoid or a user-defined sphere. It allows the specification of the ellipsoid semi-major axis (a) or the sphere radius. +This key is provided to specify the first defining parameter of a user-defined bi-axial ellipsoid or a user-defined sphere. It allows the specification of the ellipsoid semi-major axis _(a)_ or the sphere radius. NOTE: In GeoTIFF 1.0 this key was called GeogSemiMajorAxisGeoKey. @@ -223,7 +248,7 @@ include::requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidSemiMajor *EllipsoidSemiMinorAxisGeoKey* -This key is provided to specify the second defining parameter of a user-defined bi-axial ellipsoid or of a user-defined sphere. It allows the specification of the ellipsoid semi-minor axis (b) or the sphere radius. +This key is provided to specify the second defining parameter of a user-defined bi-axial ellipsoid or of a user-defined sphere. It allows the specification of the ellipsoid semi-minor axis _(b)_ or the sphere radius. NOTE: In GeoTIFF 1.0 this key was called GeogSemiMinorAxisGeoKey. @@ -231,7 +256,7 @@ include::requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidSemiMinor *EllipsoidInvFlatteningGeoKey* -This key is provided to specify the second defining parameter of a user-defined bi-axial ellipsoid. It allows the specification of the ellipsoid inverse flattening (1/f). It is a ratio and does not require a unit. +This key is provided to specify the second defining parameter of a user-defined bi-axial ellipsoid. It allows the specification of the ellipsoid inverse flattening __(1/f)__. It is a ratio and does not require a unit. NOTE: In GeoTIFF 1.0 this key was called GeogInvFlatteningGeoKey. @@ -243,13 +268,11 @@ This key may be used to specify the vertical datum for a user-defined vertical c ===== Requirements Class VerticalDatumGeoKey -This key may be used to specify the vertical datum for the vertical coordinate system. - include::requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalDatumGeoKey.adoc[] ==== Map Projection GeoKeys -===== Requirements Class ProjectionGeoKey* +===== Requirements Class ProjectionGeoKey The _ProjectionGeoKey_ key is used to specify a map projection from the GeoTIFF CRS register or to indicate that the map projection is user-defined. In the EPSG Dataset a map projection is a coordinate conversion, a subtype of coordinate operation. @@ -284,20 +307,3 @@ include::requirements/Projection_Definition_Keys/requirements_class_ProjLinearPa ====== Requirements Class ProjScalarParameters include::requirements/Projection_Definition_Keys/requirements_class_ProjScalarParameters.adoc[] -=== Raster to Model Coordinate Transformation Requirements - -For most common applications, the transformation between raster space and model space may be defined with a set of raster-to-model tiepoints and scaling parameters. The _ModelTiepointTag_ and _ModelPixesScaleTag_ may be used for this purpose. - -Alternatively, the _ModelTransformationTag_ may be used to specify the transformation matrix between the raster space (and its dependent pixel-value space) and the (possibly 3D) model space. - -==== Requirements Class ModelTiepointTag - -include::requirements/Raster2Model_CoordinateTransformation_Tags/requirements_class_ModelTiepointTag.adoc[] - -==== Requirements Class ModelPixelScaleTag - -include::requirements/Raster2Model_CoordinateTransformation_Tags/requirements_class_ModelPixelScaleTag.adoc[] - -==== Requirements Class ModelTransformationTag - -include::requirements/Raster2Model_CoordinateTransformation_Tags/requirements_class_ModelTransformationTag.adoc[] diff --git a/GeoTIFF_Standard/standard/requirements/Configuration_Keys/requirements_class_GTModelTypeGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Configuration_Keys/requirements_class_GTModelTypeGeoKey.adoc index 33b2a85b..c07eeeeb 100644 --- a/GeoTIFF_Standard/standard/requirements/Configuration_Keys/requirements_class_GTModelTypeGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Configuration_Keys/requirements_class_GTModelTypeGeoKey.adoc @@ -61,7 +61,7 @@ _If the GTModelTypeGeoKey value is 3 (Model CRS is a geocentric CRS) then the Ge |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/GTModelTypeGeoKey.user-defined + -_If the GTModelTypeGeoKey value is 32767 (user-defined) then the GTCitationGeoKey SHALL be populated._ +_If the GTModelTypeGeoKey value is 32767 (user-defined) then the GeoTIFF file SHALL include at least one of ProjectedCRSGeoKey of GeodeticCRSGeoKey and the GTCitationGeoKey SHALL be populated._ {set:cellbgcolor:#FFFFFF} |=== diff --git a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidGeoKey.adoc index 24816a3a..05cd0de0 100644 --- a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidGeoKey.adoc @@ -28,7 +28,7 @@ NOTE: In GeoTIFF v1.0 the range was 7000-7999. Several values in this range have |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/EllipsoidGeoKey.user-defined + -_An EllipsoidGeoKey value of 32767 SHALL be a user-defined ellipsoid or sphere. If the EllipsoidGeoKey value is 32767 (User-Defined) then the GTCitationGeoKey and the EllipsoidSemiMajorAxisGeoKey SHALL be populated together with the one of either the EllipsoidSemiMinorAxisGeoKey or the EllipsoidInvFlatteningGeoKey._ +_If the EllipsoidGeoKey value is 32767 (User-Defined) then the GTCitationGeoKey and the EllipsoidSemiMajorAxisGeoKey SHALL be populated together with the one of either the EllipsoidSemiMinorAxisGeoKey or the EllipsoidInvFlatteningGeoKey._ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidSemiMinorAxisGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidSemiMinorAxisGeoKey.adoc index bb168130..8c83f3ce 100644 --- a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidSemiMinorAxisGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_EllipsoidSemiMinorAxisGeoKey.adoc @@ -18,4 +18,9 @@ _The EllipsoidSemiMinorAxisGeoKey SHALL have type = DOUBLE_ |http://www.opengis.net/spec/GeoTIFF/0.0/EllipsoidSemiMinorAxisGeoKey.units + _The units of the EllipsoidSemiMinorAxisGeoKey SHALL be defined by the value of GeogLinearUnitsGeoKey_ {set:cellbgcolor:#FFFFFF} + +|Requirement {set:cellbgcolor:#CACCCE} +|http://www.opengis.net/spec/GeoTIFF/0.0/EllipsoidSemiMinorAxisGeoKey.sphere + +_If the Model CRS is a sphere, the value of the EllipsoidSemiMinorAxisGeoKey SHALL equal that of the EllipsoidSemiMajorAxisGeoKey._ +{set:cellbgcolor:#FFFFFF} |=== diff --git a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticCRSGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticCRSGeoKey.adoc index e00feb84..765a1560 100644 --- a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticCRSGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticCRSGeoKey.adoc @@ -22,7 +22,8 @@ _GeodeticCRSGeoKey values in the range 1-1000 SHALL be obsolete EPSG/POSC Geogra |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/GeodeticCRSGeoKey.reserved + _GeodeticCRSGeoKey values in the range 1001-1023 SHALL be reserved._ -Note: In GeoTIFF v1.0 the reserved ranges were 1001-3999 and 5000-32766. + +NOTE: In GeoTIFF v1.0 the reserved ranges were 1001-3999 and 5000-32766. {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} @@ -34,7 +35,7 @@ NOTE: In GeoTIFF v1.0 the range was 4000-4999. Several values in this range have |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/GeodeticCRSGeoKey.user-defined + -_A GeodeticCRSGeoKey value of 32767 SHALL be a user-defined geodetic (geographic or geocentric) CRS. If the GeodeticCRSGeoKey value is 32767 (User-Defined) then the GeodeticCitationGeoKey, GeodeticDatumGeoKey and at least one of GeogAngularUnitsGeoKey or GeogLinearUnitsGeoKey SHALL be populated._ +_If the GeodeticCRSGeoKey value is 32767 (User-Defined) then the GeodeticCitationGeoKey, GeodeticDatumGeoKey and at least one of GeogAngularUnitsGeoKey or GeogLinearUnitsGeoKey SHALL be populated._ NOTE: if the user-defined CRS is geographic 2D, GeogAngularUnitsGeoKey should be populated, if the user-defined CRS is geographic 3D, both GeogAngularUnitsGeoKey and GeogLinearUnitsGeoKey should be populated, if the user-defined CRS is geocentric, GeogLinearUnitsGeoKey should be populated. diff --git a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticDatumGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticDatumGeoKey.adoc index fb448ecb..7b9ae49d 100644 --- a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticDatumGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_GeodeticDatumGeoKey.adoc @@ -35,7 +35,7 @@ NOTE: In GeoTIFF v1.0 the range was 6000-6999. Several values in this range have |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/GeodeticDatumGeoKey.user-defined + -_A GeodeticDatumGeoKey value of 32767 SHALL be a user-defined geodetic datum. If the GeodeticDatumGeoKey value is 32767 (User-Defined) then the GeodeticCitationGeoKey, PrimeMeridianGeoKey and EllipsoidGeoKey SHALL be populated._ +_If the GeodeticDatumGeoKey value is 32767 (User-Defined) then the GeodeticCitationGeoKey, PrimeMeridianGeoKey and EllipsoidGeoKey SHALL be populated._ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_PrimeMeridianGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_PrimeMeridianGeoKey.adoc index 3c0b8691..c03fc203 100644 --- a/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_PrimeMeridianGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Geodetic_CRS_GeoKeys/requirements_class_PrimeMeridianGeoKey.adoc @@ -35,7 +35,7 @@ NOTE: In GeoTIFF v1.0 the range was 8000-8999 |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/PrimeMeridianGeoKey.user-defined + -_A PrimeMeridianGeoKey value of 32767 SHALL be a user-defined prime meridian. If the PrimeMeridianGeoKey value is 32767 (User-Defined) then the GeodeticCitationGeoKey, and PrimeMeridianLongGeoKey SHALL be populated_ +_If the PrimeMeridianGeoKey value is 32767 (User-Defined) then the GeodeticCitationGeoKey, and PrimeMeridianLongGeoKey SHALL be populated_ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Projected_CRS_GeoKey/requirements_class_ProjectedCRSGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Projected_CRS_GeoKey/requirements_class_ProjectedCRSGeoKey.adoc index b1f45504..ac466645 100644 --- a/GeoTIFF_Standard/standard/requirements/Projected_CRS_GeoKey/requirements_class_ProjectedCRSGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Projected_CRS_GeoKey/requirements_class_ProjectedCRSGeoKey.adoc @@ -33,7 +33,7 @@ NOTE: In GeoTIFF v1.0 the range was 20000-32760. Several values in this range ha |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjectedCRSGeoKey.user-defined + -_A ProjectedCRSGeoKey value of 32767 SHALL be a user-defined projected CRS. If the ProjectedCRSGeoKey value is 32767 (User-Defined) then the ProjectedCitationGeoKey and ProjectionGeoKey SHALL be populated._ +_If the ProjectedCRSGeoKey value is 32767 (User-Defined) then the ProjectedCitationGeoKey and ProjectionGeoKey SHALL be populated._ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjAngularParameters.adoc b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjAngularParameters.adoc index 24c6a675..f36c8674 100644 --- a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjAngularParameters.adoc +++ b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjAngularParameters.adoc @@ -7,13 +7,21 @@ |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjAngularParameters.ID + _The ProjStdParallel1GeoKey SHALL have ID = 3078_ + _The ProjStdParallel2GeoKey SHALL have ID = 3079_ + _The ProjNatOriginLongGeoKey SHALL have ID = 3080_ + _The ProjNatOriginLatGeoKey SHALL have ID = 3081_ + _The ProjFalseOriginLongGeoKey SHALL have ID = 3084_ + _The ProjFalseOriginLatGeoKey SHALL have ID = 3085_ + _The ProjCenterLongGeoKey SHALL have ID = 3088_ + _The ProjCenterLatGeoKey SHALL have ID = 3089_ + _The ProjStraightVertPoleLongGeoKey SHALL have ID = 3095_ {set:cellbgcolor:#FFFFFF} diff --git a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjLinearParameters.adoc b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjLinearParameters.adoc index e18e8bed..69c81e74 100644 --- a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjLinearParameters.adoc +++ b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjLinearParameters.adoc @@ -7,10 +7,15 @@ |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjLinearParameters.ID + _The ProjFalseEastingGeoKey SHALL have ID = 3082_ + _The ProjFalseNorthingGeoKey SHALL have ID = 3083_ + _The ProjFalseOriginEastingGeoKey SHALL have ID = 3086_ + _The ProjFalseOriginNorthingGeoKey SHALL have ID = 3087_ + _The ProjCenterEastingGeoKey SHALL have ID = 3090_ + _The ProjCenterNorthingGeoKey SHALL have ID = 3091_ {set:cellbgcolor:#FFFFFF} diff --git a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjMethodGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjMethodGeoKey.adoc index 2d1158b9..361e56b5 100644 --- a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjMethodGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjMethodGeoKey.adoc @@ -27,7 +27,7 @@ _ProjMethodGeoKey values in the range 28-32766 SHALL be reserved_ |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjMethodGeoKey.user_defined + -_A ProjMethodGeoKey value of 32767 SHALL be a user defined map projection method. If the ProjectionMethodGeoKey value is 32767 (User-Defined) then the ProjectedCitationGeoKey and keys for each map projection parameter (coordinate operation parameter) appropriate to that method SHALL be populated._ +_If the ProjectionMethodGeoKey value is 32767 (User-Defined) then the ProjectedCitationGeoKey and keys for each map projection parameter (coordinate operation parameter) appropriate to that method SHALL be populated._ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjScalarParameters.adoc b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjScalarParameters.adoc index fb7df70b..a86ff8c2 100644 --- a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjScalarParameters.adoc +++ b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjScalarParameters.adoc @@ -7,8 +7,8 @@ |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjScalarParameters.ID + _The ProjScaleAtNatOriginGeoKey SHALL have ID = 3092_ + _The ProjScaleAtCenterGeoKey SHALL have ID = 3093_ -_ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjectionGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjectionGeoKey.adoc index bca15403..aea920fd 100644 --- a/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjectionGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Projection_Definition_Keys/requirements_class_ProjectionGeoKey.adoc @@ -17,18 +17,20 @@ _The ProjectionGeoKey SHALL have type = SHORT_ |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjectionGeoKey.obsolete + _ProjectionGeoKey values in the range 1-1023 SHALL be obsolete EPSG/POSC map projection codes_ + NOTE: In GeoTIFF v1.0 the range was 1-9999. {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjectionGeoKey.EPSG + _ProjectionGeoKey values in the range 1024-32766 SHALL be valid EPSG map projection (coordinate operation) codes_ + NOTE: In GeoTIFF v1.0 the range was 10000-19999. Several values in this range have been deprecated or deleted from the EPSG Dataset. See Annex B.5.4, Table 6. {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/ProjectionGeoKey.user_defined + -_A ProjectionGeoKey value of 32767 SHALL be a user defined map projection. If the ProjectionGeoKey value is 32767 (User-Defined) then the ProjectedCitationGeoKey, ProjectionMethodGeoKey, and ProjLinearUnitsGeoKey SHALL be populated_ +_If the ProjectionGeoKey value is 32767 (User-Defined) then the ProjectedCitationGeoKey, ProjectionMethodGeoKey, and ProjLinearUnitsGeoKey SHALL be populated_ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitSizeGeoKeys.adoc b/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitSizeGeoKeys.adoc index 96f401c9..b725efea 100644 --- a/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitSizeGeoKeys.adoc +++ b/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitSizeGeoKeys.adoc @@ -7,7 +7,9 @@ |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/UnitSizeGeoKey.ID + _The GeogAngularUnitSizeGeoKey SHALL have ID = 2055_ + _The GeogLinearUnitSizeGeoKey SHALL have ID = 2053_ + _The ProjLinearUnitSizeGeoKey SHALL have ID = 3077_ {set:cellbgcolor:#FFFFFF} @@ -19,7 +21,9 @@ _The GeogAngularUnitSizeGeoKey, GeogLinearUnitSizeGeoKey and ProjLinearUnitSizeG |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/UnitSizeGeoKey.units + _The units of the GeogAngularUnitSizeGeoKey value SHALL be radians._ + _The units of the GeogLinearUnitSizeGeoKey value SHALL be meters._ + _The units of the ProjLinearUnitSizeGeoKey value SHALL be meters._ {set:cellbgcolor:#FFFFFF} |=== diff --git a/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitsGeoKeys.adoc b/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitsGeoKeys.adoc index 9bf27202..6945bc53 100644 --- a/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitsGeoKeys.adoc +++ b/GeoTIFF_Standard/standard/requirements/Units_Keys/requirements_class_UnitsGeoKeys.adoc @@ -7,9 +7,13 @@ |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/UnitsGeoKey.ID + _The GeogAngularUnitsGeoKey SHALL have ID = 2054_ + _The GeogAzimuthUnitsGeoKey SHALL have ID = 2060_ + _The GeogLinearUnitsGeoKey SHALL have ID = 2052_ + _The ProjLinearUnitsGeoKey SHALL have ID = 3076_ + _The VerticalUnitsGeoKey SHALL have ID = 4099_ {set:cellbgcolor:#FFFFFF} @@ -45,20 +49,20 @@ _A GeogAngularUnitsGeoKey or a GeogAzimuthUnitsGeoKey value of 32767 SHALL be a {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} -|http://www.opengis.net/spec/GeoTIFF/0.0/GeogLinearUnitsGeoKey.userdefined + +|http://www.opengis.net/spec/GeoTIFF/0.0/UnitsGeoKey.userdefinedGeogLinear + _A GeogLinearUnitsGeoKey value of 32767 SHALL be a user-defined linear unit. If the value is 32767 (User-Defined) then the GeodeticCitationGeoKey and the GeogLinearUnitSizeGeoKey SHALL be populated_ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} -|http://www.opengis.net/spec/GeoTIFF/0.0/VerticalUnitsGeoKey.userdefinedForbidden + -_A VerticalUnitsGeoKey value of 32767 (user defined) SHALL not be used_ - -NOTE: The rationale for this is that it would imply to fill a VerticalUnitSizeGeoKey, which does not exist in GeoTIFF 1.0. The user should use of the EPSG linear unit. +|http://www.opengis.net/spec/GeoTIFF/0.0/UnitsGeoKey.userdefinedProjLinear + +_A ProjLinearUnitsGeoKey value of 32767 SHALL be a user-defined linear unit. If the value is 32767 (User-Defined) then the ProjectedCitationGeoKey and the ProjLinearUnitSizeGeoKey SHALL be populated._ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} -|http://www.opengis.net/spec/GeoTIFF/0.0/UnitsGeoKey.userdefinedProjLinear + -_A ProjLinearUnitsGeoKey value of 32767 SHALL be a user-defined linear unit. If the value is 32767 (User-Defined) then the ProjectedCitationGeoKey and the ProjLinearUnitSizeGeoKey SHALL be populated._ +|http://www.opengis.net/spec/GeoTIFF/0.0/UnitsGeoKey.userdefinedVertical + +_A VerticalUnitsGeoKey value of 32767 (user defined) SHALL not be used_ + +NOTE: The rationale for this is that it would imply to fill a VerticalUnitSizeGeoKey, which does not exist in GeoTIFF 1.0. The user should use of the EPSG linear unit. {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalCRSGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalCRSGeoKey.adoc index 7dc658d3..de119cda 100644 --- a/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalCRSGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalCRSGeoKey.adoc @@ -30,7 +30,7 @@ NOTE: In GeoTIFF v1.0 the ranges were 5000-5099 and 5200-5999. As at 2018-05-29 |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/VerticalCRSGeoKey.userdefined + -_A VerticalCRSGeoKey value of 32767 SHALL be a user-defined vertical CRS. If the VerticalCRSGeoKey value is 32767 (User-Defined) then the VerticalCRSCitationGeoKey and VerticalDatumGeoKey SHALL be populated._ +_If the VerticalCRSGeoKey value is 32767 (User-Defined) then the VerticalCRSCitationGeoKey and VerticalDatumGeoKey SHALL be populated._ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE} diff --git a/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalDatumGeoKey.adoc b/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalDatumGeoKey.adoc index 004e1f45..6438eca2 100644 --- a/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalDatumGeoKey.adoc +++ b/GeoTIFF_Standard/standard/requirements/Vertical_Parameters_GeoKeys/requirements_class_VerticalDatumGeoKey.adoc @@ -30,7 +30,7 @@ NOTE: In GeoTIFF v1.0 the range was given as 1-16383 but without reference to EP |Requirement {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/GeoTIFF/0.0/VerticalDatumGeoKey.user-defined + -_A VerticalDatumGeoKey value of 32767 SHALL be a user-defined Vertical datum. If the VerticalDatumGeoKey value is 32767 (User-Defined) then the VerticalCitationGeoKey SHALL be populated._ +_If the VerticalDatumGeoKey value is 32767 (User-Defined) then the VerticalCitationGeoKey SHALL be populated._ {set:cellbgcolor:#FFFFFF} |Requirement {set:cellbgcolor:#CACCCE}