rfc9179.original.xml | rfc9179.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?> | ||||
<?rfc toc="yes"?> | <!DOCTYPE rfc [ | |||
<?rfc compact="no"?> | <!ENTITY nbsp " "> | |||
<?rfc subcompact="no"?> | <!ENTITY zwsp "​"> | |||
<?rfc symrefs="yes" ?> | <!ENTITY nbhy "‑"> | |||
<?rfc sortrefs="yes"?> | <!ENTITY wj "⁠"> | |||
<?rfc iprnotified="no"?> | ]> | |||
<?rfc strict="yes"?> | ||||
<rfc ipr="trust200902" | <rfc ipr="trust200902" docName="draft-ietf-netmod-geo-location-11" number="9179" | |||
category="std" | submissionType="IETF" category="std" consensus="true" updates="" obsoletes="" x | |||
docName="draft-ietf-netmod-geo-location-11" submissionType="IETF" | mlns:xi="http://www.w3.org/2001/XInclude" tocInclude="true" sortRefs="true" symR | |||
consensus="true" tocInclude="true" version="3"> | efs="true" xml:lang="en" version="3"> | |||
<front> | <front> | |||
<title abbrev="A YANG Grouping for Geographic Locations">A YANG Grouping for Geographic Locations</title> | <title abbrev="A YANG Grouping for Geographic Locations">A YANG Grouping for Geographic Locations</title> | |||
<author initials='C.' surname='Hopps' fullname='Christian Hopps'><organization>L | <seriesInfo name="RFC" value="9179"/> | |||
abN Consulting, L.L.C.</organization><address><email>chopps@chopps.org</email></ | <author initials='C.' surname='Hopps' fullname='Christian Hopps'><organization>L | |||
address></author> <date/><abstract><t>This document defines a generic geographi | abN Consulting, L.L.C.</organization><address><email>chopps@chopps.org</email></ | |||
cal location YANG grouping. | address></author> | |||
<date year="2022" month="February" /> | ||||
<keyword>geolocation</keyword> | ||||
<abstract><t>This document defines a generic geographical location YANG grouping | ||||
. | ||||
The geographical location grouping is intended to be used in YANG | The geographical location grouping is intended to be used in YANG | |||
models for specifying a location on or in reference to Earth or any | data models for specifying a location on or in reference to Earth or any | |||
other astronomical object.</t></abstract> </front> <middle> | other astronomical object.</t></abstract> </front> <middle> | |||
<section title="Introduction"> | <section title="Introduction"> | |||
<t>In many applications we would like to specify the location of | <t>In many applications, we would like to specify the location of something | |||
something geographically. Some examples of locations in networking | geographically. Some examples of locations in networking might be the location | |||
might be the location of data center, a rack in an internet exchange | of data centers, a rack in an Internet exchange point, a router, a firewall, a | |||
point, a router, a firewall, a port on some device, or it could be | port on some device, or it could be the endpoints of a fiber, or perhaps the | |||
the endpoints of a fiber, or perhaps the failure point along a fiber.</t> | failure point along a fiber.</t> | |||
<t>Additionally, while this location is typically relative to Earth, | <t>Additionally, while this location is typically relative to Earth, | |||
it does not need to be. Indeed, it is easy to imagine a network or | it does not need to be. Indeed, it is easy to imagine a network or | |||
device located on The Moon, on Mars, on Enceladus (the moon of | device located on the Moon, on Mars, on Enceladus (the moon of | |||
Saturn) or even a comet (e.g., 67p/churyumov-gerasimenko).</t> | Saturn), or even on a comet (e.g., 67p/churyumov-gerasimenko).</t> | |||
<t>Finally, one can imagine defining locations using different frames | <t>Finally, one can imagine defining locations using different frames | |||
of reference or even alternate systems (e.g., simulations or | of reference or even alternate systems (e.g., simulations or | |||
virtual realities).</t> | virtual realities).</t> | |||
<t>This document defines a <tt>geo-location</tt> YANG grouping that allows for | <t>This document defines a '<tt>geo-location</tt>' YANG grouping that allows for | |||
all the above data to be captured.</t> | all the above data to be captured.</t> | |||
<t>This specification conforms to <xref target="ISO.6709.2008"/>.</t> | <t>This specification conforms to <xref target="ISO.6709.2008"/>.</t> | |||
<t>The YANG data model described in this document conforms to the | <t>The YANG data model described in this document conforms to the | |||
Network Management Datastore Architecture defined in <xref target="RFC8342"/>.</ t> | Network Management Datastore Architecture (NMDA) defined in <xref target="RFC834 2"/>.</t> | |||
<section title="Terminology"> | <section title="Terminology"> | |||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | <t> | |||
"OPTIONAL" in this document are to be interpreted as described in | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appe | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
ar in all capitals, | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
as shown here.</t> | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
be interpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section title="The Geo Location Object"> | <section title="The Geolocation Object"> | |||
<section title="Frame of Reference" anchor="sec-frame-of-reference"> | <section title="Frame of Reference" anchor="sec-frame-of-reference"> | |||
<t>The frame of reference (<tt>reference-frame</tt>) defines what the | <t>The frame of reference ('<tt>reference-frame</tt>') defines what the | |||
location values refer to and their meaning. The referred to | location values refer to and their meaning. The referred-to | |||
object can be any astronomical body. It could be a planet such as | object can be any astronomical body. It could be a planet such as | |||
Earth or Mars, a moon such as Enceladus, an asteroid such as | Earth or Mars, a moon such as Enceladus, an asteroid such as | |||
Ceres, or even a comet such as 1P/Halley. This value is specified | Ceres, or even a comet such as 1P/Halley. This value is specified | |||
in <tt>astronomical-body</tt> and is defined by the <eref target="http://www.iau | in '<tt>astronomical-body</tt>' and is defined by the <eref target="http://www.i | |||
.org">International | au.org" brackets="angle">International | |||
Astronomical Union</eref>. The default <tt>astronomical-body</tt> value is | Astronomical Union</eref>. The default '<tt>astronomical-body</tt>' value is | |||
<tt>earth</tt>.</t> | '<tt>earth</tt>'.</t> | |||
<t>In addition to identifying the astronomical body, we also need to | <t>In addition to identifying the astronomical body, we also need to define | |||
define the meaning of the coordinates (e.g., latitude and | the meaning of the coordinates (e.g., latitude and longitude) and the | |||
longitude) and the definition of 0-height. This is done with a | definition of 0-height. This is done with a '<tt>geodetic-datum</tt>' value. The | |||
<tt>geodetic-datum</tt> value. The default value for <tt>geodetic-datum</tt> is | default value for '<tt>geodetic-datum</tt>' is '<tt>wgs-84</tt>' (i.e., the Worl | |||
<tt>wgs-84</tt> (i.e., the World Geodetic System, <xref target="WGS84"/>), which | d | |||
is used | Geodetic System <xref target="WGS84"/>), which is used by the Global | |||
by the Global Positioning System (GPS) among many others. We | Positioning System (GPS) among many others. We define an IANA registry for | |||
define an IANA registry for specifying standard values for the | specifying standard values for the '<tt>geodetic-datum</tt>'.</t> | |||
<tt>geodetic-datum</tt>.</t> | ||||
<t>In addition to the <tt>geodetic-datum</tt> value, we allow overriding the | <t>In addition to the '<tt>geodetic-datum</tt>' value, we allow overriding the | |||
coordinate and height accuracy using <tt>coord-accuracy</tt> and | coordinate and height accuracy using '<tt>coord-accuracy</tt>' and | |||
<tt>height-accuracy</tt> respectively. When specified, these values | '<tt>height-accuracy</tt>', respectively. When specified, these values | |||
override the defaults implied by the <tt>geodetic-datum</tt> value.</t> | override the defaults implied by the '<tt>geodetic-datum</tt>' value.</t> | |||
<t>Finally, we define an optional feature which allows for changing | <t>Finally, we define an optional feature that allows for changing the system | |||
the system for which the above values are defined. This optional | for which the above values are defined. This optional feature adds an | |||
feature adds an <tt>alternate-system</tt> value to the reference frame. | '<tt>alternate-system</tt>' value to the reference frame. This value is | |||
This value is normally not present which implies the natural | normally not present, which implies the natural universe is the system. The use | |||
universe is the system. The use of this value is intended to | of this value is intended to allow for creating virtual realities or perhaps | |||
allow for creating virtual realities or perhaps alternate | alternate coordinate systems. The definition of alternate systems is outside | |||
coordinate systems. The definition of alternate systems is | the scope of this document.</t> | |||
outside the scope of this document.</t> | ||||
</section> | </section> | |||
<section title="Location"> | <section title="Location"> | |||
<t>This is the location on, or relative to, the astronomical object. | <t>This is the location on, or relative to, the astronomical object. It is | |||
It is specified using 2 or 3 coordinates values. These values are | specified using two or three coordinate values. These values are given either as | |||
given either as <tt>latitude</tt>, <tt>longitude</tt>, and an optional | '<tt>latitude</tt>', '<tt>longitude</tt>', and an optional '<tt>height</tt>', or | |||
<tt>height</tt>, or as Cartesian coordinates of <tt>x</tt>, <tt>y</tt> and <tt>z | as | |||
</tt>. For | Cartesian coordinates of '<tt>x</tt>', '<tt>y</tt>', and '<tt>z</tt>'. For the | |||
the standard location choice <tt>latitude</tt> and <tt>longitude</tt> are | standard location choice, '<tt>latitude</tt>' and '<tt>longitude</tt>' are | |||
specified as decimal degrees, and the <tt>height</tt> value | specified as decimal degrees, and the '<tt>height</tt>' value is in fractions of | |||
is in fractions of meters. For the Cartesian choice <tt>x</tt>, <tt>y</tt> and | meters. For the Cartesian choice, '<tt>x</tt>', '<tt>y</tt>', and '<tt>z</tt>' a | |||
<tt>z</tt> are in fractions of meters. In both choices the exact | re | |||
meanings of all the values are defined by the <tt>geodetic-datum</tt> | in fractions of meters. In both choices, the exact meanings of all the values | |||
value in the <xref target="sec-frame-of-reference"></xref>.</t> | are defined by the '<tt>geodetic-datum</tt>' value in <xref | |||
target="sec-frame-of-reference"></xref>.</t> | ||||
</section> | </section> | |||
<section title="Motion"> | <section title="Motion"> | |||
<t>Support is added for objects in relatively stable motion. For | <t>Support is added for objects in relatively stable motion. For objects in | |||
objects in relatively stable motion the grouping provides a | relatively stable motion, the grouping provides a three-dimensional vector | |||
3-dimensional vector value. The components of the vector are | value. The components of the vector are '<tt>v-north</tt>', '<tt>v-east</tt>', a | |||
<tt>v-north</tt>, <tt>v-east</tt> and <tt>v-up</tt> which are all given in fract | nd | |||
ional | '<tt>v-up</tt>', which are all given in fractional meters per second. The values | |||
meters per second. The values <tt>v-north</tt> and <tt>v-east</tt> are relative | '<tt>v-north</tt>' and '<tt>v-east</tt>' are relative to true north as defined b | |||
to true north as defined by the reference frame for the | y | |||
astronomical body, <tt>v-up</tt> is perpendicular to the plane defined | the reference frame for the astronomical body; '<tt>v-up</tt>' is perpendicular | |||
by <tt>v-north</tt> and <tt>v-east</tt>, and is pointed away from the center of | to the plane defined by '<tt>v-north</tt>' and '<tt>v-east</tt>', and is pointed | |||
mass.</t> | away from the center of mass.</t> | |||
<t>To derive the 2-dimensional heading and speed one would use the | <t>To derive the two-dimensional heading and speed, one would use the | |||
following formulas:</t> | following formulas:</t> | |||
<artwork><![CDATA[ | <artwork><![CDATA[ | |||
,------------------------------ | ,------------------------------ | |||
speed = V v_{north}^{2} + v_{east}^{2} | speed = V v_{north}^{2} + v_{east}^{2} | |||
heading = arctan(v_{east} / v_{north}) | heading = arctan(v_{east} / v_{north}) | |||
]]></artwork> | ]]></artwork> | |||
<t>For some applications that demand high accuracy and where the data is | ||||
<t>For some applications that demand high accuracy, and where the | infrequently updated, this velocity vector can track very slow movement such | |||
data is infrequently updated this velocity vector can track very | as continental drift.</t> | |||
slow movement such as continental drift.</t> | ||||
<t>Tracking more complex forms of motion is outside the scope of | <t>Tracking more complex forms of motion is outside the scope of | |||
this work. The intent of the grouping being defined here is to | this work. The intent of the grouping being defined here is to | |||
identify where something is located, and generally this is | identify where something is located, and generally this is | |||
expected to be somewhere on, or relative to, Earth (or another | expected to be somewhere on, or relative to, Earth (or another | |||
astronomical body). At least two options are available to YANG | astronomical body). | |||
models that wish to use this grouping with objects that are | ||||
changing location frequently in non-simple ways. They can add | At least two options are available to YANG data models that wish to use this | |||
additional motion data to their model directly. Or, if the | grouping with objects that are changing location frequently in non-simple | |||
application allows, it can require more frequent queries to keep | ways. A data model can either add additional motion data to its model | |||
the location data current.</t> | directly, or if the application allows, it can require more frequent queries | |||
to keep the location data current. | ||||
</t> | ||||
</section> | </section> | |||
<section title="Nested Locations"> | <section title="Nested Locations"> | |||
<t>When locations are nested (e.g., a building may have a location | <t>When locations are nested (e.g., a building may have a location that houses | |||
which houses routers that also have locations) the module using | routers that also have locations), the module using this grouping is free to | |||
this grouping is free to indicate in its definition that the | indicate in its definition that the '<tt>reference-frame</tt>' is inherited from | |||
<tt>reference-frame</tt> is inherited from the containing object so that | the containing object so that the '<tt>reference-frame</tt>' need not be | |||
the <tt>reference-frame</tt> need not be repeated in every instance of | repeated in every instance of location data.</t> | |||
location data.</t> | ||||
</section> | </section> | |||
<section title="Non-location Attributes"> | <section title="Non-location Attributes"> | |||
<t>During the development of this module, the question of whether it | <t>During the development of this module, the question of whether it | |||
would support data such as orientation arose. These types of | would support data such as orientation arose. These types of | |||
attributes are outside the scope of this grouping because they do | attributes are outside the scope of this grouping because they do | |||
not deal with a location but rather describe something more about | not deal with a location but rather describe something more about | |||
the object that is at the location. Module authors are free to | the object that is at the location. Module authors are free to | |||
add these non-location attributes along with their use of this | add these non-location attributes along with their use of this | |||
location grouping.</t> | location grouping.</t> | |||
</section> | </section> | |||
<section title="Tree"> | <section title="Tree"> | |||
<t>The following is the YANG tree diagram <xref target="RFC8340"/> for the | <t>The following is the YANG tree diagram <xref target="RFC8340"/> for the | |||
geo-location grouping.</t> | geo-location grouping.</t> | |||
<artwork><![CDATA[ | <sourcecode type="yangtree"><![CDATA[ | |||
module: ietf-geo-location | module: ietf-geo-location | |||
grouping geo-location | grouping geo-location: | |||
+-- geo-location | +-- geo-location | |||
+-- reference-frame | +-- reference-frame | |||
| +-- alternate-system? string {alternate-systems}? | | +-- alternate-system? string {alternate-systems}? | |||
| +-- astronomical-body? string | | +-- astronomical-body? string | |||
| +-- geodetic-system | | +-- geodetic-system | |||
| +-- geodetic-datum? string | | +-- geodetic-datum? string | |||
| +-- coord-accuracy? decimal64 | | +-- coord-accuracy? decimal64 | |||
| +-- height-accuracy? decimal64 | | +-- height-accuracy? decimal64 | |||
+-- (location)? | +-- (location)? | |||
| +--:(ellipsoid) | | +--:(ellipsoid) | |||
skipping to change at line 195 ¶ | skipping to change at line 201 ¶ | |||
| +--:(cartesian) | | +--:(cartesian) | |||
| +-- x? decimal64 | | +-- x? decimal64 | |||
| +-- y? decimal64 | | +-- y? decimal64 | |||
| +-- z? decimal64 | | +-- z? decimal64 | |||
+-- velocity | +-- velocity | |||
| +-- v-north? decimal64 | | +-- v-north? decimal64 | |||
| +-- v-east? decimal64 | | +-- v-east? decimal64 | |||
| +-- v-up? decimal64 | | +-- v-up? decimal64 | |||
+-- timestamp? yang:date-and-time | +-- timestamp? yang:date-and-time | |||
+-- valid-until? yang:date-and-time | +-- valid-until? yang:date-and-time | |||
]]></artwork> | ]]></sourcecode> | |||
</section> | </section> | |||
</section> | </section> | |||
<section title="YANG Module"> | <section title="YANG Module"> | |||
<t>This model imports Common YANG Data Types <xref target="RFC6991"/>. It uses Y ANG | <t>This model imports Common YANG Data Types <xref target="RFC6991"/>. It uses Y ANG | |||
version 1.1 <xref target="RFC7950"/></t> | version 1.1 <xref target="RFC7950"/>.</t> | |||
<sourcecode><![CDATA[ | <sourcecode name="ietf-geo-location@2022-2-7.yang" type="yang" markers="true"><! | |||
<CODE BEGINS> file "ietf-geo-location@2019-02-17.yang" | [CDATA[ | |||
module ietf-geo-location { | module ietf-geo-location { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-geo-location"; | namespace "urn:ietf:params:xml:ns:yang:ietf-geo-location"; | |||
prefix geo; | prefix geo; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
reference "RFC 6991: Common YANG Data Types."; | reference "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
organization | organization | |||
"IETF NETMOD Working Group (NETMOD)"; | "IETF NETMOD Working Group (NETMOD)"; | |||
contact | contact | |||
"WG Web: <https://datatracker.ietf.org/wg/netmod/> | "WG Web: <https://datatracker.ietf.org/wg/netmod/> | |||
WG List: <mailto:netmod@ietf.org> | WG List: <mailto:netmod@ietf.org> | |||
Editor: Christian Hopps | Editor: Christian Hopps | |||
<mailto:chopps@chopps.org>"; | <mailto:chopps@chopps.org>"; | |||
// RFC Ed.: replace XXXX with actual RFC number or IANA reference | ||||
// and remove this note. | ||||
description | description | |||
"This module defines a grouping of a container object for | "This module defines a grouping of a container object for | |||
specifying a location on or around an astronomical object (e.g., | specifying a location on or around an astronomical object (e.g., | |||
'earth'). | 'earth'). | |||
Copyright (c) 2019 IETF Trust and the persons identified as | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | ||||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | ||||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | ||||
they appear in all capitals, as shown here. | ||||
Copyright (c) 2022 IETF Trust and the persons identified as | ||||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
the license terms contained in, the Simplified BSD License set | the license terms contained in, the Revised BSD License set | |||
forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.e of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC 9179 | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | (https://www.rfc-editor.org/info/rfc9179); see the RFC itself | |||
for full legal notices. | for full legal notices."; | |||
// RFC Ed.: replace XXXX with the actual RFC number or IANA | ||||
// reference and remove this note. | ||||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | ||||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | ||||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | ||||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | ||||
they appear in all capitals, as shown here."; | ||||
revision 2019-02-17 { | revision 2022-2-7 { | |||
description "Initial Revision"; | description | |||
reference "RFC XXXX: A YANG Grouping for Geographic Locations"; | "Initial Revision"; | |||
reference | ||||
"RFC 9179: A YANG Grouping for Geographic Locations"; | ||||
} | } | |||
feature alternate-systems { | feature alternate-systems { | |||
description | description | |||
"This feature means the device supports specifying locations | "This feature means the device supports specifying locations | |||
using alternate systems for reference frames."; | using alternate systems for reference frames."; | |||
} | } | |||
grouping geo-location { | grouping geo-location { | |||
description | description | |||
"Grouping to identify a location on an astronomical object."; | "Grouping to identify a location on an astronomical object."; | |||
container geo-location { | container geo-location { | |||
description | description | |||
"A location on an astronomical body (e.g., 'earth') | "A location on an astronomical body (e.g., 'earth') | |||
somewhere in a universe."; | somewhere in a universe."; | |||
container reference-frame { | container reference-frame { | |||
description | description | |||
"The Frame of Reference for the location values."; | "The Frame of Reference for the location values."; | |||
leaf alternate-system { | leaf alternate-system { | |||
if-feature alternate-systems; | if-feature "alternate-systems"; | |||
type string; | type string; | |||
description | description | |||
"The system in which the astronomical body and | "The system in which the astronomical body and | |||
geodetic-datum is defined. Normally, this value is not | geodetic-datum is defined. Normally, this value is not | |||
present and the system is the natural universe; however, | present and the system is the natural universe; however, | |||
when present this value allows for specifying alternate | when present, this value allows for specifying alternate | |||
systems (e.g., virtual realities). An alternate-system | systems (e.g., virtual realities). An alternate-system | |||
modifies the definition (but not the type) of the other | modifies the definition (but not the type) of the other | |||
values in the reference frame."; | values in the reference frame."; | |||
} | } | |||
leaf astronomical-body { | leaf astronomical-body { | |||
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), and | |||
'67p/churyumov-gerasimenko (a comet). The ASCII value | '67p/churyumov-gerasimenko (a comet). The ASCII value | |||
SHOULD have upper case converted to lower case and not | SHOULD have uppercase converted to lowercase and not | |||
include 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 '[ -@\[-\^_-~]*'; | |||
} | } | |||
description | description | |||
"A geodetic-datum defining the meaning of latitude, | "A geodetic-datum defining the meaning of latitude, | |||
longitude and height. The default when the | longitude, and height. The default when the | |||
astronomical body is 'earth' is 'wgs-84' which is | astronomical body is 'earth' is 'wgs-84', which is | |||
used by the Global Positioning System (GPS). The | used by the Global Positioning System (GPS). The | |||
ASCII value SHOULD have upper case converted to lower | ASCII value SHOULD have uppercase converted to | |||
case and not include control characters (i.e., values | lowercase and not include control characters | |||
32..64, and 91..126). The IANA registry further | (i.e., values 32..64, and 91..126). The IANA registry | |||
restricts the value by converting all spaces (' ') to | further restricts the value by converting all spaces | |||
dashes ('-'). | (' ') to dashes ('-'). | |||
The specification for the geodetic-datum indicates | The specification for the geodetic-datum indicates | |||
how accurately it models the astronomical body in | how accurately it models the astronomical body in | |||
question, both for the 'horizontal' | question, both for the 'horizontal' | |||
latitude/longitude coordinates and for height | latitude/longitude coordinates and for height | |||
coordinates."; | coordinates."; | |||
reference | reference | |||
"IANA XXXX YANG Geographic Location Parameters, | "RFC 9179: A YANG Grouping for Geographic Locations, | |||
Geodetic System Values"; | Section 6.1"; | |||
} | } | |||
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 | |||
ellipsoidal coordinates, or the X, Y and Z components | ellipsoidal coordinates, or the X, Y, and Z components | |||
for Cartesian coordinates. When coord-accuracy is | for Cartesian coordinates. When coord-accuracy is | |||
specified, it indicates how precisely the coordinates | specified, it indicates how precisely the coordinates | |||
in the associated list of locations have been | in the associated list of locations have been | |||
determined with respect to the coordinate system | determined with respect to the coordinate system | |||
defined by the geodetic-datum. For example, there | defined by the geodetic-datum. For example, there | |||
might be uncertainty due to measurement error if an | might be uncertainty due to measurement error if an | |||
experimental measurement was made to determine each | experimental measurement was made to determine each | |||
location."; | location."; | |||
} | } | |||
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 the height value for ellipsoidal | |||
coordinates, this value is not used with Cartesian | coordinates; this value is not used with Cartesian | |||
coordinates. When height-accuracy is specified, it | coordinates. When height-accuracy is specified, it | |||
indicates how precisely the heights in the | indicates how precisely the heights in the | |||
associated list of locations have been determined | associated list of locations have been determined | |||
with respect to the coordinate system defined by the | with respect to the coordinate system defined by the | |||
geodetic-datum. For example, there might be | geodetic-datum. For example, there might be | |||
uncertainty due to measurement error if an | uncertainty due to measurement error if an | |||
experimental measurement was made to determine each | experimental measurement was made to determine each | |||
location."; | location."; | |||
} | } | |||
} | } | |||
} | } | |||
choice location { | choice location { | |||
description | description | |||
"The location data either in lat/long or Cartesian values"; | "The location data either in latitude/longitude or | |||
Cartesian values"; | ||||
case ellipsoid { | case ellipsoid { | |||
leaf latitude { | leaf latitude { | |||
type decimal64 { | type decimal64 { | |||
fraction-digits 16; | fraction-digits 16; | |||
} | } | |||
units "decimal degrees"; | units "decimal degrees"; | |||
description | description | |||
"The latitude value on the astronomical body. The | "The latitude value on the astronomical body. The | |||
definition and precision of this measurement is | definition and precision of this measurement is | |||
indicated by the reference-frame."; | indicated by the reference-frame."; | |||
} | } | |||
leaf longitude { | leaf longitude { | |||
type decimal64 { | type decimal64 { | |||
fraction-digits 16; | fraction-digits 16; | |||
} | } | |||
units "decimal degrees"; | units "decimal degrees"; | |||
description | description | |||
"The longitude value on the astronomical body. The | "The longitude value on the astronomical body. The | |||
definition and precision of this measurement is | definition and precision of this measurement is | |||
indicated by the reference-frame."; | indicated by the reference-frame."; | |||
} | } | |||
leaf height { | leaf height { | |||
type decimal64 { | type decimal64 { | |||
fraction-digits 6; | fraction-digits 6; | |||
} | } | |||
units "meters"; | units "meters"; | |||
description | description | |||
"Height from a reference 0 value. The precision and '0' | "Height from a reference 0 value. The precision and | |||
value is defined by the reference-frame."; | '0' value is defined by the reference-frame."; | |||
} | } | |||
} | } | |||
case cartesian { | case cartesian { | |||
leaf x { | leaf x { | |||
type decimal64 { | type decimal64 { | |||
fraction-digits 6; | fraction-digits 6; | |||
} | } | |||
units "meters"; | units "meters"; | |||
description | description | |||
"The X value as defined by the reference-frame."; | "The X value as defined by the reference-frame."; | |||
skipping to change at line 434 ¶ | skipping to change at line 437 ¶ | |||
fraction-digits 6; | fraction-digits 6; | |||
} | } | |||
units "meters"; | units "meters"; | |||
description | description | |||
"The Z value as defined by the reference-frame."; | "The Z value as defined by the reference-frame."; | |||
} | } | |||
} | } | |||
} | } | |||
container velocity { | container velocity { | |||
description | description | |||
"If the object is in motion the velocity vector describes | "If the object is in motion, the velocity vector describes | |||
this motion at the the time given by the timestamp. For a | this motion at the time given by the timestamp. For a | |||
formula to convert these values to speed and heading see | formula to convert these values to speed and heading, see | |||
RFC XXXX."; | RFC 9179."; | |||
reference | reference | |||
"RFC XXXX: A YANG Grouping for Geographic Locations"; | "RFC 9179: A YANG Grouping for Geographic Locations"; | |||
leaf v-north { | leaf v-north { | |||
type decimal64 { | type decimal64 { | |||
fraction-digits 12; | fraction-digits 12; | |||
} | } | |||
units "meters per second"; | units "meters per second"; | |||
description | description | |||
"v-north is the rate of change (i.e., speed) towards | "v-north is the rate of change (i.e., speed) towards | |||
truth north as defined by the geodetic-system."; | true north as defined by the geodetic-system."; | |||
} | } | |||
leaf v-east { | leaf v-east { | |||
type decimal64 { | type decimal64 { | |||
fraction-digits 12; | fraction-digits 12; | |||
} | } | |||
units "meters per second"; | units "meters per second"; | |||
description | description | |||
"v-east is the rate of change (i.e., speed) perpendicular | "v-east is the rate of change (i.e., speed) perpendicular | |||
to the right of true north as defined by | to the right of true north as defined by | |||
skipping to change at line 474 ¶ | skipping to change at line 477 ¶ | |||
fraction-digits 12; | fraction-digits 12; | |||
} | } | |||
units "meters per second"; | units "meters per second"; | |||
description | description | |||
"v-up is the rate of change (i.e., speed) away from the | "v-up is the rate of change (i.e., speed) away from the | |||
center of mass."; | center of mass."; | |||
} | } | |||
} | } | |||
leaf timestamp { | leaf timestamp { | |||
type yang:date-and-time; | type yang:date-and-time; | |||
description "Reference time when location was recorded."; | description | |||
"Reference time when location was recorded."; | ||||
} | } | |||
leaf valid-until { | leaf valid-until { | |||
type yang:date-and-time; | type yang:date-and-time; | |||
description | description | |||
"The timestamp for which this geo-location is valid until. | "The timestamp for which this geo-location is valid until. | |||
If unspecified the geo-location has no specific expiration | If unspecified, the geo-location has no specific | |||
time."; | expiration time."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | ||||
]]></sourcecode> | ]]></sourcecode> | |||
</section> | </section> | |||
<section title="ISO 6709:2008 Conformance"> | <section title="ISO 6709:2008 Conformance"> | |||
<t><xref target="ISO.6709.2008"/> provides an appendix with a set of tests for | <t><xref target="ISO.6709.2008"/> provides an appendix with a set of tests for | |||
conformance to the standard. The tests and results are given in the | conformance to the standard. The tests and results are given in the | |||
following table along with an explanation of non-applicable tests.</t> | following table along with an explanation of inapplicable tests.</t> | |||
<table> | <table> | |||
<name>Conformance Test Results</name> | <name>Conformance Test Results</name> | |||
<thead><tr><th>Test</th><th>Description</th><th>Pass Explanation</th></tr> | <thead><tr><th>Test</th><th>Description</th><th>Pass Explanation</th></tr> | |||
</thead> | </thead> | |||
<tbody><tr><td>A.1.2.1</td><td>elements reqd. for a geo. point location</td><td> | <tbody><tr><td>A.1.2.1</td><td>elements required for a geographic point location | |||
CRS is always indicated</td></tr> | </td><td>CRS is always indicated</td></tr> | |||
<tr><td>A.1.2.2</td><td>Description of a CRS from a register</td><td>CRS registe | <tr><td>A.1.2.2</td><td>description of a CRS from a register</td><td>CRS registe | |||
r is defined</td></tr> | r is defined</td></tr> | |||
<tr><td>A.1.2.3</td><td>definition of CRS</td><td>N/A - Don't define CRS</td></t r> | <tr><td>A.1.2.3</td><td>definition of CRS</td><td>N/A - Don't define CRS</td></t r> | |||
<tr><td>A.1.2.4</td><td>representation of horizontal position</td><td>lat/long v alues conform</td></tr> | <tr><td>A.1.2.4</td><td>representation of horizontal position</td><td>latitude/l ongitude values conform</td></tr> | |||
<tr><td>A.1.2.5</td><td>representation of vertical position</td><td>height value conforms</td></tr> | <tr><td>A.1.2.5</td><td>representation of vertical position</td><td>height value conforms</td></tr> | |||
<tr><td>A.1.2.6</td><td>text string representation</td><td>N/A - No string forma t</td></tr> | <tr><td>A.1.2.6</td><td>text string representation</td><td>N/A - No string forma t</td></tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<t>For test <tt>A.1.2.1</tt> the YANG geo location object either includes a | <t>For test '<tt>A.1.2.1</tt>', the YANG geo-location object either includes a | |||
Coordinate Reference System (CRS) (<tt>reference-frame</tt>) or has a | Coordinate Reference System (CRS) ('<tt>reference-frame</tt>') or has a | |||
default defined (<xref target="WGS84"/>).</t> | default defined <xref target="WGS84"/>.</t> | |||
<t>For <tt>A.1.2.3</tt> we do not define our own CRS, and doing so is not | <t>For '<tt>A.1.2.3</tt>', we do not define our own CRS, and doing so is not | |||
required for conformance.</t> | required for conformance.</t> | |||
<t>For <tt>A.1.2.6</tt> we do not define a text string representation, which is | <t>For '<tt>A.1.2.6</tt>', we do not define a text string representation, which is | |||
also not required for conformance.</t> | also not required for conformance.</t> | |||
</section> | </section> | |||
<section title="Usability"> | <section title="Usability"> | |||
<t>The geo-location object defined in this document and YANG module have | <t>The geo-location object defined in this document and YANG module has | |||
been designed to be usable in a very broad set of applications. | been designed to be usable in a very broad set of applications. | |||
This includes the ability to locate things on astronomical bodies | This includes the ability to locate things on astronomical bodies | |||
other than Earth, and to utilize entirely different coordinate | other than Earth, and to utilize entirely different coordinate | |||
systems and realities.</t> | systems and realities.</t> | |||
<section title="Portability"> | <section title="Portability"> | |||
<t>In order to verify portability while developing this module the | <t>In order to verify portability while developing this module, the | |||
following standards and standard APIs were considered.</t> | following standards and standard APIs were considered.</t> | |||
<section title="IETF URI Value"> | <section title="IETF URI Value"> | |||
<t><xref target="RFC5870"/> defines a standard URI value for geographic location | <t><xref target="RFC5870"/> defines a standard URI value for geographic | |||
data. It | location data. It includes the ability to specify the '<tt>geodetic-value</tt>' | |||
includes the ability to specify the <tt>geodetic-value</tt> (it calls this | (it calls this '<tt>crs</tt>') with the default being '<tt>wgs-84</tt>' <xref | |||
<tt>crs</tt>) with the default being <tt>wgs-84</tt> <xref target="WGS84"/>. For | target="WGS84"/>. For the location data, it allows two to three coordinates defi | |||
the location data | ned | |||
it allows 2 to 3 coordinates defined by the <tt>crs</tt> value. For accuracy, | by the '<tt>crs</tt>' value. For accuracy, it has a single '<tt>u</tt>' paramete | |||
it has a single <tt>u</tt> parameter for specifying uncertainty. The <tt>u</tt> | r | |||
value is in fractions of meters and applies to all the location | for specifying uncertainty. The '<tt>u</tt>' value is in fractions of meters and | |||
values. As the URI is a string, all values are specified as strings | applies to all the location values. As the URI is a string, all values are | |||
and so are capable of as much precision as required.</t> | specified as strings and so are capable of as much precision as required.</t> | |||
<t>URI values can be mapped to and from the YANG grouping, with the | <t>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.</t> | the YANG grouping using decimal64 values rather than strings.</t> | |||
</section> | </section> | |||
<section title="W3C"> | <section title="W3C"> | |||
<t>W3C Defines a geo-location API in <xref target="W3CGEO"/>. We show a snippet | <t>W3C defines a geolocation API in <xref target="W3CGEO"/>. We show a snippet o | |||
of | f | |||
code below which defines the geo-location data for this API. This is | code below that defines the geolocation data for this API. This is | |||
used by many applications (e.g., Google Maps API).</t> | used by many applications (e.g., Google Maps API).</t> | |||
<figure><name>Snippet Showing Geo-Location Definition</name><sourcecode><![CDATA [ | <figure><name>Snippet Showing Geolocation Definition</name><sourcecode type="">< ![CDATA[ | |||
interface GeolocationPosition { | interface GeolocationPosition { | |||
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? heading; | |||
readonly attribute double? speed; | readonly attribute double? speed; | |||
}; | }; | |||
]]></sourcecode></figure> | ]]></sourcecode></figure> | |||
<section title="Compare with YANG Model"> | <section title="Comparison with YANG Data Model"> | |||
<table> | <table> | |||
<thead><tr><th>Field</th><th>Type</th><th>YANG</th><th>Type</th></tr> | <thead><tr><th>Field</th><th>Type</th><th>YANG</th><th>Type</th></tr> | |||
</thead> | </thead> | |||
<tbody><tr><td>accuracy</td><td>double</td><td>coord-accuracy</td><td>dec64 fr 6 </td></tr> | <tbody><tr><td>accuracy</td><td>double</td><td>coord-accuracy</td><td>dec64 fr 6 </td></tr> | |||
<tr><td>altitude</td><td>double</td><td>height</td><td>dec64 fr 6</td></tr> | <tr><td>altitude</td><td>double</td><td>height</td><td>dec64 fr 6</td></tr> | |||
<tr><td>altitudeAccuracy</td><td>double</td><td>height-accuracy</td><td>dec64 fr 6</td></tr> | <tr><td>altitudeAccuracy</td><td>double</td><td>height-accuracy</td><td>dec64 fr 6</td></tr> | |||
<tr><td>heading</td><td>double</td><td>v-north, v-east</td><td>dec64 fr 12</td>< /tr> | <tr><td>heading</td><td>double</td><td>v-north, v-east</td><td>dec64 fr 12</td>< /tr> | |||
<tr><td>latitude</td><td>double</td><td>latitude</td><td>dec64 fr 16</td></tr> | <tr><td>latitude</td><td>double</td><td>latitude</td><td>dec64 fr 16</td></tr> | |||
<tr><td>longitude</td><td>double</td><td>longitude</td><td>dec64 fr 16</td></tr> | <tr><td>longitude</td><td>double</td><td>longitude</td><td>dec64 fr 16</td></tr> | |||
<tr><td>speed</td><td>double</td><td>v-north, v-east</td><td>dec64 fr 12</td></t r> | <tr><td>speed</td><td>double</td><td>v-north, v-east</td><td>dec64 fr 12</td></t r> | |||
<tr><td>timestamp</td><td>DOMTimeStamp</td><td>timestamp</td><td>string</td></tr > | <tr><td>timestamp</td><td>DOMTimeStamp</td><td>timestamp</td><td>string</td></tr > | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<dl> | <dl> | |||
<dt>accuracy (double)</dt><dd><t>Accuracy of <tt>latitude</tt> and <tt>longitude | <dt>accuracy (double):</dt><dd><t>Accuracy of '<tt>latitude</tt>' and | |||
</tt> values | '<tt>longitude</tt>' values in meters.</t></dd> | |||
in meters.</t></dd> | <dt>altitude (double):</dt><dd><t>Optional height in meters above the <xref targ | |||
<dt>altitude (double)</dt><dd><t>Optional height in meters above the <xref targe | et="WGS84"/> ellipsoid.</t></dd> | |||
t="WGS84"/> ellipsoid.</t></dd> | <dt>altitudeAccuracy (double):</dt><dd><t>Optional accuracy of '<tt>altitude</tt | |||
<dt>altitudeAccuracy (double)</dt><dd><t>Optional accuracy of <tt>altitude</tt> | >' value | |||
value | ||||
in meters.</t></dd> | in meters.</t></dd> | |||
<dt>heading (double)</dt><dd><t>Optional Direction in decimal deg from true | <dt>heading (double):</dt><dd><t>Optional direction in decimal degrees from true | |||
north increasing clock-wise.</t></dd> | north increasing clockwise.</t></dd> | |||
<dt>latitude, longitude (double)</dt><dd><t>Standard lat/long values in decimal | <dt>latitude, longitude (double):</dt><dd><t>Standard latitude/longitude values | |||
degrees.</t></dd> | in decimal degrees.</t></dd> | |||
<dt>speed (double)</dt><dd><t>Speed along heading in meters per second.</t></dd> | <dt>speed (double):</dt><dd><t>Speed along the heading in meters per second.</t> | |||
<dt>timestamp (DOMTimeStamp)</dt><dd><t>Specifies milliseconds since the Unix | </dd> | |||
EPOCH in 64 bit unsigned integer. The YANG model defines the | <dt>timestamp (DOMTimeStamp):</dt><dd><t>Specifies milliseconds since the UNIX | |||
Epoch in a 64-bit unsigned integer. The YANG data model defines the | ||||
timestamp with arbitrarily large precision by using a string | timestamp with arbitrarily large precision by using a string | |||
which encompasses all representable values of this timestamp | that encompasses all representable values of this timestamp | |||
value.</t></dd> | value.</t></dd> | |||
</dl> | </dl> | |||
<t>W3C API values can be mapped to the YANG grouping, with the caveat | <t>W3C API values can be mapped to the YANG grouping with the caveat | |||
that some loss of precision (in the extremes) may occur due to the | that some loss of precision (in the extremes) may occur due to the | |||
YANG grouping using decimal64 values rather than doubles.</t> | YANG grouping using decimal64 values rather than doubles.</t> | |||
<t>Conversely, only YANG values for Earth using the default | <t>Conversely, only YANG values for Earth using the default '<tt>wgs-84</tt>' | |||
<tt>wgs-84</tt> <xref target="WGS84"/> as the <tt>geodetic-datum</tt>, can be di | <xref target="WGS84"/> as the '<tt>geodetic-datum</tt>' can be directly mapped | |||
rectly mapped to the | to the W3C values as W3C does not provide the extra features necessary to map | |||
W3C values, as W3C does not provide the extra features necessary to | the broader set of values supported by the YANG grouping.</t> | |||
map the broader set of values supported by the YANG grouping.</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section title="Geography Markup Language (GML)"> | <section title="Geography Markup Language (GML)"> | |||
<t>ISO adopted the Geography Markup Language (GML) defined by OGC 07-036 | ||||
<t>ISO adopted the Geography Markup Language (GML) defined by OGC 07-036 <xref t | ||||
arget="OGC"/> | ||||
as <xref target="ISO.19136.2007"/>. GML defines, among many other things, a posi tion | as <xref target="ISO.19136.2007"/>. GML defines, among many other things, a posi tion | |||
type <tt>gml:pos</tt> which is a sequence of <tt>double</tt> values. This sequen ce | type '<tt>gml:pos</tt>', which is a sequence of '<tt>double</tt>' values. This s equence | |||
of values represents coordinates in a given CRS. The CRS is either | of values represents coordinates in a given CRS. The CRS is either | |||
inherited from containing elements or directly specified as | inherited from containing elements or directly specified as | |||
attributes <tt>srsName</tt> and optionally <tt>srsDimension</tt> on the <tt>gml: pos</tt>.</t> | attributes '<tt>srsName</tt>' and optionally '<tt>srsDimension</tt>' on the '<tt >gml:pos</tt>'.</t> | |||
<t>GML defines an Abstract CRS type which Concrete CRS types derive | <t>GML defines an Abstract CRS type from which Concrete CRS types are derived. | |||
from. This allows for many types of CRS definitions. We are concerned | This allows for many types of CRS definitions. We are concerned | |||
with the Geodetic CRS type which can have either ellipsoidal or | with the Geodetic CRS type, which can have either ellipsoidal or | |||
Cartesian coordinates. We believe that other non-Earth based CRS as | Cartesian coordinates. We believe that other non-Earth-based CRSs as | |||
well as virtual CRS should also be representable by the GML CRS types.</t> | well as virtual CRSs should also be representable by the GML CRS types.</t> | |||
<t>Thus, GML <tt>gml:pos</tt> values can be mapped directly to the YANG | <t>Thus, GML '<tt>gml:pos</tt>' 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.</t> | rather than doubles.</t> | |||
<t>Conversely, YANG grouping values can be mapped to GML as directly as | <t> | |||
the GML CRS available definitions allow with a minimum of Earth-based | Conversely, mapping YANG grouping values to GML is fully supported for | |||
geodetic systems fully supported.</t> | Earth-based geodetic systems.</t> | |||
<t>GML also defines an observation value in <tt>gml:Observation</tt> which | <t>GML also defines an observation value in '<tt>gml:Observation</tt>', which | |||
includes a timestamp value <tt>gml:validTime</tt> in addition to other | includes a timestamp value '<tt>gml:validTime</tt>' in addition to other | |||
components such as <tt>gml:using</tt> <tt>gml:target</tt> and <tt>gml:resultOf</ | components such as '<tt>gml:using</tt>', '<tt>gml:target</tt>', and | |||
tt>. Only | '<tt>gml:resultOf</tt>'. Only the timestamp is mappable to and from the YANG | |||
the timestamp is mappable to and from the YANG grouping. Furthermore, | grouping. Furthermore, '<tt>gml:validTime</tt>' can either be an instantaneous | |||
<tt>gml:validTime</tt> can either be an Instantaneous measure | measure ('<tt>gml:TimeInstant</tt>') or a time period | |||
(<tt>gml:TimeInstant</tt>) or a time period (<tt>gml:TimePeriod</tt>). The | ('<tt>gml:TimePeriod</tt>'). The instantaneous '<tt>gml:TimeInstant</tt>' is | |||
instantaneous <tt>gml:TimeInstant</tt> is mappable to and from the YANG | mappable to and from the YANG grouping '<tt>timestamp</tt>' value, and values | |||
grouping <tt>timestamp</tt> value, and values down to the resolution of | down to the resolution of seconds for '<tt>gml:TimePeriod</tt>' can be mapped | |||
seconds for <tt>gml:TimePeriod</tt> can be mapped using the <tt>valid-until</tt> | using the '<tt>valid-until</tt>' node of the YANG grouping.</t> | |||
node of the YANG grouping.</t> | ||||
</section> | </section> | |||
<section title="KML"> | <section title="KML"> | |||
<t>KML 2.2 <xref target="KML22"/> (formerly Keyhole Markup Language) was submitt | <t>KML 2.2 <xref target="KML22"/> (formerly Keyhole Markup Language) was | |||
ed by | submitted by Google to the <eref target="https://www.opengeospatial.org/">Open | |||
Google to the <eref target="https://www.opengeospatial.org/">Open Geospatial Con | Geospatial Consortium</eref> and was adopted. The latest version as of this | |||
sortium,</eref> and was adopted. The latest | writing is KML 2.3 <xref target="KML23"/>. This schema includes geographic | |||
version as of this writing is KML 2.3 <xref target="KML23"/>. This schema includ | location data in some of its objects (e.g., '<tt>kml:Point</tt>' or | |||
es | '<tt>kml:Camera</tt>' objects). This data is provided in string format and | |||
geographic location data in some of its objects (e.g., <tt>kml:Point</tt> or | corresponds to the values specified in <xref target="W3CGEO"/>. The timestamp va | |||
<tt>kml:Camera</tt> objects). This data is provided in string format and | lue is also | |||
corresponds to the <xref target="W3CGEO"/> values. The timestamp value is also | ||||
specified as a string as in our YANG grouping.</t> | specified as a string as in our YANG grouping.</t> | |||
<t>KML has some special handling for the height value useful for | <t>KML has some special handling for the height value that is useful for | |||
visualization software, <tt>kml:altitudeMode</tt>. These values for | visualization software, '<tt>kml:altitudeMode</tt>'. | |||
<tt>kml:altitudeMode</tt> include indicating the height is ignored | ||||
(<tt>clampToGround</tt>), in relation to the location's ground level | ||||
(<tt>relativeToGround</tt>), or in relation to the geodetic datum | ||||
(<tt>absolute</tt>). The YANG grouping can directly map the ignored and | ||||
absolute cases, but not the relative to ground case.</t> | ||||
<t>In addition to the <tt>kml:altitudeMode</tt> KML also defines two seafloor | The values for '<tt>kml:altitudeMode</tt>' include '<tt>clampToGround</tt>', whi | |||
height values using <tt>kml:seaFloorAltitudeMode</tt>. One value is to | ch | |||
ignore the height value (<tt>clampToSeaFloor</tt>) and the other is relative | indicates the height is ignored; '<tt>relativeToGround</tt>', which indicates th | |||
(<tt>relativeToSeaFloor</tt>). As with the <tt>kml:altitudeMode</tt> value, the | e | |||
height value is relative to the location's ground level; or '<tt>absolute</tt>', | ||||
which | ||||
indicates the height value is an absolute value within the geodetic datum. | ||||
The YANG grouping can directly map the ignored and | ||||
absolute cases but not the relative-to-ground case.</t> | ||||
<t>In addition to the '<tt>kml:altitudeMode</tt>', KML also defines two seafloor | ||||
height values using '<tt>kml:seaFloorAltitudeMode</tt>'. One value is to | ||||
ignore the height value ('<tt>clampToSeaFloor</tt>') and the other is relative | ||||
('<tt>relativeToSeaFloor</tt>'). As with the '<tt>kml:altitudeMode</tt>' value, | ||||
the | ||||
YANG grouping supports the ignore case but not the relative case.</t> | YANG grouping supports the ignore case but not the relative case.</t> | |||
<t>The KML location values use a geodetic datum defined in Annex A by | <t> | |||
the GML Coordinate Reference System (CRS) <xref target="ISO.19136.2007"/> with | The KML location values use a geodetic datum defined in Annex A of | |||
identifier <tt>LonLat84_5773</tt>. The altitude value for KML absolute | <xref target="ISO.19136.2007"/> with identifier '<tt>LonLat84_5773</tt>'. | |||
height mode is measured from the vertical datum specified by <xref target="WGS84 | ||||
"/>.</t> | The altitude value for KML absolute height | |||
mode is measured from the vertical datum specified by <xref | ||||
target="WGS84"/>.</t> | ||||
<t>Thus, the YANG grouping and KML values can be directly mapped in both | <t>Thus, the YANG grouping and KML values can be directly mapped in both | |||
directions (when using a supported altitude mode) with the caveat | directions (when using a supported altitude mode) with the caveat | |||
that some loss of precision (in the extremes) may occur due to the | that some loss of precision (in the extremes) may occur due to the | |||
YANG grouping using decimal64 values rather than strings. For the | YANG grouping using decimal64 values rather than strings. For the | |||
relative height cases, the application doing the transformation is | relative height cases, the application doing the transformation is | |||
expected to have the data available to transform the relative height | expected to have the data available to transform the relative height | |||
into an absolute height, which can then be expressed using the YANG | into an absolute height, which can then be expressed using the YANG | |||
grouping.</t> | grouping.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section title="IANA Considerations"> | <section title="IANA Considerations"> | |||
<section title="Geodetic System Values Registry"> | <section title="Geodetic System Values Registry"> | |||
<t>IANA is asked to create a new registry "Geodetic System Values" under | <t>IANA has created the "Geodetic System Values" registry under | |||
a new protocol category group "YANG Geographic Location Parameters".</t> | the "YANG Geographic Location Parameters" registry.</t> | |||
<t>This registry allocates names for standard geodetic systems. Often | <t>This registry allocates names for standard geodetic systems. Often, these | |||
these values are referred to using multiple names (e.g., full names | values are referred to using multiple names (e.g., full names or multiple | |||
or multiple acronyms). The intent of this registry is to | acronyms). The intent of this registry is to provide a single standard value | |||
provide a single standard value for any given geodetic system.</t> | for any given geodetic system.</t> | |||
<t>The values SHOULD use an acronym when available, they MUST be | <t>The values <bcp14>SHOULD</bcp14> use an acronym when available, they | |||
converted to lower case, and spaces MUST be changed to dashes "-".</t> | <bcp14>MUST</bcp14> be converted to lowercase, and spaces <bcp14>MUST</bcp14> | |||
be changed to dashes "-".</t> | ||||
<t>Each entry should be sufficient to define the 2 coordinate values, | <t>Each entry should be sufficient to define the two coordinate values and to | |||
and to define height if height is required. So, for example, the | define height if height is required. So, for example, the '<tt>wgs-84</tt>' is | |||
<tt>wgs-84</tt> is defined as WGS-84 with the geoid updated by at least | defined as WGS-84 with the geoid updated by at least <xref target="EGM96"/> | |||
<xref target="EGM96"/> for height values. Specific entries for <xref target="EGM | for height values. Specific entries for <xref target="EGM96"/> and <xref | |||
96"/> and <xref target="EGM08"/> are | target="EGM08"/> are present if a more precise definition of the data is | |||
present if a more precise definition of the data is required.</t> | required.</t> | |||
<t>It should be noted that <xref target="RFC5870"/> also creates a registry for | <t>It should be noted that <xref target="RFC5870"/> also created a registry | |||
Geodetic | for geodetic systems (the "'geo' URI 'crs' Parameter Values" registry); however, | |||
Systems (it calls CRS); however, this registry has a very strict | this registry has a very strict | |||
modification policy. The authors of <xref target="RFC5870"/> have the stated goa | modification policy. The authors of <xref target="RFC5870"/> have the stated | |||
l of | goal of making CRS registration hard to avoid proliferation of CRS values. As | |||
making CRS registration hard to avoid proliferation of CRS values. As | our module defines alternate systems and has a broader scope (i.e., beyond Earth | |||
our module defines alternate systems and has a broader (beyond Earth) | ), | |||
scope, the registry defined below is meant to be more easily modified.</t> | the registry defined below is meant to be more easily modified.</t> | |||
<t>The allocation policy for this registry is First Come, First Served, | <t>The allocation policy for this registry is First Come First Served <xref | |||
<xref target="RFC8126"/> as the intent is simply to avoid duplicate values.</t> | target="RFC8126"/>, as the intent is simply to avoid duplicate values.</t> | |||
<t>The Reference value can either be a document or a contact person as | <t>The Reference value can either be a document or a contact person as | |||
defined in <xref target="RFC8126"/>. The Change Control (i.e., Owner) is also de fined | defined in <xref target="RFC8126"/>. The Change Controller (i.e., Owner) is also defined | |||
by <xref target="RFC8126"/>.</t> | by <xref target="RFC8126"/>.</t> | |||
<t>The initial values for this registry are as follows. They include the | <t>The initial values for this registry are as follows. They include the | |||
non-Earth based geodetic-datum value for the moon based on <xref target="ME"/>.< /t> | non-Earth-based geodetic-datum value for the Moon based on <xref target="MEAN-EA RTH"/>.</t> | |||
<table> | <table> | |||
<thead><tr><th>Name</th><th>Description</th><th>Reference</th><th>Change</th></t | <thead><tr><th>Name</th><th>Description</th><th>Reference</th><th>Change Control | |||
r> | ler</th></tr> | |||
<tr><th> </th><th> </th><th>/Contact</th><th>Control</th></tr> | ||||
</thead> | </thead> | |||
<tbody><tr><td>me</td><td>Mean Earth/Polar Axis (Moon)</td><td>this</td><td>IESG | ||||
</td></tr> | <tbody><tr><td>me</td><td>Mean Earth/Polar Axis (Moon)</td><td>RFC 9179</td><td> | |||
<tr><td>wgs-84-96</td><td>World Geodetic System 1984</td><td>this</td><td>IESG</ | IETF</td></tr> | |||
td></tr> | <tr><td>wgs-84-96</td><td>World Geodetic System 1984</td><td>RFC 9179</td><td>IE | |||
<tr><td>wgs-84-08</td><td>World Geodetic System 1984</td><td>this</td><td>IESG</ | TF</td></tr> | |||
td></tr> | <tr><td>wgs-84-08</td><td>World Geodetic System 1984</td><td>RFC 9179</td><td>IE | |||
<tr><td>wgs-84</td><td>World Geodetic System 1984</td><td>this</td><td>IESG</td> | TF</td></tr> | |||
</tr> | <tr><td>wgs-84</td><td>World Geodetic System 1984</td><td>RFC 9179</td><td>IETF< | |||
/td></tr> | ||||
</tbody> | </tbody> | |||
</table> | </table> | |||
</section> | </section> | |||
<section title="Updates to the IETF XML Registry"> | <section title="Updates to the IETF XML Registry"> | |||
<t>This document registers a URI in the "IETF XML Registry" <xref target="RFC368 8"/>. | <t>This document registers a URI in the "IETF XML Registry" <xref target="RFC368 8"/>. | |||
Following the format in <xref target="RFC3688"/>, the following registration has been | Following the format in <xref target="RFC3688"/>, the following registration has been | |||
made:</t> | made:</t> | |||
<dl> | <dl spacing="compact"> | |||
<dt>URI</dt><dd><t>urn:ietf:params:xml:ns:yang:ietf-geo-location</t></dd> | <dt>URI:</dt><dd><t>urn:ietf:params:xml:ns:yang:ietf-geo-location</t></dd> | |||
<dt>Registrant Contact</dt><dd><t>The IESG.</t></dd> | <dt>Registrant Contact:</dt><dd><t>The IESG.</t></dd> | |||
<dt>XML</dt><dd><t>N/A; the requested URI is an XML namespace.</t></dd> | <dt>XML:</dt><dd><t>N/A; the requested URI is an XML namespace.</t></dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section title="Updates to the YANG Module Names Registry"> | <section title="Updates to the YANG Module Names Registry"> | |||
<t>This document registers one YANG module in the "YANG Module Names" | <t>This document registers one YANG module in the "YANG Module Names" | |||
registry <xref target="RFC6020"/>. Following the format in <xref target="RFC6020 "/>, the following | registry <xref target="RFC6020"/>. Following the format in <xref target="RFC6020 "/>, the following | |||
registration has been made:</t> | registration has been made:</t> | |||
<dl> | <dl spacing="compact"> | |||
<dt>name</dt><dd><t>ietf-geo-location</t></dd> | <dt>Name:</dt><dd><t>ietf-geo-location</t></dd> | |||
<dt>namespace</dt><dd><t>urn:ietf:params:xml:ns:yang:ietf-geo-location</t></dd> | <dt>Maintained by IANA:</dt><dd><t>N</t></dd> | |||
<dt>prefix</dt><dd><t>geo</t></dd> | <dt>Namespace:</dt><dd><t>urn:ietf:params:xml:ns:yang:ietf-geo-location</t></dd> | |||
<dt>reference</dt><dd><t>RFC XXXX (RFC Ed.: replace XXXX with RFC number and rem | <dt>Prefix:</dt><dd><t>geo</t></dd> | |||
ove this note.)</t></dd> | <dt>Reference:</dt><dd><t>RFC 9179</t></dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
<section title="Security Considerations"> | <section title="Security Considerations"> | |||
<t>The YANG module specified in this document defines a schema for data | <t>The YANG module specified in this document defines a schema for data that | |||
that is designed to be accessed via network management protocols such | is designed to be accessed via network management protocols such as the | |||
as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>. The l | Network Configuration Protocol (NETCONF) <xref target="RFC6241"/> or RESTCONF | |||
owest NETCONF layer | <xref target="RFC8040"/>. The lowest NETCONF layer is the secure transport | |||
is the secure transport layer, and the mandatory-to-implement secure | layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) | |||
transport is Secure Shell (SSH) <xref target="RFC6242"/>. The lowest RESTCONF l | <xref target="RFC6242"/>. The lowest RESTCONF layer is HTTPS, and the | |||
ayer | mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.</t> | |||
is HTTPS, and the mandatory-to-implement secure transport is TLS | ||||
<xref target="RFC8446"/>.</t> | ||||
<t>The NETCONF access control model <xref target="RFC8341"/> provides the means to | <t>The NETCONF access control model <xref target="RFC8341"/> provides the means to | |||
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.</t> | operations and content.</t> | |||
<t>Since the modules defined in this document only define groupings, | <t>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.</t> | that use these groupings.</t> | |||
skipping to change at line 806 ¶ | skipping to change at line 821 ¶ | |||
<t>None of the writable/creatable/deletable data nodes in the YANG | <t>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.</t> | sensitive or vulnerable than standard configuration.</t> | |||
<t>Some of the readable data nodes in this YANG module may be considered | <t>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.</t> | notification) to these data nodes.</t> | |||
<t>Since the grouping defined in this module identifies locations, | <t>Since the grouping defined in this module identifies locations, | |||
authors using this grouping SHOULD consider any privacy issues | authors using this grouping <bcp14>SHOULD</bcp14> consider any privacy issues | |||
that may arise when the data is readable (e.g., customer device | that may arise when the data is readable (e.g., customer device | |||
locations, etc).</t> | locations, etc).</t> | |||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references title="Normative References"> | <references title="Normative References"> | |||
<reference anchor="EGM08"> | <reference anchor="EGM08"> | |||
<front> | <front> | |||
<title>An Earth Gravitational Model to Degree 2160: EGM08.</title> | <title>An Earth Gravitational Model to Degree 2160: EGM08.</title> | |||
<author initials='N.K.' surname='Pavlis' fullname='N. K. Pavlis'><organization/> | <author initials='N.' surname='Pavlis' fullname='N. Pavlis'><organization/></aut | |||
</author> | hor> | |||
<author initials='S.A.' surname='Holmes' fullname='S. A. Holmes'><organization/> | <author initials='S.' surname='Holmes' fullname='S. Holmes'><organization/></aut | |||
</author> | hor> | |||
<author initials='S.C.' surname='Kenyon' fullname='S. C. Kenyon'><organization/> | <author initials='S.' surname='Kenyon' fullname='S. Kenyon'><organization/></aut | |||
</author> | hor> | |||
<author initials='J.K.' surname='Factor' fullname='J. K. Factor'><organization/> | <author initials='J.' surname='Factor' fullname='J. Factor'><organization/></aut | |||
</author> | hor> | |||
<date year="2008"/> | <date year="2008" month="April"/> | |||
</front><refcontent>Presented at the 2008 General Assembly of the European Geosc | </front><refcontent>Presented at the 2008 General Assembly of the European Geosc | |||
iences Union, Vienna, Arpil13-18, 2008</refcontent> | iences Union, Vienna</refcontent> | |||
</reference> | </reference> | |||
<reference anchor="EGM96"> | <reference anchor="EGM96"> | |||
<front> | <front> | |||
<title>The Development of the Joint NASA GSFC and the National Imagery and Mappi ng Agency (NIMA) Geopotential Model EGM96.</title> | <title>The Development of the Joint NASA GSFC and the National Imagery and Mappi ng Agency (NIMA) Geopotential Model EGM96.</title> | |||
<author initials='F.G.' surname='Lemoine' fullname='F. G. Lemoine'><organization | <author initials='F.' surname='Lemoine' fullname='F. Lemoine'><organization/></a | |||
/></author> | uthor> | |||
<author initials='S.C.' surname='Kenyon' fullname='S. C. Kenyon'><organization/> | <author initials='S.' surname='Kenyon' fullname='S. Kenyon'><organization/></aut | |||
</author> | hor> | |||
<author initials='J.K.' surname='Factor' fullname='J. K. Factor'><organization/> | <author initials='J.' surname='Factor' fullname='J. Factor'><organization/></aut | |||
</author> | hor> | |||
<author initials='R.G.' surname='Trimmer' fullname='R. G. Trimmer'><organization | <author initials='R.' surname='Trimmer' fullname='R. Trimmer'><organization/></a | |||
/></author> | uthor> | |||
<author initials='N.K.' surname='Pavlis' fullname='N. K. Pavlis'><organization/> | <author initials='N.' surname='Pavlis' fullname='N. Pavlis'><organization/></aut | |||
</author> | hor> | |||
<author initials='D.S.' surname='Chinn' fullname='D. S. Chinn'><organization/></ | <author initials='D.' surname='Chinn' fullname='D. Chinn'><organization/></autho | |||
author> | r> | |||
<author initials='C.M.' surname='Cox' fullname='C. M. Cox'><organization/></auth | <author initials='C.' surname='Cox' fullname='C. Cox'><organization/></author> | |||
or> | <author initials='S.' surname='Klosko' fullname='S. Klosko'><organization/></aut | |||
<author initials='S.M.' surname='Klosko' fullname='S. M. Klosko'><organization/> | hor> | |||
</author> | <author initials='S.' surname='Luthcke' fullname='S. Luthcke'><organization/></a | |||
<author initials='S.B.' surname='Luthcke' fullname='S. B. Luthcke'><organization | uthor> | |||
/></author> | <author initials='M.' surname='Torrence' fullname='M. Torrence'><organization/>< | |||
<author initials='M.H.' surname='Torrence' fullname='M. H. Torrence'><organizati | /author> | |||
on/></author> | <author initials='Y.' surname='Wang' fullname='Y. Wang'><organization/></author> | |||
<author initials='Y.M.' surname='Wang' fullname='Y. M. Wang'><organization/></au | <author initials='R.' surname='Williamson' fullname='R. Williamson'><organizatio | |||
thor> | n/></author> | |||
<author initials='R.G.' surname='Williamson' fullname='R. G. Williamson'><organi | <author initials='E.' surname='Pavlis' fullname='E. Pavlis'><organization/></aut | |||
zation/></author> | hor> | |||
<author initials='E.C.' surname='Pavlis' fullname='E. C. Pavlis'><organization/> | <author initials='R.' surname='Rapp' fullname='R. Rapp'><organization/></author> | |||
</author> | <author initials='T.' surname='Olson' fullname='T. Olson'><organization/></autho | |||
<author initials='R.H.' surname='Rapp' fullname='R. H. Rapp'><organization/></au | r> | |||
thor> | <date year="1998" month="July"/> | |||
<author initials='T.R.' surname='Olson' fullname='T. R. Olson'><organization/></ | </front><refcontent>NASA/TP-1998-206861</refcontent> | |||
author> | ||||
<date year="1998"/> | ||||
</front><refcontent>Technical Report NASA/TP-1998-206861, NASA, Greenbelt.</refc | ||||
ontent> | ||||
</reference> | </reference> | |||
<reference anchor="ISO.6709.2008"> | <reference anchor="ISO.6709.2008"> | |||
<front> | <front> | |||
<title>ISO 6709:2008 Standard representation of geographic point location by coo rdinates.</title> | <title>Standard representation of geographic point location by coordinates</titl e> | |||
<author><organization>International Organization for Standardization</organizati on></author> | <author><organization>International Organization for Standardization</organizati on></author> | |||
<date year="2008"/> | <date year="2008"/> | |||
</front> | </front> | |||
</reference> | <seriesInfo name="ISO" value="6709:2008"/> | |||
<reference anchor="ME"> | ||||
<front> | ||||
<title>A Standardized Lunar Coordinate System for the Lunar Reconnaissance Orbit | ||||
er, Version 4.</title> | ||||
<author><organization>National Aeronautics and Space Administration, Goddard Spa | ||||
ce Flight Center.</organization></author> | ||||
<date day="14" month="5" year="2008"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'> | ||||
<front> | ||||
<title>Key words for use in RFCs to Indicate Requirement Levels</title> | ||||
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></ | ||||
author> | ||||
<date year='1997' month='March' /> | ||||
<abstract><t>In many standards track documents several words are used to signify | ||||
the requirements in the specification. These words are often capitalized. This | ||||
document defines these words as they should be interpreted in IETF documents. | ||||
This document specifies an Internet Best Current Practices for the Internet Comm | ||||
unity, and requests discussion and suggestions for improvements.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='14'/> | ||||
<seriesInfo name='RFC' value='2119'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC2119'/> | ||||
</reference> | ||||
<reference anchor='RFC6991' target='https://www.rfc-editor.org/info/rfc6991'> | ||||
<front> | ||||
<title>Common YANG Data Types</title> | ||||
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder' role=' | ||||
editor'><organization /></author> | ||||
<date year='2013' month='July' /> | ||||
<abstract><t>This document introduces a collection of common data types to be us | ||||
ed with the YANG data modeling language. This document obsoletes RFC 6021.</t>< | ||||
/abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='6991'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC6991'/> | ||||
</reference> | </reference> | |||
<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'> | <reference anchor="MEAN-EARTH"> | |||
<front> | <front> | |||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title> | <title>A Standardized Lunar Coordinate System for the Lunar Reconnaissance Orbit | |||
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></auth | er</title> | |||
or> | <author><organization>NASA</organization></author> | |||
<date year='2017' month='May' /> | <date month="May" year="2008"/> | |||
<abstract><t>RFC 2119 specifies common key words that may be used in protocol s | ||||
pecifications. This document aims to reduce the ambiguity by clarifying that on | ||||
ly UPPERCASE usage of the key words have the defined special meanings.</t></abs | ||||
tract> | ||||
</front> | </front> | |||
<seriesInfo name='BCP' value='14'/> | <refcontent>Version 4, Goddard Space Flight Center</refcontent> | |||
<seriesInfo name='RFC' value='8174'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8174'/> | ||||
</reference> | </reference> | |||
<reference anchor='RFC8126' target='https://www.rfc-editor.org/info/rfc8126'> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | |||
<front> | xml"/> | |||
<title>Guidelines for Writing an IANA Considerations Section in RFCs</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6241. | |||
<author initials='M.' surname='Cotton' fullname='M. Cotton'><organization /></au | xml"/> | |||
thor> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6242. | |||
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></auth | xml"/> | |||
or> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6991. | |||
<author initials='T.' surname='Narten' fullname='T. Narten'><organization /></au | xml"/> | |||
thor> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | |||
<date year='2017' month='June' /> | xml"/> | |||
<abstract><t>Many protocols make use of points of extensibility that use constan | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126. | |||
ts to identify various protocol parameters. To ensure that the values in these | xml"/> | |||
fields do not have conflicting uses and to promote interoperability, their alloc | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8341. | |||
ations are often coordinated by a central record keeper. For IETF protocols, th | xml"/> | |||
at role is filled by the Internet Assigned Numbers Authority (IANA).</t><t>To ma | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8040. | |||
ke assignments in a given registry prudently, guidance describing the conditions | xml"/> | |||
under which new values should be assigned, as well as when and how modification | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8342. | |||
s to existing values can be made, is needed. This document defines a framework | xml"/> | |||
for the documentation of these guidelines by specification authors, in order to | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8446. | |||
assure that the provided guidance for the IANA Considerations is clear and addre | xml"/> | |||
sses the various issues that are likely in the operation of a registry.</t><t>Th | ||||
is is the third edition of this document; it obsoletes RFC 5226.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='26'/> | ||||
<seriesInfo name='RFC' value='8126'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8126'/> | ||||
</reference> | ||||
<reference anchor='RFC8342' target='https://www.rfc-editor.org/info/rfc8342'> | ||||
<front> | ||||
<title>Network Management Datastore Architecture (NMDA)</title> | ||||
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization | ||||
/></author> | ||||
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder'><organ | ||||
ization /></author> | ||||
<author initials='P.' surname='Shafer' fullname='P. Shafer'><organization /></au | ||||
thor> | ||||
<author initials='K.' surname='Watsen' fullname='K. Watsen'><organization /></au | ||||
thor> | ||||
<author initials='R.' surname='Wilton' fullname='R. Wilton'><organization /></au | ||||
thor> | ||||
<date year='2018' month='March' /> | ||||
<abstract><t>Datastores are a fundamental concept binding the data models writte | ||||
n in the YANG data modeling language to network management protocols such as the | ||||
Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an | ||||
architectural framework for datastores based on the experience gained with the | ||||
initial simpler model, addressing requirements that were not well supported in t | ||||
he initial model. This document updates RFC 7950.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='8342'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8342'/> | ||||
</reference> | ||||
<reference anchor="WGS84"> | <reference anchor="WGS84"> | |||
<front> | <front> | |||
<title>National Imagery and Mapping Agency Technical Report 8350.2, Third Editio | <title>Department of Defense World Geodetic System 1984</title> | |||
n.</title> | <author><organization>National Imagery and Mapping Agency</organization></author | |||
<author><organization>National Imagery and Mapping Agency.</organization></autho | > | |||
r> | <date month="January" year="2000"/> | |||
<date day="3" month="1" year="2000"/> | ||||
</front> | </front> | |||
<refcontent>NIMA TR8350.2, Third Edition</refcontent> | ||||
</reference> | </reference> | |||
</references> | </references> | |||
<references title="Informative References"> | <references title="Informative References"> | |||
<reference anchor="ISO.19136.2007"> | ||||
<front> | ||||
<title>ISO 19136:2007 Geographic information -- Geography Markup Language (GML)< | ||||
/title> | ||||
<author><organization>International Organization for Standardization</organizati | ||||
on></author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="KML22" target='http://portal.opengeospatial.org/files/?artifa | ||||
ct_id=27810'> | ||||
<front> | ||||
<title>OGC KML (Version 2.2)</title> | ||||
<author role='editor' initials='T.' surname='Wilson' fullname='Tim Wilson'><orga | ||||
nization>Open Geospatial Consortium</organization></author> | ||||
<date day="14" month="4" year="2008"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="KML23" target='http://docs.opengeospatial.org/is/12-007r2/12- | ||||
007r2.html'> | ||||
<front> | ||||
<title>OGC KML 2.3</title> | ||||
<author role='editor' initials='D.' surname='Burggraf' fullname='David Burggraf' | ||||
><organization>Open Geospatial Consortium</organization></author> | ||||
<date day="4" month="8" year="2015"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor='RFC3688' target='https://www.rfc-editor.org/info/rfc3688'> | <reference anchor="OGC" target="https://portal.ogc.org/files/?artifact_id=20509" | |||
<front> | > | |||
<title>The IETF XML Registry</title> | ||||
<author initials='M.' surname='Mealling' fullname='M. Mealling'><organization /> | ||||
</author> | ||||
<date year='2004' month='January' /> | ||||
<abstract><t>This document describes an IANA maintained registry for IETF standa | ||||
rds which use Extensible Markup Language (XML) related items such as Namespaces, | ||||
Document Type Declarations (DTDs), Schemas, and Resource Description Framework | ||||
(RDF) Schemas.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='81'/> | ||||
<seriesInfo name='RFC' value='3688'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC3688'/> | ||||
</reference> | ||||
<reference anchor='RFC5870' target='https://www.rfc-editor.org/info/rfc5870'> | ||||
<front> | ||||
<title>A Uniform Resource Identifier for Geographic Locations ('geo' URI)</title | ||||
> | ||||
<author initials='A.' surname='Mayrhofer' fullname='A. Mayrhofer'><organization | ||||
/></author> | ||||
<author initials='C.' surname='Spanring' fullname='C. Spanring'><organization /> | ||||
</author> | ||||
<date year='2010' month='June' /> | ||||
<abstract><t>This document specifies a Uniform Resource Identifier (URI) for geo | ||||
graphic locations using the 'geo\' scheme name. A 'geo' URI identifies a physic | ||||
al location in a two- or three-dimensional coordinate reference system in a comp | ||||
act, simple, human-readable, and protocol-independent way. The default coordina | ||||
te reference system used is the World Geodetic System 1984 (WGS-84). [STANDARDS | ||||
-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='5870'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC5870'/> | ||||
</reference> | ||||
<reference anchor='RFC6020' target='https://www.rfc-editor.org/info/rfc6020'> | ||||
<front> | <front> | |||
<title>YANG - A Data Modeling Language for the Network Configuration Protocol (N | <title>OpenGISĀ® Geography Markup Language (GML) Encoding Standard</title> | |||
ETCONF)</title> | <author><organization>OpenGIS</organization></author> | |||
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'> | <date month="August" year="2007"/> | |||
<organization /></author> | ||||
<date year='2010' month='October' /> | ||||
<abstract><t>YANG is a data modeling language used to model configuration and st | ||||
ate data manipulated by the Network Configuration Protocol (NETCONF), NETCONF re | ||||
mote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t></abstract | ||||
> | ||||
</front> | </front> | |||
<seriesInfo name='RFC' value='6020'/> | <refcontent>Version: 3.2.1</refcontent> | |||
<seriesInfo name='DOI' value='10.17487/RFC6020'/> | <refcontent>OGC 07-036</refcontent> | |||
</reference> | ||||
<reference anchor='RFC6241' target='https://www.rfc-editor.org/info/rfc6241'> | ||||
<front> | ||||
<title>Network Configuration Protocol (NETCONF)</title> | ||||
<author initials='R.' surname='Enns' fullname='R. Enns' role='editor'><organizat | ||||
ion /></author> | ||||
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'> | ||||
<organization /></author> | ||||
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder' role=' | ||||
editor'><organization /></author> | ||||
<author initials='A.' surname='Bierman' fullname='A. Bierman' role='editor'><org | ||||
anization /></author> | ||||
<date year='2011' month='June' /> | ||||
<abstract><t>The Network Configuration Protocol (NETCONF) defined in this docume | ||||
nt provides mechanisms to install, manipulate, and delete the configuration of n | ||||
etwork devices. It uses an Extensible Markup Language (XML)-based data encoding | ||||
for the configuration data as well as the protocol messages. The NETCONF proto | ||||
col operations are realized as remote procedure calls (RPCs). This document obs | ||||
oletes RFC 4741. [STANDARDS-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='6241'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC6241'/> | ||||
</reference> | </reference> | |||
<reference anchor='RFC6242' target='https://www.rfc-editor.org/info/rfc6242'> | <reference anchor="ISO.19136.2007"> | |||
<front> | <front> | |||
<title>Using the NETCONF Protocol over Secure Shell (SSH)</title> | <title>Geographic information -- Geography Markup Language (GML)</title> | |||
<author initials='M.' surname='Wasserman' fullname='M. Wasserman'><organization | <author><organization>International Organization for Standardization</organizati | |||
/></author> | on></author> | |||
<date year='2011' month='June' /> | <date/> | |||
<abstract><t>This document describes a method for invoking and running the Netwo | ||||
rk Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SS | ||||
H subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t></abstract | ||||
> | ||||
</front> | </front> | |||
<seriesInfo name='RFC' value='6242'/> | <seriesInfo name="ISO" value="19136:2007"/> | |||
<seriesInfo name='DOI' value='10.17487/RFC6242'/> | ||||
</reference> | </reference> | |||
<reference anchor='RFC7950' target='https://www.rfc-editor.org/info/rfc7950'> | <reference anchor="KML22" target='https://portal.opengeospatial.org/files/?artif act_id=27810' > | |||
<front> | <front> | |||
<title>The YANG 1.1 Data Modeling Language</title> | <title>OGC KML</title> | |||
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'> | <author role='editor' initials='T.' surname='Wilson' fullname='Tim Wilson'><orga | |||
<organization /></author> | nization>Open Geospatial Consortium Inc.</organization></author> | |||
<date year='2016' month='August' /> | <date month="April" year="2008"/> | |||
<abstract><t>YANG is a data modeling language used to model configuration data, | ||||
state data, Remote Procedure Calls, and notifications for network management pro | ||||
tocols. This document describes the syntax and semantics of version 1.1 of the | ||||
YANG language. YANG version 1.1 is a maintenance release of the YANG language, | ||||
addressing ambiguities and defects in the original specification. There are a s | ||||
mall number of backward incompatibilities from YANG version 1. This document al | ||||
so specifies the YANG mappings to the Network Configuration Protocol (NETCONF).< | ||||
/t></abstract> | ||||
</front> | </front> | |||
<seriesInfo name='RFC' value='7950'/> | <refcontent>Version 2.2</refcontent> | |||
<seriesInfo name='DOI' value='10.17487/RFC7950'/> | ||||
</reference> | </reference> | |||
<reference anchor='RFC8040' target='https://www.rfc-editor.org/info/rfc8040'> | <reference anchor="KML23" target='https://docs.opengeospatial.org/is/12-007r2/12 -007r2.html'> | |||
<front> | <front> | |||
<title>RESTCONF Protocol</title> | <title>OGC KML</title> | |||
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></ | <author role='editor' initials='D.' surname='Burggraf' fullname='David Burggraf' | |||
author> | ><organization>Open Geospatial Consortium Inc.</organization></author> | |||
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization | <date month="August" year="2015"/> | |||
/></author> | ||||
<author initials='K.' surname='Watsen' fullname='K. Watsen'><organization /></au | ||||
thor> | ||||
<date year='2017' month='January' /> | ||||
<abstract><t>This document describes an HTTP-based protocol that provides a prog | ||||
rammatic interface for accessing data defined in YANG, using the datastore conce | ||||
pts defined in the Network Configuration Protocol (NETCONF).</t></abstract> | ||||
</front> | </front> | |||
<seriesInfo name='RFC' value='8040'/> | <refcontent>Version 2.3</refcontent> | |||
<seriesInfo name='DOI' value='10.17487/RFC8040'/> | ||||
</reference> | </reference> | |||
<reference anchor='RFC8340' target='https://www.rfc-editor.org/info/rfc8340'> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3688. | |||
<front> | xml"/> | |||
<title>YANG Tree Diagrams</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5870. | |||
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization | xml"/> | |||
/></author> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6020. | |||
<author initials='L.' surname='Berger' fullname='L. Berger' role='editor'><organ | xml"/> | |||
ization /></author> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7950. | |||
<date year='2018' month='March' /> | xml"/> | |||
<abstract><t>This document captures the current syntax used in YANG module tree | ||||
diagrams. The purpose of this document is to provide a single location for this | ||||
definition. This syntax may be updated from time to time based on the evolutio | ||||
n of the YANG language.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='215'/> | ||||
<seriesInfo name='RFC' value='8340'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8340'/> | ||||
</reference> | ||||
<reference anchor='RFC8341' target='https://www.rfc-editor.org/info/rfc8341'> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8340. | |||
<front> | xml"/> | |||
<title>Network Configuration Access Control Model</title> | ||||
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></ | ||||
author> | ||||
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization | ||||
/></author> | ||||
<date year='2018' month='March' /> | ||||
<abstract><t>The standardization of network configuration interfaces for use wit | ||||
h the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires | ||||
a structured and secure operating environment that promotes human usability and | ||||
multi-vendor interoperability. There is a need for standard mechanisms to rest | ||||
rict NETCONF or RESTCONF protocol access for particular users to a preconfigured | ||||
subset of all available NETCONF or RESTCONF protocol operations and content. T | ||||
his document defines such an access control model.</t><t>This document obsoletes | ||||
RFC 6536.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='STD' value='91'/> | ||||
<seriesInfo name='RFC' value='8341'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8341'/> | ||||
</reference> | ||||
<reference anchor='RFC8446' target='https://www.rfc-editor.org/info/rfc8446'> | ||||
<front> | ||||
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title> | ||||
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /> | ||||
</author> | ||||
<date year='2018' month='August' /> | ||||
<abstract><t>This document specifies version 1.3 of the Transport Layer Security | ||||
(TLS) protocol. TLS allows client/server applications to communicate over the | ||||
Internet in a way that is designed to prevent eavesdropping, tampering, and mess | ||||
age forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs | ||||
5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 | ||||
implementations.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='8446'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8446'/> | ||||
</reference> | ||||
<reference anchor="W3CGEO" target='https://www.w3.org/TR/2016/REC-geolocation-AP I-20161108/'> | <reference anchor="W3CGEO" target='https://www.w3.org/TR/2016/REC-geolocation-AP I-20161108/'> | |||
<front> | <front> | |||
<title>Geolocation API Specification</title> | <title>Geolocation API Specification</title> | |||
<author initials='A.' surname='Popescu' fullname='Andrei Popescu'><organization/ ></author> | <author initials='A.' surname='Popescu' fullname='Andrei Popescu'><organization/ ></author> | |||
<date day="8" month="11" year="2016"/> | <date month="November" year="2016"/> | |||
</front> | </front> | |||
<refcontent>2nd Edition</refcontent> | ||||
</reference> | </reference> | |||
</references> | </references> | |||
<section title="Examples"> | <section title="Examples"> | |||
<t>Below is a fictitious module that uses the geo-location grouping.</t> | <t>Below is a fictitious module that uses the geo-location grouping.</t> | |||
<figure><name>Example YANG module using geo location.</name><sourcecode><![CDATA [ | <figure><name>Example YANG Module Using Geolocation</name><sourcecode type="yang "><![CDATA[ | |||
module example-uses-geo-location { | module example-uses-geo-location { | |||
namespace | namespace | |||
"urn:example:example-uses-geo-location"; | "urn:example:example-uses-geo-location"; | |||
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 | |||
revision 2019-02-02 { reference "None"; } | "Example use of geo-location"; | |||
revision 2022-2-7 { reference "None"; } | ||||
container locatable-items { | container locatable-items { | |||
description "container of locatable items"; | description | |||
"The container of locatable items"; | ||||
list locatable-item { | list locatable-item { | |||
key name; | key name; | |||
description "A locatable item"; | description | |||
"A locatable item"; | ||||
leaf name { | leaf name { | |||
type string; | type string; | |||
description "name of locatable item"; | description | |||
"The name of locatable item"; | ||||
} | } | |||
uses geo:geo-location; | uses geo:geo-location; | |||
} | } | |||
} | } | |||
} | } | |||
]]></sourcecode></figure> | ]]></sourcecode></figure> | |||
<t>Below is the YANG tree for the fictitious module that uses the | <t>Below is the YANG tree for the fictitious module that uses the | |||
geo-location grouping.</t> | geo-location grouping.</t> | |||
<figure><name>Example YANG Tree Using Geolocation</name> | ||||
<artwork><![CDATA[ | <sourcecode type="yangtree"><![CDATA[ | |||
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 | | +--rw alternate-system? string | |||
| | {alternate-systems}? | | | {alternate-systems}? | |||
| +--rw astronomical-body? string | | +--rw astronomical-body? string | |||
| +--rw geodetic-system | | +--rw geodetic-system | |||
skipping to change at line 1144 ¶ | skipping to change at line 1024 ¶ | |||
| +--:(cartesian) | | +--:(cartesian) | |||
| +--rw x? decimal64 | | +--rw x? decimal64 | |||
| +--rw y? decimal64 | | +--rw y? decimal64 | |||
| +--rw z? decimal64 | | +--rw z? decimal64 | |||
+--rw velocity | +--rw velocity | |||
| +--rw v-north? decimal64 | | +--rw v-north? decimal64 | |||
| +--rw v-east? decimal64 | | +--rw v-east? decimal64 | |||
| +--rw v-up? decimal64 | | +--rw v-up? decimal64 | |||
+--rw timestamp? yang:date-and-time | +--rw timestamp? yang:date-and-time | |||
+--rw valid-until? yang:date-and-time | +--rw valid-until? yang:date-and-time | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | ||||
<t>Below is some example YANG XML data for the fictitious module that | <t>Below is some example YANG XML data for the fictitious module that | |||
uses the geo-location grouping.</t> | uses the geo-location grouping.</t> | |||
<figure><name>Example XML data of geo location use.</name><sourcecode><![CDATA[ | <figure><name>Example XML Data of Geolocation Use</name><sourcecode type="xml">< ![CDATA[ | |||
<locatable-items xmlns="urn:example:example-uses-geo-location"> | <locatable-items xmlns="urn:example:example-uses-geo-location"> | |||
<locatable-item> | <locatable-item> | |||
<name>Gaetana's</name> | <name>Gaetana's</name> | |||
<geo-location> | <geo-location> | |||
<latitude>40.73297</latitude> | <latitude>40.73297</latitude> | |||
<longitude>-74.007696</longitude> | <longitude>-74.007696</longitude> | |||
</geo-location> | </geo-location> | |||
</locatable-item> | </locatable-item> | |||
<locatable-item> | <locatable-item> | |||
<name>Pont des Arts</name> | <name>Pont des Arts</name> | |||
skipping to change at line 1205 ¶ | skipping to change at line 1085 ¶ | |||
<geodetic-datum>me</geodetic-datum> | <geodetic-datum>me</geodetic-datum> | |||
</geodetic-system> | </geodetic-system> | |||
</reference-frame> | </reference-frame> | |||
</geo-location> | </geo-location> | |||
</locatable-item> | </locatable-item> | |||
</locatable-items> | </locatable-items> | |||
]]></sourcecode></figure> | ]]></sourcecode></figure> | |||
</section> | </section> | |||
<section title="Acknowledgments"> | <section title="Acknowledgments" numbered="false"> | |||
<t>We would like to thank Jim Biard and Ben Koziol for their reviews and | <t>We would like to thank <contact fullname="Jim Biard"/> and <contact | |||
suggested improvements. We would also like to thank Peter Lothberg | fullname="Ben Koziol"/> for their reviews and suggested improvements. We would | |||
for the motivation as well as help in defining a broadly useful | also like to thank <contact fullname="Peter Lothberg"/> for the motivation as | |||
geographic location object, and Acee Lindem and Qin Wu for their work | well as help in defining a broadly useful geographic location object as well | |||
on a geographic location object that led to this documents' | as <contact fullname="Acee Lindem"/> and <contact fullname="Qin Wu"/> for | |||
creation. We would also like to thank the document shepherd Kent | their work on a geographic location object that led to this document's | |||
Watsen.</t> | creation. We would also like to thank the Document Shepherd <contact | |||
fullname="Kent Watsen"/>.</t> | ||||
</section> | </section> | |||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 141 change blocks. | ||||
690 lines changed or deleted | 483 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/ |