opengeospatial / NamingAuthority

Primary repo for the OGC Naming Authority
6 stars 12 forks source link

Register CRS resources used by JSON-FG #273

Closed cportele closed 3 months ago

cportele commented 5 months ago

OGC Features and Geometry JSON (JSON-FG) uses three coordinate reference systems in the candidate standard that currently are not registered. They are specified in an Annex.

The public comment period for the document should start soon. In parallel, the JSON-FG SWG requests that the OGC-NA considers the three CRSs for registration and for assigning URIs.

The first two CRSs are engineering CRSs in 2D and 3D with an unknown origin/datum and a Cartesian Coordinate System. Their support in JSON-FG follows their support in the OGC GeoPackage standard where a reserved srs_id of -1 is used. Since JSON-FG uses URIs to identify CRSs, there is a need to register the CRSs.

The third CRS is a temporal CRS to support DateTime values in Gregorian calendar. The definition has been derived from the example E.4.1 in the OGC Abstract Specification Topic 2 "Definition of a Temporal CRS in which axis quantity is DateTime". Such a temporal CRS is missing in the register also for other uses. Sometimes http://www.opengis.net/def/uom/ISO-8601/0/Gregorian is used instead, but this is not a temporal CRS, it is a calendar (which for some reason has been registered as a unit of measure).

The three CRSs are included here in their GML 3.2 representation, which is used in the OGC register, for completeness. Note that GML 3.2 implements an older model for coordinate reference systems. The information in Topic 2 has been mapped to the XML schema of GML 3.2. A Well-Known-Text or PROJJSON representation would support encoding the CRS definition according to the current version of Topic 2.

<gml:EngineeringCRS xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gml:id="engineering-2d" xsi:schemaLocation="http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd">
  <gml:identifier codeSpace="OGC">engineering-2d</gml:identifier>
  <gml:name>Engineering CRS (2D) with an unknown origin and a Cartesian CS</gml:name>
  <gml:scope>
    A coordinate reference system used to describe spatial location over small areas of the Earth using a flat-Earth approximation of the Earth’s surface: corrections for Earth-curvature are not applied. Typical applications are for civil engineering construction and building information management. The origin of the datum is unknown.
  </gml:scope>
  <gml:cartesianCS>
    <gml:CartesianCS gml:id="cartesian-local-3d">
      <gml:identifier codeSpace="OGC">cartesian-local-3d</gml:identifier>
      <gml:name>Cartesian 2D CS (right-handed). Axes: x,y. Orientations: unspecified, unspecified. UoM: m.</gml:name>
      <gml:remarks>The location of the origin is unspecified. The direction of the two axes is unspecified except that the axes form a right-handed CRS. For use in engineering coordinate reference systems.</gml:remarks>
      <gml:axis>
        <gml:CoordinateSystemAxis gml:id="x-local" uom="http://www.opengis.net/def/uom/UCUM/0/m">
          <gml:identifier codeSpace="OGC">x-local</gml:identifier>
          <gml:remarks>For use in engineering coordinate reference systems.</gml:remarks>
          <gml:axisAbbrev>x</gml:axisAbbrev>
          <gml:axisDirection codeSpace="OGC">unspecified</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:axis>
      <gml:axis>
        <gml:CoordinateSystemAxis gml:id="y-local" uom="http://www.opengis.net/def/uom/UCUM/0/m">
          <gml:identifier codeSpace="OGC">y-local</gml:identifier>
          <gml:remarks>For use in engineering coordinate reference systems.</gml:remarks>
          <gml:axisAbbrev>y</gml:axisAbbrev>
          <gml:axisDirection codeSpace="OGC">unspecified</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:axis>
    </gml:CartesianCS>
  </gml:cartesianCS>
  <gml:engineeringDatum>
    <gml:EngineeringDatum gml:id="engineering-unknown-origin">
      <gml:identifier codeSpace="OGC">engineering-unknown-origin</gml:identifier>
      <gml:name>Engineering Datum with an unknown origin</gml:name>
      <gml:scope>For use in unspecified engineering coordinate reference systems.</gml:scope>
    </gml:EngineeringDatum>
  </gml:engineeringDatum>
