Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeoAsciiParamsTag.ID
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeoAsciiParamsTag.count
|http://www.opengis.net/spec/GeoTIFF/1.1/req/CitationGeoKeys
|http://www.opengis.net/spec/GeoTIFF/1.2/req/TextDefGeoKeys
|===

*Purpose:* Verify ASCII parameters
Expand Down Expand Up @@ -69,6 +70,14 @@
^| Requirements Class
^| 1026 <| CitationGeoKeys (GTCitationGeoKey)
^| 2049 <| CitationGeoKeys (GeodeticCitationGeoKey)
^| 2063 <| TextDefGeoKeys (GeodeticCRSTextDefGeoKey)
^| 2064 <| TextDefGeoKeys (GeodeticDatumTextDefGeoKey)
^| 2065 <| TextDefGeoKeys (EllipsoidTextDefGeoKey)
^| 2066 <| TextDefGeoKeys (PrimeMeridianTextDefGeoKey)
^| 3073 <| CitationGeoKeys (ProjectedCitationGeoKey)
^| 3097 <| TextDefGeoKeys (ProjectedCRSTextDefGeoKey)
^| 3098 <| TextDefGeoKeys (ProjectionTextDefGeoKey)
^| 4097 <| CitationGeoKeys (VerticalCitationGeoKey)
^| 4100 <| TextDefGeoKeys (VerticalTextDefGeoKey)
^| 4101 <| TextDefGeoKeys (VerticalDatumTextDefGeoKey)
|===
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeoShortParams.Location
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GTModelTypeGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GTRasterTypeGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeodeticCRSGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeodeticDatumGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/PrimeMeridianGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.2/req/GeodeticCRSGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.2/req/GeodeticDatumGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.2/req/PrimeMeridianGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/UnitsGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/EllipsoidGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.2/req/EllipsoidGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/ProjectedCRSGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/ProjectionGeoKey
|http://www.opengis.net/spec/GeoTIFF/1.1/req/ProjMethodGeoKey
Expand Down
207 changes: 126 additions & 81 deletions GeoTIFF_Standard/standard/annex-b.adoc

Large diffs are not rendered by default.

44 changes: 42 additions & 2 deletions GeoTIFF_Standard/standard/annex-e.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,26 @@ __Table E.1 - Summary of GeoKey IDs and names __
<| Reserved (GeogTOWGS84GeoKey used by GDAL)
<|
<| Reserved
^| 2063
^| Ascii
<|
<|
<| GeodeticCRSTextDefGeoKey
^| 2064
^| Ascii
<|
<|
<| GeodeticDatumTextDefGeoKey
^| 2065
^| Ascii
<|
<|
<| EllipsoidTextDefGeoKey
^| 2066
^| Ascii
<|
<|
<| PrimeMeridianTextDefGeoKey
5+<| [underline]#Projected CRS Parameter Keys#
^| [underline]#_2060_#
^| Short
Expand Down Expand Up @@ -230,6 +250,16 @@ __Table E.1 - Summary of GeoKey IDs and names __
<| ProjStraightVertPoleLongGeoKey
<|
<| (as GeoTIFF v1.0)
^| 3097
^| Ascii
<|
<|
<| ProjectedCRSTextDefGeoKey
^| 3098
^| Ascii
<|
<|
<| ProjectionTextDefGeoKey
5+<| [underline]#Vertical CRS Parameter Keys (4096-5119)#
^| 4096
^| Short
Expand All @@ -251,10 +281,20 @@ __Table E.1 - Summary of GeoKey IDs and names __
<| VerticalUnitsGeoKey
<|
<| (as GeoTIFF v1.0)
^| 4100
^| Ascii
<|
<|
<| VerticalTextDefGeoKey
^| 4101
^| Ascii
<|
<|
<| VerticalDatumTextDefGeoKey
5+<| [underline]#Dynamic CRS Parameter Keys#
^| 5120
^| Double
<| CoordinateEpochGeoKey
<|
<| (as GeoTIFF v1.2)
<|
<| CoordinateEpochGeoKey
|====
69 changes: 47 additions & 22 deletions GeoTIFF_Standard/standard/clause_7_requirements.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,15 @@ include::requirements/Configuration_Keys/requirements_class_GTRasterTypeGeoKey.a

This GeoKey defines the type of Model coordinate reference system used, to which the transformation from the raster space is made:

* Model CRS is unknown or unspecified;
* Model CRS is unknown or unspecified;

