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 | |||
skipping to change at page 23, line 15 ¶ | skipping to change at page 23, line 11 ¶ | |||
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/ |