| < draft-ietf-netmod-geo-location-08.txt | draft-ietf-netmod-geo-location-09.txt > | |||
|---|---|---|---|---|
| Network Working Group C. Hopps | Network Working Group C. Hopps | |||
| Internet-Draft LabN Consulting, L.L.C. | Internet-Draft LabN Consulting, L.L.C. | |||
| Intended status: Standards Track 16 April 2021 | Intended status: Standards Track 27 May 2021 | |||
| Expires: 18 October 2021 | Expires: 28 November 2021 | |||
| A YANG Grouping for Geographic Locations | A YANG Grouping for Geographic Locations | |||
| draft-ietf-netmod-geo-location-08 | draft-ietf-netmod-geo-location-09 | |||
| Abstract | Abstract | |||
| This document defines a generic geographical location object YANG | This document defines a generic geographical location YANG grouping. | |||
| grouping. The geographical location grouping is intended to be used | The geographical location grouping is intended to be used in YANG | |||
| in YANG models for specifying a location on or in reference to Earth | models for specifying a location on or in reference to Earth or any | |||
| or any other astronomical object. | other astronomical object. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 18 October 2021. | This Internet-Draft will expire on 28 November 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| skipping to change at page 2, line 30 ¶ | skipping to change at page 2, line 30 ¶ | |||
| 5.1.1. IETF URI Value . . . . . . . . . . . . . . . . . . . 13 | 5.1.1. IETF URI Value . . . . . . . . . . . . . . . . . . . 13 | |||
| 5.1.2. W3C . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 5.1.2. W3C . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 5.1.3. Geography Markup Language (GML) . . . . . . . . . . . 15 | 5.1.3. Geography Markup Language (GML) . . . . . . . . . . . 15 | |||
| 5.1.4. KML . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 5.1.4. KML . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 6.1. Geodetic System Values Registry . . . . . . . . . . . . . 17 | 6.1. Geodetic System Values Registry . . . . . . . . . . . . . 17 | |||
| 6.2. Updates to the IETF XML Registry . . . . . . . . . . . . 18 | 6.2. Updates to the IETF XML Registry . . . . . . . . . . . . 18 | |||
| 6.3. Updates to the YANG Module Names Registry . . . . . . . . 18 | 6.3. Updates to the YANG Module Names Registry . . . . . . . . 18 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
| 8. Normative References . . . . . . . . . . . . . . . . . . . . 19 | 8. Normative References . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9. Informative References . . . . . . . . . . . . . . . . . . . 21 | 9. Informative References . . . . . . . . . . . . . . . . . . . 20 | |||
| Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 22 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 25 | Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 24 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 25 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 1. Introduction | 1. Introduction | |||
| In many applications we would like to specify the location of | In many applications we would like to specify the location of | |||
| something geographically. Some examples of locations in networking | something geographically. Some examples of locations in networking | |||
| might be the location of data center, a rack in an internet exchange | might be the location of data center, a rack in an internet exchange | |||
| point, a router, a firewall, a port on some device, or it could be | point, a router, a firewall, a port on some device, or it could be | |||
| the endpoints of a fiber, or perhaps the failure point along a fiber. | the endpoints of a fiber, or perhaps the failure point along a fiber. | |||
| skipping to change at page 3, line 42 ¶ | skipping to change at page 3, line 42 ¶ | |||
| "earth". | "earth". | |||
| In addition to identifying the astronomical body, we also need to | In addition to identifying the astronomical body, we also need to | |||
| define the meaning of the coordinates (e.g., latitude and longitude) | define the meaning of the coordinates (e.g., latitude and longitude) | |||
| and the definition of 0-height. This is done with a "geodetic-datum" | and the definition of 0-height. This is done with a "geodetic-datum" | |||
| value. The default value for "geodetic-datum" is "wgs-84" (i.e., the | value. The default value for "geodetic-datum" is "wgs-84" (i.e., the | |||
| World Geodetic System, [WGS84]), which is used by the Global | World Geodetic System, [WGS84]), which is used by the Global | |||
| Positioning System (GPS) among many others. We define an IANA | Positioning System (GPS) among many others. We define an IANA | |||
| registry for specifying standard values for the "geodetic-datum". | registry for specifying standard values for the "geodetic-datum". | |||
| In addition to the "geodetic-datum" value, we allow refining the | In addition to the "geodetic-datum" value, we allow overriding the | |||
| coordinate and height accuracy using "coord-accuracy" and "height- | coordinate and height accuracy using "coord-accuracy" and "height- | |||
| accuracy" respectively. When specified, these values override the | accuracy" respectively. When specified, these values override the | |||
| defaults implied by the "geodetic-datum" value. | defaults implied by the "geodetic-datum" value. | |||
| Finally, we define an optional feature which allows for changing the | Finally, we define an optional feature which allows for changing the | |||
| system for which the above values are defined. This optional feature | system for which the above values are defined. This optional feature | |||
| adds an "alternate-system" value to the reference frame. This value | adds an "alternate-system" value to the reference frame. This value | |||
| is normally not present which implies the natural universe is the | is normally not present which implies the natural universe is the | |||
| system. The use of this value is intended to allow for creating | system. The use of this value is intended to allow for creating | |||
| virtual realities or perhaps alternate coordinate systems. The | virtual realities or perhaps alternate coordinate systems. The | |||
| definition of alternate systems is outside the scope of this | definition of alternate systems is outside the scope of this | |||
| document. | document. | |||
| 2.2. Location | 2.2. Location | |||
| This is the location on, or relative to, the astronomical object. It | This is the location on, or relative to, the astronomical object. It | |||
| is specified using 2 or 3 coordinates values. These values are given | is specified using 2 or 3 coordinates values. These values are given | |||
| either as "latitude", "longitude", and an optional "height", or as | either as "latitude", "longitude", and an optional "height", or as | |||
| Cartesian coordinates of "x", "y" and "z". For the standard location | Cartesian coordinates of "x", "y" and "z". For the standard location | |||
| choice "latitude" and "longitude" are specified as fractions of | choice "latitude" and "longitude" are specified as decimal degrees, | |||
| decimal degrees, and the "height" value is in fractions of meters. | and the "height" value is in fractions of meters. For the Cartesian | |||
| For the Cartesian choice "x", "y" and "z" are in fractions of meters. | choice "x", "y" and "z" are in fractions of meters. In both choices | |||
| In both choices the exact meanings of all the values are defined by | the exact meanings of all the values are defined by the "geodetic- | |||
| the "geodetic-datum" value in the Section 2.1. | datum" value in the Section 2.1. | |||
| 2.3. Motion | 2.3. Motion | |||
| Support is added for objects in relatively stable motion. For | Support is added for objects in relatively stable motion. For | |||
| objects in relatively stable motion the grouping provides a | objects in relatively stable motion the grouping provides a | |||
| 3-dimensional vector value. The components of the vector are | 3-dimensional vector value. The components of the vector are | |||
| "v-north", "v-east" and "v-up" which are all given in fractional | "v-north", "v-east" and "v-up" which are all given in fractional | |||
| meters per second. The values "v-north" and "v-east" are relative to | meters per second. The values "v-north" and "v-east" are relative to | |||
| true north as defined by the reference frame for the astronomical | true north as defined by the reference frame for the astronomical | |||
| body, "v-up" is perpendicular to the plane defined by "v-north" and | body, "v-up" is perpendicular to the plane defined by "v-north" and | |||
| skipping to change at page 8, line 37 ¶ | skipping to change at page 8, line 37 ¶ | |||
| type string { | type string { | |||
| pattern '[ -@\[-\^_-~]*'; | pattern '[ -@\[-\^_-~]*'; | |||
| } | } | |||
| default "earth"; | default "earth"; | |||
| description | description | |||
| "An astronomical body as named by the International | "An astronomical body as named by the International | |||
| Astronomical Union (IAU) or according to the alternate | Astronomical Union (IAU) or according to the alternate | |||
| system if specified. Examples include 'sun' (our star), | system if specified. Examples include 'sun' (our star), | |||
| 'earth' (our planet), 'moon' (our moon), 'enceladus' (a | 'earth' (our planet), 'moon' (our moon), 'enceladus' (a | |||
| moon of Saturn), 'ceres' (an asteroid), | moon of Saturn), 'ceres' (an asteroid), | |||
| '67p/churyumov-gerasimenko (a comet). The value should | '67p/churyumov-gerasimenko (a comet). The ASCII value | |||
| be comprised of all lower case ASCII characters not | SHOULD have upper case converted to lower case and not | |||
| including control characters (i.e., values 32..64, and | include control characters (i.e., values 32..64, and | |||
| 91..126). Any preceding 'the' in the name should not be | 91..126). Any preceding 'the' in the name SHOULD NOT be | |||
| included."; | included."; | |||
| reference "https://www.iau.org/"; | reference "https://www.iau.org/"; | |||
| } | } | |||
| container geodetic-system { | container geodetic-system { | |||
| description | description | |||
| "The geodetic system of the location data."; | "The geodetic system of the location data."; | |||
| leaf geodetic-datum { | leaf geodetic-datum { | |||
| type string { | type string { | |||
| pattern '[ -@\[-\^_-~]*'; | pattern '[ -@\[-\^_-~]*'; | |||
| } | } | |||
| default "wgs-84"; | ||||
| description | description | |||
| "A geodetic-datum defining the meaning of latitude, | "A geodetic-datum defining the meaning of latitude, | |||
| longitude and height. The default is 'wgs-84' which is | longitude and height. The default when the | |||
| used by the Global Positioning System (GPS). The value | astronomical body is 'earth' is 'wgs-84' which is | |||
| SHOULD be comprised of all lower case ASCII characters | used by the Global Positioning System (GPS). The | |||
| not including control characters (i.e., values 32..64, | ASCII value SHOULD have upper case converted to lower | |||
| and 91..126). The IANA registry further restricts the | case and not include control characters (i.e., values | |||
| value by converting all spaces (' ') to dashes ('-')"; | 32..64, and 91..126). The IANA registry further | |||
| restricts the value by converting all spaces (' ') to | ||||
| dashes ('-')"; | ||||
| reference | reference | |||
| "IANA XXXX YANG Geographic Location Parameters, | "IANA XXXX YANG Geographic Location Parameters, | |||
| Geodetic System Values"; | Geodetic System Values"; | |||
| } | } | |||
| leaf coord-accuracy { | leaf coord-accuracy { | |||
| type decimal64 { | type decimal64 { | |||
| fraction-digits 6; | fraction-digits 6; | |||
| } | } | |||
| description | description | |||
| "The accuracy of the latitude longitude pair for | "The accuracy of the latitude longitude pair for | |||
| skipping to change at page 9, line 34 ¶ | skipping to change at page 9, line 35 ¶ | |||
| accuracy."; | accuracy."; | |||
| } | } | |||
| leaf height-accuracy { | leaf height-accuracy { | |||
| type decimal64 { | type decimal64 { | |||
| fraction-digits 6; | fraction-digits 6; | |||
| } | } | |||
| units "meters"; | units "meters"; | |||
| description | description | |||
| "The accuracy of height value for ellipsoidal | "The accuracy of height value for ellipsoidal | |||
| coordinates, this value is not used with Cartesian | coordinates, this value is not used with Cartesian | |||
| coordinates. When specified, it overrides the | coordinates. When height-accuracy is specified, it | |||
| geodetic-datum implied default."; | overrides the geodetic-datum implied default."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| choice location { | choice location { | |||
| description | description | |||
| "The location data either in lat/long or Cartesian values"; | "The location data either in lat/long or Cartesian values"; | |||
| case ellipsoid { | case ellipsoid { | |||
| leaf latitude { | leaf latitude { | |||
| type decimal64 { | type decimal64 { | |||
| fraction-digits 16; | fraction-digits 16; | |||
| skipping to change at page 12, line 43 ¶ | skipping to change at page 12, line 43 ¶ | |||
| +---------+----------------------+------------------+ | +---------+----------------------+------------------+ | |||
| | A.1.2.5 | representation of | height value | | | A.1.2.5 | representation of | height value | | |||
| | | vertical position | conforms | | | | vertical position | conforms | | |||
| +---------+----------------------+------------------+ | +---------+----------------------+------------------+ | |||
| | A.1.2.6 | text string | N/A - No string | | | A.1.2.6 | text string | N/A - No string | | |||
| | | representation | format | | | | representation | format | | |||
| +---------+----------------------+------------------+ | +---------+----------------------+------------------+ | |||
| Table 1: Conformance Test Results | Table 1: Conformance Test Results | |||
| For test "A.1.2.1" the YANG geo location object either includes a CRS | For test "A.1.2.1" the YANG geo location object either includes a | |||
| ("reference-frame") or has a default defined ([WGS84]). | Coordinate Reference System (CRS) ("reference-frame") or has a | |||
| default defined ([WGS84]). | ||||
| For "A.1.2.3" we do not define our own CRS, and doing so is not | For "A.1.2.3" we do not define our own CRS, and doing so is not | |||
| required for conformance. | required for conformance. | |||
| For "A.1.2.6" we do not define a text string representation, which is | For "A.1.2.6" we do not define a text string representation, which is | |||
| also not required for conformance. | also not required for conformance. | |||
| 5. Usability | 5. Usability | |||
| The geo-location object defined in this document and YANG module have | The geo-location object defined in this document and YANG module have | |||
| been designed to be usable in a very broad set of applications. This | been designed to be usable in a very broad set of applications. This | |||
| includes the ability to locate things on astronomical bodies other | includes the ability to locate things on astronomical bodies other | |||
| than Earth, and to utilize entirely different coordinate systems and | than Earth, and to utilize entirely different coordinate systems and | |||
| realities. | realities. | |||
| 5.1. Portability | 5.1. Portability | |||
| In order to verify portability while developing this module the | In order to verify portability while developing this module the | |||
| following standards and standard APIs and were considered. | following standards and standard APIs were considered. | |||
| 5.1.1. IETF URI Value | 5.1.1. IETF URI Value | |||
| [RFC5870] defines a standard URI value for geographic location data. | [RFC5870] defines a standard URI value for geographic location data. | |||
| It includes the ability to specify the "geodetic-value" (it calls | It includes the ability to specify the "geodetic-value" (it calls | |||
| this "crs") with the default being "wgs-84" [WGS84]. For the | this "crs") with the default being "wgs-84" [WGS84]. For the | |||
| location data it allows 2 to 3 coordinates defined by the "crs" | location data it allows 2 to 3 coordinates defined by the "crs" | |||
| value. For accuracy, it has a single "u" parameter for specifying | value. For accuracy, it has a single "u" parameter for specifying | |||
| uncertainty. The "u" value is in fractions of meters and applies to | uncertainty. The "u" value is in fractions of meters and applies to | |||
| all the location values. As the URI is a string, all values are | all the location values. As the URI is a string, all values are | |||
| specifies as strings and so are capable of as much precision as | specified as strings and so are capable of as much precision as | |||
| required. | required. | |||
| URI values can be mapped to and from the YANG grouping, with the | URI values can be mapped to and from the YANG grouping, with the | |||
| caveat that some loss of precision (in the extremes) may occur due to | caveat that some loss of precision (in the extremes) may occur due to | |||
| the YANG grouping using decimal64 values rather than strings. | the YANG grouping using decimal64 values rather than strings. | |||
| 5.1.2. W3C | 5.1.2. W3C | |||
| W3C Defines a geo-location API in [W3CGEO]. We show a snippet of | W3C Defines a geo-location API in [W3CGEO]. We show a snippet of | |||
| code below which defines the geo-location data for this API. This is | code below which defines the geo-location data for this API. This is | |||
| skipping to change at page 14, line 16 ¶ | skipping to change at page 14, line 16 ¶ | |||
| readonly attribute GeolocationCoordinates coords; | readonly attribute GeolocationCoordinates coords; | |||
| readonly attribute DOMTimeStamp timestamp; | readonly attribute DOMTimeStamp timestamp; | |||
| }; | }; | |||
| interface GeolocationCoordinates { | interface GeolocationCoordinates { | |||
| readonly attribute double latitude; | readonly attribute double latitude; | |||
| readonly attribute double longitude; | readonly attribute double longitude; | |||
| readonly attribute double? altitude; | readonly attribute double? altitude; | |||
| readonly attribute double accuracy; | readonly attribute double accuracy; | |||
| readonly attribute double? altitudeAccuracy; | readonly attribute double? altitudeAccuracy; | |||
| readonly attribute double? heading; | ||||
| readonly attribute double? speed; | readonly attribute double? speed; | |||
| }; | }; | |||
| Figure 1: Snippet Showing Geo-Location Definition | Figure 1: Snippet Showing Geo-Location Definition | |||
| 5.1.2.1. Compare with YANG Model | 5.1.2.1. Compare with YANG Model | |||
| +------------------+--------------+-----------------+-------------+ | +------------------+--------------+-----------------+-------------+ | |||
| | Field | Type | YANG | Type | | | Field | Type | YANG | Type | | |||
| +==================+==============+=================+=============+ | +==================+==============+=================+=============+ | |||
| skipping to change at page 15, line 35 ¶ | skipping to change at page 15, line 35 ¶ | |||
| Conversely, only YANG values for Earth using the default "wgs-84" | Conversely, only YANG values for Earth using the default "wgs-84" | |||
| [WGS84] as the "geodetic-datum", can be directly mapped to the W3C | [WGS84] as the "geodetic-datum", can be directly mapped to the W3C | |||
| values, as W3C does not provide the extra features necessary to map | values, as W3C does not provide the extra features necessary to map | |||
| the broader set of values supported by the YANG grouping. | the broader set of values supported by the YANG grouping. | |||
| 5.1.3. Geography Markup Language (GML) | 5.1.3. Geography Markup Language (GML) | |||
| ISO adopted the Geography Markup Language (GML) defined by OGC 07-036 | ISO adopted the Geography Markup Language (GML) defined by OGC 07-036 | |||
| as [ISO.19136.2007]. GML defines, among many other things, a | as [ISO.19136.2007]. GML defines, among many other things, a | |||
| position type "gml:pos" which is a sequence of "double" values. This | position type "gml:pos" which is a sequence of "double" values. This | |||
| sequence of values represent coordinates in a given CRS. The CRS is | sequence of values represents coordinates in a given CRS. The CRS is | |||
| either inherited from containing elements or directly specified as | either inherited from containing elements or directly specified as | |||
| attributes "srsName" and optionally "srsDimension" on the "gml:pos". | attributes "srsName" and optionally "srsDimension" on the "gml:pos". | |||
| GML defines an Abstract CRS type which Concrete CRS types derive | GML defines an Abstract CRS type which Concrete CRS types derive | |||
| from. This allows for many types of CRS definitions. We are | from. This allows for many types of CRS definitions. We are | |||
| concerned with the Geodetic CRS type which can have either | concerned with the Geodetic CRS type which can have either | |||
| ellipsoidal or Cartesian coordinates. We believe that other non- | ellipsoidal or Cartesian coordinates. We believe that other non- | |||
| Earth based CRS as well as virtual CRS should also be representable | Earth based CRS as well as virtual CRS should also be representable | |||
| by the GML CRS types as well. | by the GML CRS types. | |||
| Thus, GML "gml:pos" values can be mapped directly to the YANG | Thus, GML "gml:pos" values can be mapped directly to the YANG | |||
| grouping, with the caveat that some loss of precision (in the | grouping, with the caveat that some loss of precision (in the | |||
| extremes) may occur due to the YANG grouping using decimal64 values | extremes) may occur due to the YANG grouping using decimal64 values | |||
| rather than doubles. | rather than doubles. | |||
| Conversely, YANG grouping values can be mapped to GML as directly as | Conversely, YANG grouping values can be mapped to GML as directly as | |||
| the GML CRS available definitions allow with a minimum of Earth-based | the GML CRS available definitions allow with a minimum of Earth-based | |||
| geodetic systems fully supported. | geodetic systems fully supported. | |||
| skipping to change at page 17, line 19 ¶ | skipping to change at page 17, line 19 ¶ | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| 6.1. Geodetic System Values Registry | 6.1. Geodetic System Values Registry | |||
| IANA is asked to create a new registry "Geodetic System Values" under | IANA is asked to create a new registry "Geodetic System Values" under | |||
| a new protocol category group "YANG Geographic Location Parameters". | a new protocol category group "YANG Geographic Location Parameters". | |||
| This registry allocates names for standard geodetic systems. Often | This registry allocates names for standard geodetic systems. Often | |||
| these values are referred to using multiple names (e.g., full names | these values are referred to using multiple names (e.g., full names | |||
| or multiple acronyms values). The intent of this registry is to | or multiple acronyms). The intent of this registry is to provide a | |||
| provide a single standard value for any given geodetic system. | single standard value for any given geodetic system. | |||
| The values SHOULD use an acronym when available, they MUST be | The values SHOULD use an acronym when available, they MUST be | |||
| converted to lower case, and spaces MUST be changed to dashes "-". | converted to lower case, and spaces MUST be changed to dashes "-". | |||
| Each entry should be sufficient to define the 3 coordinate values (2 | Each entry should be sufficient to define the 2 coordinate values, | |||
| if height is not required). So for example the "wgs-84" is defined | and to define height if height is required. So, for example, the | |||
| as WGS-84 with the geoid updated by at least [EGM96] for height | "wgs-84" is defined as WGS-84 with the geoid updated by at least | |||
| values. Specific entries for [EGM96] and [EGM08] are present if a | [EGM96] for height values. Specific entries for [EGM96] and [EGM08] | |||
| more precise definition of the data is required. | are present if a more precise definition of the data is required. | |||
| It should be noted that [RFC5870] also creates a registry for | It should be noted that [RFC5870] also creates a registry for | |||
| Geodetic Systems (it calls CRS); however, this registry has a very | Geodetic Systems (it calls CRS); however, this registry has a very | |||
| strict modification policy. The authors of [RFC5870] have the stated | strict modification policy. The authors of [RFC5870] have the stated | |||
| goal of making CRS registration hard to avoid proliferation of CRS | goal of making CRS registration hard to avoid proliferation of CRS | |||
| values. As our module defines alternate systems and has a broader | values. As our module defines alternate systems and has a broader | |||
| (beyond Earth) scope, the registry defined below is meant to be more | (beyond Earth) scope, the registry defined below is meant to be more | |||
| easily modified. | easily modified. | |||
| The allocation policy for this registry is First Come, First Served, | The allocation policy for this registry is First Come, First Served, | |||
| [RFC8126] as the intent is simply to avoid duplicate values. | [RFC8126] as the intent is simply to avoid duplicate values. | |||
| The initial values for this registry are as follows. | The initial values for this registry are as follows. | |||
| +------------+------------------------------------------------------+ | +-----------+------------------------------------------------------+ | |||
| | Name | Description | | | Name | Description | | |||
| +============+======================================================+ | +===========+======================================================+ | |||
| | me | Mean Earth/Polar Axis (Moon) | | | me | Mean Earth/Polar Axis (Moon) [ME] | | |||
| +------------+------------------------------------------------------+ | +-----------+------------------------------------------------------+ | |||
| | mola-vik-1 | MOLA Height, IAU Viking-1 PM (Mars) | | | wgs-84-96 | World Geodetic System 1984 [WGS84] w/ EGM96 | | |||
| +------------+------------------------------------------------------+ | +-----------+------------------------------------------------------+ | |||
| | wgs-84-96 | World Geodetic System 1984 [WGS84] w/ EGM96 | | | wgs-84-08 | World Geodetic System 1984 [WGS84] w/ [EGM08] | | |||
| +------------+------------------------------------------------------+ | +-----------+------------------------------------------------------+ | |||
| | wgs-84-08 | World Geodetic System 1984 [WGS84] w/ [EGM08] | | | wgs-84 | World Geodetic System 1984 [WGS84] (EGM96 or better) | | |||
| +------------+------------------------------------------------------+ | +-----------+------------------------------------------------------+ | |||
| | wgs-84 | World Geodetic System 1984 [WGS84] (EGM96 or | | ||||
| | | better) | | ||||
| +------------+------------------------------------------------------+ | ||||
| Table 3 | Table 3 | |||
| 6.2. Updates to the IETF XML Registry | 6.2. Updates to the IETF XML Registry | |||
| This document registers a URI in the "IETF XML Registry" [RFC3688]. | This document registers a URI in the "IETF XML Registry" [RFC3688]. | |||
| Following the format in [RFC3688], the following registration has | Following the format in [RFC3688], the following registration has | |||
| been made: | been made: | |||
| URI urn:ietf:params:xml:ns:yang:ietf-geo-location | URI urn:ietf:params:xml:ns:yang:ietf-geo-location | |||
| Registrant Contact The IESG. | Registrant Contact The IESG. | |||
| skipping to change at page 19, line 26 ¶ | skipping to change at page 19, line 26 ¶ | |||
| restrict access for particular NETCONF or RESTCONF users to a | restrict access for particular NETCONF or RESTCONF users to a | |||
| preconfigured subset of all available NETCONF or RESTCONF protocol | preconfigured subset of all available NETCONF or RESTCONF protocol | |||
| operations and content. | operations and content. | |||
| Since the modules defined in this document only define groupings, | Since the modules defined in this document only define groupings, | |||
| these considerations are primarily for the designers of other modules | these considerations are primarily for the designers of other modules | |||
| that use these groupings. | that use these groupings. | |||
| All the data nodes defined in this YANG module are | All the data nodes defined in this YANG module are | |||
| writable/creatable/deletable (i.e., "config true", which is the | writable/creatable/deletable (i.e., "config true", which is the | |||
| default). These data nodes may be considered sensitive or vulnerable | default). | |||
| in some network environments. Write operations (e.g., edit-config) | ||||
| to these data nodes without proper protection can have a negative | ||||
| effect on network operations. These are the subtrees and data nodes | ||||
| and their sensitivity/vulnerability: | ||||
| None of the writable/creatable/deletable data nodes in the YANG | None of the writable/creatable/deletable data nodes in the YANG | |||
| module defined in this document are by themselves considered more | module defined in this document are by themselves considered more | |||
| sensitive or vulnerable than standard configuration. | sensitive or vulnerable than standard configuration. | |||
| Some of the readable data nodes in this YANG module may be considered | Some of the readable data nodes in this YANG module may be considered | |||
| sensitive or vulnerable in some network environments. It is thus | sensitive or vulnerable in some network environments. It is thus | |||
| important to control read access (e.g., via get, get-config, or | important to control read access (e.g., via get, get-config, or | |||
| notification) to these data nodes. These are the subtrees and data | notification) to these data nodes. | |||
| nodes and their sensitivity/vulnerability: | ||||
| Since the grouping defined in this module identifies locations, | Since the grouping defined in this module identifies locations, | |||
| authors using this grouping SHOULD consider any privacy issues that | authors using this grouping SHOULD consider any privacy issues that | |||
| may arise when the data is readable (e.g., customer device locations, | may arise when the data is readable (e.g., customer device locations, | |||
| etc). | etc). | |||
| This document does not define any RPC actions and hence this section | ||||
| does not consider the security of RPCs. | ||||
| 8. Normative References | 8. Normative References | |||
| [EGM08] Pavlis, N.K., Holmes, S.A., Kenyon, S.C., and J.K. Factor, | [EGM08] Pavlis, N.K., Holmes, S.A., Kenyon, S.C., and J.K. Factor, | |||
| "An Earth Gravitational Model to Degree 2160: EGM08.", | "An Earth Gravitational Model to Degree 2160: EGM08.", | |||
| Presented at the 2008 General Assembly of the European | Presented at the 2008 General Assembly of the European | |||
| Geosciences Union, Vienna, Arpil13-18, 2008, 2008, | Geosciences Union, Vienna, Arpil13-18, 2008, 2008. | |||
| <http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008/ | ||||
| egm08_wgs84.html>. | ||||
| [EGM96] Lemoine, F.G., Kenyon, S.C., Factor, J.K., Trimmer, R.G., | [EGM96] Lemoine, F.G., Kenyon, S.C., Factor, J.K., Trimmer, R.G., | |||
| Pavlis, N.K., Chinn, D.S., Cox, C.M., Klosko, S.M., | Pavlis, N.K., Chinn, D.S., Cox, C.M., Klosko, S.M., | |||
| Luthcke, S.B., Torrence, M.H., Wang, Y.M., Williamson, | Luthcke, S.B., Torrence, M.H., Wang, Y.M., Williamson, | |||
| R.G., Pavlis, E.C., Rapp, R.H., and T.R. Olson, "The | R.G., Pavlis, E.C., Rapp, R.H., and T.R. Olson, "The | |||
| Development of the Joint NASA GSFC and the National | Development of the Joint NASA GSFC and the National | |||
| Imagery and Mapping Agency (NIMA) Geopotential Model | Imagery and Mapping Agency (NIMA) Geopotential Model | |||
| EGM96.", Technical Report NASA/TP-1998-206861, NASA, | EGM96.", Technical Report NASA/TP-1998-206861, NASA, | |||
| Greenbelt., 1998, | Greenbelt., 1998. | |||
| <https://cddis.nasa.gov/926/egm96/egm96.html>. | ||||
| [ISO.6709.2008] | [ISO.6709.2008] | |||
| International Organization for Standardization, "ISO | International Organization for Standardization, "ISO | |||
| 6709:2008 Standard representation of geographic point | 6709:2008 Standard representation of geographic point | |||
| location by coordinates.", 2008. | location by coordinates.", 2008. | |||
| [ME] National Aeronautics and Space Administration, Goddard | ||||
| Space Flight Center., "A Standardized Lunar Coordinate | ||||
| System for the Lunar Reconnaissance Orbiter, Version 4.", | ||||
| 14 May 2008. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | |||
| RFC 6991, DOI 10.17487/RFC6991, July 2013, | RFC 6991, DOI 10.17487/RFC6991, July 2013, | |||
| <https://www.rfc-editor.org/info/rfc6991>. | <https://www.rfc-editor.org/info/rfc6991>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| skipping to change at page 21, line 7 ¶ | skipping to change at page 20, line 44 ¶ | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
| and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
| (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8342>. | <https://www.rfc-editor.org/info/rfc8342>. | |||
| [WGS84] National Imagery and Mapping Agency., "National Imagery | [WGS84] National Imagery and Mapping Agency., "National Imagery | |||
| and Mapping Agency Technical Report 8350.2, Third | and Mapping Agency Technical Report 8350.2, Third | |||
| Edition.", 3 January 2000, <http://earth- | Edition.", 3 January 2000. | |||
| info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf>. | ||||
| 9. Informative References | 9. Informative References | |||
| [ISO.19136.2007] | [ISO.19136.2007] | |||
| International Organization for Standardization, "ISO | International Organization for Standardization, "ISO | |||
| 19136:2007 Geographic information -- Geography Markup | 19136:2007 Geographic information -- Geography Markup | |||
| Language (GML)". | Language (GML)". | |||
| [KML22] Wilson, T., Ed., "OGC KML (Version 2.2)", 14 April 2008, | [KML22] Wilson, T., Ed., "OGC KML (Version 2.2)", 14 April 2008, | |||
| <http://portal.opengeospatial.org/ | <http://portal.opengeospatial.org/ | |||
| skipping to change at page 22, line 43 ¶ | skipping to change at page 22, line 30 ¶ | |||
| prefix ugeo; | prefix ugeo; | |||
| import ietf-geo-location { prefix geo; } | import ietf-geo-location { prefix geo; } | |||
| organization "Empty Org"; | organization "Empty Org"; | |||
| contact "Example Author <eauthor@example.com>"; | contact "Example Author <eauthor@example.com>"; | |||
| description "Example use of geo-location"; | description "Example use of geo-location"; | |||
| revision 2019-02-02 { reference "None"; } | revision 2019-02-02 { reference "None"; } | |||
| container locatable-items { | container locatable-items { | |||
| description "container of locatable items"; | description "container of locatable items"; | |||
| list locatable-item { | list locatable-item { | |||
| key name; | key name; | |||
| description "A of locatable item"; | description "A locatable item"; | |||
| leaf name { | leaf name { | |||
| type string; | type string; | |||
| description "name of locatable item"; | description "name of locatable item"; | |||
| } | } | |||
| uses geo:geo-location; | uses geo:geo-location; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| Figure 2: Example YANG module using geo location. | Figure 2: Example YANG module using geo location. | |||
| Below is the YANG tree for the fictitious module that uses the geo- | Below is the YANG tree for the fictitious module that uses the geo- | |||
| location grouping. | location grouping. | |||
| module: example-uses-geo-location | module: example-uses-geo-location | |||
| +--rw locatable-items | +--rw locatable-items | |||
| +--rw locatable-item* [name] | +--rw locatable-item* [name] | |||
| +--rw name string | +--rw name string | |||
| +--rw geo-location | +--rw geo-location | |||
| +--rw reference-frame | +--rw reference-frame | |||
| | +--rw alternate-system? string {alternate-systems}? | | +--rw alternate-system? string | |||
| | | {alternate-systems}? | ||||
| | +--rw astronomical-body? string | | +--rw astronomical-body? string | |||
| | +--rw geodetic-system | | +--rw geodetic-system | |||
| | +--rw geodetic-datum? string | | +--rw geodetic-datum? string | |||
| | +--rw coord-accuracy? decimal64 | | +--rw coord-accuracy? decimal64 | |||
| | +--rw height-accuracy? decimal64 | | +--rw height-accuracy? decimal64 | |||
| +--rw (location)? | +--rw (location)? | |||
| | +--:(ellipsoid) | | +--:(ellipsoid) | |||
| | | +--rw latitude? decimal64 | | | +--rw latitude? decimal64 | |||
| | | +--rw longitude? decimal64 | | | +--rw longitude? decimal64 | |||
| | | +--rw height? decimal64 | | | +--rw height? decimal64 | |||
| skipping to change at page 25, line 12 ¶ | skipping to change at page 24, line 50 ¶ | |||
| Figure 3: Example XML data of geo location use. | Figure 3: Example XML data of geo location use. | |||
| Appendix B. Acknowledgments | Appendix B. Acknowledgments | |||
| We would like to thank Jim Biard and Ben Koziol for their reviews and | We would like to thank Jim Biard and Ben Koziol for their reviews and | |||
| suggested improvements. We would also like to thank Peter Lothberg | suggested improvements. We would also like to thank Peter Lothberg | |||
| for the motivation as well as help in defining a broadly useful | for the motivation as well as help in defining a broadly useful | |||
| geographic location object, and Acee Lindem and Qin Wu for their work | geographic location object, and Acee Lindem and Qin Wu for their work | |||
| on a geographic location object that led to this documents' creation. | on a geographic location object that led to this documents' creation. | |||
| We would also like to thank the document shepherd Kent Watsen. | ||||
| Author's Address | Author's Address | |||
| Christian Hopps | Christian Hopps | |||
| LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
| Email: chopps@chopps.org | Email: chopps@chopps.org | |||
| End of changes. 33 change blocks. | ||||
| 77 lines changed or deleted | 72 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||