* Model CRS is a Geographic 2D CRS;
* Model CRS is a Geographic 2D CRS;

* Model CRS is a Geocentric CRS;
* Model CRS is a Geocentric CRS;

* Model CRS is a Projected CRS; and

* Model CRS is user-defined.
* 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.
Expand All @@ -117,13 +117,15 @@ If the Model coordinate reference system is not from the GeoTIFF standard CRS re
then it requires the specification of some or all CRS elements.
See <<Requirements for definition of user-defined Model CRS>>.

The GeoTIFF v1.0 format has also been used to describe pseudo-3D compound CRSs consisting of a projected CRS and a vertical CRS or a geographic 2D CRS and a vertical CRS,
The GeoTIFF v1.0 format has also been used to describe pseudo-3D compound CRSs
consisting of a projected CRS and a vertical CRS or a geographic 2D CRS and a vertical CRS,
as well as a geographic 3D CRS.
In this document, this usage is permitted but not explicitly described through the GTModelTypeGeoKey.
Recommendations are given in Annex D.

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 <<Requirements Class Citation GeoKeys>>).
NOTE: The GTCitationGeoKey is also provided to give an ASCII reference to published documentation
on the overall configuration of the GeoTIFF file (see <<Requirements Class Citation GeoKeys>>).

=== Raster to Model Coordinate Transformation Requirements

Expand Down Expand Up @@ -188,52 +190,75 @@ include::requirements/Vertical_GeoKeys/requirements_class_VerticalGeoKey.adoc[]

==== Requirements Class Citation GeoKeys
The _GTCitationGeoKey_ is provided to give an ASCII reference to published documentation on the overall configuration of the GeoTIFF file.
The _GeodeticCitationGeoKey_,
_ProjectedCitationGeoKey_ and _VerticalCitationGeoKey_ 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 (<<Requirements for definition of Model CRS (when Model CRS is from GeoTIFF CRS register)>>).
The _GeodeticCitationGeoKey_, _ProjectedCitationGeoKey_ and _VerticalCitationGeoKey_
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
(<<Requirements for definition of Model CRS (when Model CRS is from GeoTIFF CRS register)>>).
A citation is mandatory for a user-defined CRSs and CRS objects (<<Requirements for definition of user-defined Model CRS>>).
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 Class TextDef GeoKeys
The _GeodeticCRSTextDefGeoKey_, _GeodeticDatumTextDefGeoKey_, _EllipsoidTextDefGeoKey_, _PrimeMeridianTextDefGeoKey_,
_ProjectedCRSTextDefGeoKey_, _ProjectionTextDefGeoKey_, _VerticalTextDefGeoKey_ and _VerticalDatumTextDefGeoKey_
can be used to provide full CRS element definitions through ASCII free text.
The definitions can be of the following forms:

* **Type 1:** URL of the form `http://www.opengis.net/def/crs/{authority}/{version}/{code}`.
* **Type 2:** Well-Known Text (WKT) as defined by ISO 19162:2019.

The type number is specified in the
_GeodeticCRSGeoKey_, _GeodeticDatumGeoKey_, _EllipsoidGeoKey_, _PrimeMeridianGeoKey_,
_ProjectedCRSGeoKey_, _ProjectionGeoKey_, _VerticalGeoKey_ or _VerticalDatumGeoKey_.

include::requirements/Citation_Keys/requirements_class_TextDefGeoKeys.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,
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 VerticalGeoKey has a value of 32767.

NOTE: Anyone not interested in constructing a user-defined model CRS can ignore this section.

NOTE: It should be noted that the implicit axis order of user-defined CRS definitions is fixed at (lon,lat,height) in case of geographic and (east,north,height) in case of projected regardless of the model space CRS definition. This convention was implicit in GeoTIFF 1.0 and still is valid in this revision. As with GeoTIFF 1.0, it is not possible to express a user-defined CRS that deviates from this axis order convention. The intention is to address this limitation in a future revision.
NOTE: It should be noted that the implicit axis order of user-defined CRS definitions is fixed at (lon,lat,height)
in case of geographic and (east,north,height) in case of projected regardless of the model space CRS definition.
This convention was implicit in GeoTIFF 1.0 and still is valid in this revision.
As with GeoTIFF 1.0, it is not possible to express a user-defined CRS that deviates from this axis order convention.
The intention is to address this limitation in a future revision.