</gml:EngineeringCRS>
<gml:EngineeringCRS xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gml:id="engineering-3d" xsi:schemaLocation="http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd">
  <gml:identifier codeSpace="OGC">engineering-3d</gml:identifier>
  <gml:name>Engineering CRS (3D) with an unknown origin and a Cartesian CS</gml:name>
  <gml:scope>
    A coordinate reference system used to describe spatial location over small areas of the Earth using a flat-Earth approximation of the Earth’s surface: corrections for Earth-curvature are not applied. Typical applications are for civil engineering construction and building information management. The origin of the datum is unknown.
  </gml:scope>
  <gml:cartesianCS>
    <gml:CartesianCS gml:id="cartesian-local-3d">
      <gml:identifier codeSpace="OGC">cartesian-local-3d</gml:identifier>
      <gml:name>Cartesian 3D CS (right-handed). Axes: x,y,z. Orientations: unspecified, unspecified, up. UoM: m.</gml:name>
      <gml:remarks>The location of the origin is unspecified. The direction of the first two axes is unspecified except that the three axes form a right-handed CRS. For use in engineering coordinate reference systems.</gml:remarks>
      <gml:axis>
        <gml:CoordinateSystemAxis gml:id="x-local" uom="http://www.opengis.net/def/uom/UCUM/0/m">
          <gml:identifier codeSpace="OGC">x-local</gml:identifier>
          <gml:remarks>For use in engineering coordinate reference systems.</gml:remarks>
          <gml:axisAbbrev>x</gml:axisAbbrev>
          <gml:axisDirection codeSpace="OGC">unspecified</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:axis>
      <gml:axis>
        <gml:CoordinateSystemAxis gml:id="y-local" uom="http://www.opengis.net/def/uom/UCUM/0/m">
          <gml:identifier codeSpace="OGC">y-local</gml:identifier>
          <gml:remarks>For use in engineering coordinate reference systems.</gml:remarks>
          <gml:axisAbbrev>y</gml:axisAbbrev>
          <gml:axisDirection codeSpace="OGC">unspecified</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:axis>
      <gml:axis>
        <gml:CoordinateSystemAxis gml:id="z-local" uom="http://www.opengis.net/def/uom/UCUM/0/m">
          <gml:identifier codeSpace="OGC">z-local</gml:identifier>
          <gml:remarks>For use in engineering coordinate reference systems.</gml:remarks>
          <gml:axisAbbrev>z</gml:axisAbbrev>
          <gml:axisDirection codeSpace="OGC">up</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:axis>
    </gml:CartesianCS>
  </gml:cartesianCS>
  <gml:engineeringDatum>
    <gml:EngineeringDatum gml:id="engineering-unknown-origin">
      <gml:identifier codeSpace="OGC">engineering-unknown-origin</gml:identifier>
      <gml:name>Engineering Datum with an unknown origin</gml:name>
      <gml:scope>For use in unspecified engineering coordinate reference systems.</gml:scope>
    </gml:EngineeringDatum>
  </gml:engineeringDatum>