==== Requirements Class Units GeoKeys

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.
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 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; and
* user-defined map projection parameters that are angles.
* 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; and
* 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 axes in user-defined geocentric Cartesian CRSs;
* the height axis of a user-defined geographic 3D CRS; and
* for user-defined ellipsoid axes.
* the height axis of a user-defined geographic 3D CRS; and
* for user-defined ellipsoid axes.

The *ProjLinearUnitsGeoKey* key is used to specify the linear units for:

* the axes of a user-defined projected CRS; and
* map projection parameters that are lengths.
* the axes of a user-defined projected CRS; and
* map projection parameters that are lengths.

The *VerticalUnitsGeoKey* key is used to specify the linear unit for:

* the axis of a user-defined vertical CRS.
* the axis of a user-defined vertical CRS.

include::requirements/Units_Keys/requirements_class_UnitsGeoKeys.adoc[]

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[cols="1,4",width="90%"]
|===
2+|*Requirements Class TBD: TextDefGeoKeys* {set:cellbgcolor:#CACCCE}
2+|http://www.opengis.net/spec/GeoTIFF/1.2/req/TextDefGeoKeys
{set:cellbgcolor:#FFFFFF}

|Requirement TBD.1 {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.2/req/TextDefGeoKeys.ID +
_The GeodeticCRSTextDefGeoKey SHALL have ID = 2063_

_The GeodeticDatumTextDefGeoKey SHALL have ID = 2064_

_The EllipsoidTextDefGeoKey SHALL have ID = 2065_

_The PrimeMeridianTextDefGeoKey SHALL have ID = 2066_

_The ProjectedCRSTextDefGeoKey SHALL have ID = 3097_

_The ProjectionTextDefGeoKey SHALL have ID = 3098_

_The VerticalTextDefGeoKey SHALL have ID = 4100_

_The VerticalDatumTextDefGeoKey SHALL have ID = 4101_
{set:cellbgcolor:#FFFFFF}

|Requirement TBD.2 {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.2/req/TextDefGeoKeys.type +
_The TextDefGeoKeys SHALL have type = ASCII_
{set:cellbgcolor:#FFFFFF}

|Requirement TBD.3 {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.2/req/TextDefGeoKeys.url +
_If the textual definition is a URL (type 1),
then the Ascii string SHOULD be of the form
`http://www.opengis.net/def/crs/{authority}/{version}/{code}`.
The `www.opengis.net` part SHALL be something else if the defining authority is not OGC._
A `{version}` value of 0 means to use the latest version of the definition.

|Requirement TBD.4 {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.2/req/TextDefGeoKeys.wkt +
_If the textual definition is a Well-Known Text (type 2),
then the Ascii string SHALL be a valid WKT definition as specified by ISO 19162:2019.
Carriage returns are allowed for readability and should be treated as white spaces.
{set:cellbgcolor:#FFFFFF}
|===
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@ _The GTModelTypeGeoKey SHALL have type = SHORT_
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GTModelTypeGeoKey.value +
_The GTModelTypeGeoKey value SHALL be:_

* 0 to indicate that the Model CRS in undefined or unknown; or
* 0 to indicate that the Model CRS in undefined or unknown; or

* 1 to indicate that the Model CRS is a 2D projected coordinate reference system, indicated by the value of the ProjectedCRSGeoKey; or
* 1 to indicate that the Model CRS is a 2D projected coordinate reference system, indicated by the value of the ProjectedCRSGeoKey; or

* 2 to indicate that the Model CRS is a geographic 2D coordinate reference system, indicated by the value of the GeodeticCRSGeoKey; or
* 2 to indicate that the Model CRS is a geographic 2D coordinate reference system, indicated by the value of the GeodeticCRSGeoKey; or

* 3 to indicate that the Model CRS is a geocentric Cartesian 3D coordinate reference system, indicated by the value of the GeodeticCRSGeoKey; or
* 3 to indicate that the Model CRS is a geocentric Cartesian 3D coordinate reference system, indicated by the value of the GeodeticCRSGeoKey; or

* 32767 to indicate that the Model CRS type is user-defined.
* 32767 to indicate that the Model CRS type is user-defined.
{set:cellbgcolor:#FFFFFF}

|Requirement 8.5 {set:cellbgcolor:#CACCCE}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[cols="1,4",width="90%"]
|===
2+|*Requirements Class 21.0: EllipsoidGeoKey* {set:cellbgcolor:#CACCCE}
2+|http://www.opengis.net/spec/GeoTIFF/1.1/req/EllipsoidGeoKey
2+|http://www.opengis.net/spec/GeoTIFF/1.2/req/EllipsoidGeoKey
{set:cellbgcolor:#FFFFFF}

|Requirement 21.1 {set:cellbgcolor:#CACCCE}
Expand All @@ -14,9 +14,16 @@ _The EllipsoidGeoKey SHALL have ID = 2056_
_The EllipsoidGeoKey SHALL have type = SHORT_
{set:cellbgcolor:#FFFFFF}

|Requirement TBD {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.2/req/EllipsoidGeoKey.authority
_If the EllipsoidGeoKey value is 1 (authority code specified by URL)
or 2 (full definition provided by WKT 2),
then the EllipsoidTextDefGeoKey SHALL be populated._
{set:cellbgcolor:#FFFFFF}

|Requirement 21.3 {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.1/req/EllipsoidGeoKey.reserved
_EllipsoidGeoKey values in the range 1-1023 SHALL be reserved_
|http://www.opengis.net/spec/GeoTIFF/1.2/req/EllipsoidGeoKey.reserved
_EllipsoidGeoKey values in the range 3-1023 SHALL be reserved_
{set:cellbgcolor:#FFFFFF}

|Requirement 21.4 {set:cellbgcolor:#CACCCE}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[cols="1,4",width="90%"]
|===
2+|*Requirements Class 13.0: GeodeticCRSGeoKey* {set:cellbgcolor:#CACCCE}
2+|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeodeticCRSGeoKey
2+|http://www.opengis.net/spec/GeoTIFF/1.2/req/GeodeticCRSGeoKey
{set:cellbgcolor:#FFFFFF}

|Requirement 13.1 {set:cellbgcolor:#CACCCE}
Expand All @@ -14,9 +14,16 @@ _The GeodeticCRSGeoKey SHALL have ID = 2048_
_The GeodeticCRSGeoKey SHALL have type = SHORT_
{set:cellbgcolor:#FFFFFF}

|Requirement TBD {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.2/req/EllipsoidGeoKey.authority
_If the GeodeticCRSGeoKey value is 1 (authority code specified by URL)
or 2 (full definition provided by WKT 2),
then the GeodeticCRSTextDefGeoKey SHALL be populated._
{set:cellbgcolor:#FFFFFF}

|Requirement 13.3 {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeodeticCRSGeoKey.reserved +
_GeodeticCRSGeoKey values in the range 1-1023 SHALL be reserved._
|http://www.opengis.net/spec/GeoTIFF/1.2/req/GeodeticCRSGeoKey.reserved +
_GeodeticCRSGeoKey values in the range 3-1023 SHALL be reserved._

NOTE: In GeoTIFF v1.0 the reserved ranges were 1001-3999 and 5000-32766.
{set:cellbgcolor:#FFFFFF}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[cols="1,4",width="90%"]
|===
2+|*Requirements Class 18.0: GeodeticDatumGeoKey* {set:cellbgcolor:#CACCCE}
2+|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeodeticDatumGeoKey
2+|http://www.opengis.net/spec/GeoTIFF/1.2/req/GeodeticDatumGeoKey
{set:cellbgcolor:#FFFFFF}

|Requirement 18.1 {set:cellbgcolor:#CACCCE}
Expand All @@ -14,9 +14,16 @@ _The GeodeticDatumGeoKey SHALL have ID = 2050_
_The GeodeticDatumGeoKey SHALL have type = SHORT_
{set:cellbgcolor:#FFFFFF}

|Requirement TBD {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.2/req/GeodeticDatumGeoKey.authority
_If the GeodeticDatumGeoKey value is 1 (authority code specified by URL)
or 2 (full definition provided by WKT 2),
then the GeodeticDatumTextDefGeoKey SHALL be populated._
{set:cellbgcolor:#FFFFFF}

|Requirement 18.3 {set:cellbgcolor:#CACCCE}
|http://www.opengis.net/spec/GeoTIFF/1.1/req/GeodeticDatumGeoKey.reserved +
_GeodeticDatumGeoKey values in the range 1-1023 SHALL be reserved._
|http://www.opengis.net/spec/GeoTIFF/1.2/req/GeodeticDatumGeoKey.reserved +
_GeodeticDatumGeoKey values in the range 3-1023 SHALL be reserved._

NOTE: In GeoTIFF v1.0 the reserved ranges were 1001-5999 and 7000-32766.
{set:cellbgcolor:#FFFFFF}
Expand Down
Loading