</gml:EngineeringCRS>
<gml:TemporalCRS xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gml:id="datetime" xsi:schemaLocation="http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd">
  <gml:identifier codeSpace="OGC">datetime</gml:identifier>
  <gml:name>DateTime in Gregorian calendar</gml:name>
  <gml:remarks>This definition was derived from the example E.4.1 in OGC Abstract Specification in Topic 2 "Definition of a Temporal CRS in which axis quantity is DateTime" (https://docs.ogc.org/as/18-005r4/18-005r4.html#118). Since GML 3.2 implements an older model for coordinate reference systems, the information in Topic 2 has been mapped to the XML schema of GML 3.2. A Well-Known-Text or PROJJSON representation would support encoding the CRS definition according to the current version of Topic 2.</gml:remarks>
  <gml:domainOfValidity>
    <gmd:EX_Extent>
      <gmd:temporalElement>
        <gmd:EX_TemporalExtent>
          <gmd:extent>
            <gml:TimePeriod>
              <gml:beginPosition>1582-10-15</gml:beginPosition>
              <gml:endPosition indeterminatePosition="unknown"/>
            </gml:TimePeriod>
          </gmd:extent>
        </gmd:EX_TemporalExtent>
      </gmd:temporalElement>
    </gmd:EX_Extent>
  </gml:domainOfValidity>
  <gml:scope>Date/time as defined in ISO 8601.</gml:scope>
  <gml:timeCS>
    <gml:TimeCS gml:id="DateTime">
      <gml:identifier codeSpace="OGC">DateTime</gml:identifier>
      <gml:name>DateTime. Axis: T. Orientation: future.</gml:name>
      <gml:axis>
        <gml:CoordinateSystemAxis gml:id="dateTime" uom="not-applicable">
          <gml:identifier codeSpace="OGC">dateTime</gml:identifier>
          <gml:axisAbbrev>T</gml:axisAbbrev>
          <gml:axisDirection codeSpace="OGC">future</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:axis>
    </gml:TimeCS>
  </gml:timeCS>
  <gml:temporalDatum>
    <gml:TemporalDatum gml:id="gregorian">
      <gml:identifier codeSpace="OGC">gregorian</gml:identifier>
      <gml:name>Gregorian calendar</gml:name>
      <gml:scope>The Gregorian calendar has a reference point that assigns 20 May 1875 to the calendar day that the “Convention du Mètre” was signed in Paris.</gml:scope>
      <gml:origin>1875-05-20T00:00:00Z</gml:origin>
    </gml:TemporalDatum>
  </gml:temporalDatum>
</gml:TemporalCRS>
pebau commented 5 months ago

Hi Clemens, all,

appreciated that the registry is growing with further relevant CRSs. Regarding time, however, there is already quite a set of CRSs since several years. Have these been checked? Below they are listed for your convenience.

best, Peter

http://www.opengis.net/def/crs/OGC/0/_Temporal_templatehttp://www.opengis.net/def/crs/OGC/0/Temporalhttp://www.opengis.net/def/crs/OGC/0/_AnsiDate_templatehttp://www.opengis.net/def/crs/OGC/0/_ChronometricGeologicTime_templatehttp://www.opengis.net/def/crs/OGC/0/_JulianDate_templatehttp://www.opengis.net/def/crs/OGC/0/_TruncatedJulianDate_templatehttp://www.opengis.net/def/crs/OGC/0/AnsiDatehttp://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTimehttp://www.opengis.net/def/crs/OGC/0/JulianDatehttp://www.opengis.net/def/crs/OGC/0/TruncatedJulianDatehttp://www.opengis.net/def/crs/OGC/0/UnixTime

On 08.01.24 14:14, Clemens Portele wrote:

OGC Features and Geometry JSON (JSON-FG) uses three coordinate reference systems in the candidate standard that currently are not registered. They are specified in an Annex https://docs.ogc.org/DRAFTS/21-045.html#crs.

The public comment period for the document should start soon. In parallel, the JSON-FG SWG requests that the OGC-NA considers the three CRSs for registration and for assigning URIs.

The first two CRSs are engineering CRSs in 2D and 3D with an unknown origin/datum and a Cartesian Coordinate System. Their support in JSON-FG follows their support in the OGC GeoPackage standard https://www.geopackage.org/spec131/index.html#r11 where a reserved |srs_id| of |-1| is used. Since JSON-FG uses URIs to identify CRSs, there is a need to register the CRSs.

The third CRS is a temporal CRS to support DateTime values in Gregorian calendar. The definition has been derived from the example E.4.1 in the OGC Abstract Specification Topic 2 "Definition of a Temporal CRS in which axis quantity is DateTime" https://docs.ogc.org/as/18-005r4/18-005r4.html#118. Such a temporal CRS is missing in the register also for other uses. Sometimes http://www.opengis.net/def/uom/ISO-8601/0/Gregorian is used instead, but this is not a temporal CRS, it is a calendar (which for some reason has been registered as a unit of measure).

The three CRSs are included here in their GML 3.2 representation, which is used in the OGC register, for completeness. Note that GML 3.2 implements an older model for coordinate reference systems. The information in Topic 2 has been mapped to the XML schema of GML 3.2. A Well-Known-Text or PROJJSON representation would support encoding the CRS definition according to the current version of Topic 2.

engineering-2d Engineering CRS (2D) with an unknown origin and a Cartesian CS A coordinate reference system used to describe spatial location over small areas of the Earth using a flat-Earth approximation of the Earth’s surface: corrections for Earth-curvature are not applied. Typical applications are for civil engineering construction and building information management. The origin of the datum is unknown. cartesian-local-3d Cartesian 2D CS (right-handed). Axes: x,y. Orientations: unspecified, unspecified. UoM: m. The location of the origin is unspecified. The direction of the two axes is unspecified except that the axes form a right-handed CRS. For use in engineering coordinate reference systems. x-local For use in engineering coordinate reference systems. x unspecified y-local For use in engineering coordinate reference systems. y unspecified engineering-unknown-origin Engineering Datum with an unknown origin For use in unspecified engineering coordinate reference systems. engineering-3d Engineering CRS (3D) with an unknown origin and a Cartesian CS A coordinate reference system used to describe spatial location over small areas of the Earth using a flat-Earth approximation of the Earth’s surface: corrections for Earth-curvature are not applied. Typical applications are for civil engineering construction and building information management. The origin of the datum is unknown. cartesian-local-3d Cartesian 3D CS (right-handed). Axes: x,y,z. Orientations: unspecified, unspecified, up. UoM: m. The location of the origin is unspecified. The direction of the first two axes is unspecified except that the three axes form a right-handed CRS. For use in engineering coordinate reference systems. x-local For use in engineering coordinate reference systems. x unspecified y-local For use in engineering coordinate reference systems. y unspecified z-local For use in engineering coordinate reference systems. z up engineering-unknown-origin Engineering Datum with an unknown origin For use in unspecified engineering coordinate reference systems. datetime DateTime in Gregorian calendar This definition was derived from the example E.4.1 in OGC Abstract Specification in Topic 2 "Definition of a Temporal CRS in which axis quantity is DateTime" (https://docs.ogc.org/as/18-005r4/18-005r4.html#118). Since GML 3.2 implements an older model for coordinate reference systems, the information in Topic 2 has been mapped to the XML schema of GML 3.2. A Well-Known-Text or PROJJSON representation would support encoding the CRS definition according to the current version of Topic 2. 1582-10-15 Date/time as defined in ISO 8601. DateTime DateTime. Axis: T. Orientation: future. dateTime T future gregorian Gregorian calendar The Gregorian calendar has a reference point that assigns 20 May 1875 to the calendar day that the “Convention du Mètre” was signed in Paris. 1875-05-20T00:00:00Z — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>

-- Dr. Peter Baumann

cportele commented 5 months ago

@pebau - Yes, we checked the existing definitions. None of them support the Gregorian Calendar as the temporal datum.

ghobona commented 5 months ago

@cportele How about giving the temporal CRS an identifer of datetime-gregorian ?

cportele commented 5 months ago

@ghobona - That should work, too. We just used datetime for now, since ISO 8601 / RFC 3339 are always based on the Gregorian calendar, but it is probably a good idea to be explicit.

pebau commented 5 months ago

friendly amendment: call it GregorianDate (or GregorianDateTime) to keep the common convention:

cportele commented 5 months ago

I agree, since there is an (implicit) convention for naming temporal CRS, it should be GregorianDateTime.

I personally prefer URIs which are all lower case, which is also what most so-called best practices for minting URIs recommend, but OGC URIs have always used upper case, too.

ghobona commented 5 months ago

@cportele Now that we have received feedback from the CRS DWG, I have placed the proposals into a folder on the repo and am ready to start the an OGC-NA vote.

https://github.com/opengeospatial/NamingAuthority/tree/master/incubation/json-fg

Could you please review the definitions, especially the proposed URIs and identifiers, and update the definitions (via Pull Request) if necessary?

ghobona commented 4 months ago

@pebau The OGC-NA telecon today approved the registration of the CRS definitions.

https://github.com/opengeospatial/NamingAuthority/tree/master/incubation/json-fg

Please proceed with registering the definitions.

pebau commented 4 months ago

@ghobona will do; the responsible staff member still is on vacation for a few days, hope to be done by the end of next week.

ghobona commented 3 months ago

The definitions have now been published.

http://www.opengis.net/def/crs/OGC/0/Engineering2D

http://www.opengis.net/def/crs/OGC/0/Engineering3D

http://www.opengis.net/def/crs/OGC/0/GregorianDateTime