1 module ietf-geo-location {
3 namespace "urn:ietf:params:xml:ns:yang:ietf-geo-location";
5 import ietf-yang-types {
7 reference "RFC 6991: Common YANG Data Types";
11 "IETF NETMOD Working Group (NETMOD)";
13 "WG Web: <https://datatracker.ietf.org/wg/netmod/>
14 WG List: <mailto:netmod@ietf.org>
16 Editor: Christian Hopps
17 <mailto:chopps@chopps.org>";
20 "This module defines a grouping of a container object for
21 specifying a location on or around an astronomical object (e.g.,
24 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
25 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
26 'MAY', and 'OPTIONAL' in this document are to be interpreted as
27 described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
28 they appear in all capitals, as shown here.
30 Copyright (c) 2022 IETF Trust and the persons identified as
31 authors of the code. All rights reserved.
33 Redistribution and use in source and binary forms,
34 with or without modification, is permitted pursuant to,
35 and subject to the license terms contained in, the
36 Revised BSD License set forth in Section 4.c of the
37 IETF Trust's Legal Provisions Relating to IETF Documents
38 (https://trustee.ietf.org/license-info).
40 This version of this YANG module is part of RFC 9179
41 (https://www.rfc-editor.org/info/rfc9179); see the RFC itself
42 for full legal notices.";
48 "RFC 9179: A YANG Grouping for Geographic Locations";
51 feature alternate-systems {
53 "This feature means the device supports specifying locations
54 using alternate systems for reference frames.";
57 grouping geo-location {
59 "Grouping to identify a location on an astronomical object.";
61 container geo-location {
63 "A location on an astronomical body (e.g., 'earth')
64 somewhere in a universe.";
66 container reference-frame {
68 "The Frame of Reference for the location values.";
70 leaf alternate-system {
71 if-feature "alternate-systems";
74 "The system in which the astronomical body and
75 geodetic-datum is defined. Normally, this value is not
76 present and the system is the natural universe; however,
77 when present, this value allows for specifying alternate
78 systems (e.g., virtual realities). An alternate-system
79 modifies the definition (but not the type) of the other
80 values in the reference frame.";
82 leaf astronomical-body {
84 pattern '[ -@\[-\^_-~]*';
88 "An astronomical body as named by the International
89 Astronomical Union (IAU) or according to the alternate
90 system if specified. Examples include 'sun' (our star),
91 'earth' (our planet), 'moon' (our moon), 'enceladus' (a
92 moon of Saturn), 'ceres' (an asteroid), and
93 '67p/churyumov-gerasimenko (a comet). The ASCII value
94 SHOULD have uppercase converted to lowercase and not
95 include control characters (i.e., values 32..64, and
96 91..126). Any preceding 'the' in the name SHOULD NOT be
99 "https://www.iau.org/";
101 container geodetic-system {
103 "The geodetic system of the location data.";
104 leaf geodetic-datum {
106 pattern '[ -@\[-\^_-~]*';
109 "A geodetic-datum defining the meaning of latitude,
110 longitude, and height. The default when the
111 astronomical body is 'earth' is 'wgs-84', which is
112 used by the Global Positioning System (GPS). The
113 ASCII value SHOULD have uppercase converted to
114 lowercase and not include control characters
115 (i.e., values 32..64, and 91..126). The IANA registry
116 further restricts the value by converting all spaces
117 (' ') to dashes ('-').
118 The specification for the geodetic-datum indicates
119 how accurately it models the astronomical body in
120 question, both for the 'horizontal'
121 latitude/longitude coordinates and for height
124 "RFC 9179: A YANG Grouping for Geographic Locations,
127 leaf coord-accuracy {
132 "The accuracy of the latitude/longitude pair for
133 ellipsoidal coordinates, or the X, Y, and Z components
134 for Cartesian coordinates. When coord-accuracy is
135 specified, it indicates how precisely the coordinates
136 in the associated list of locations have been
137 determined with respect to the coordinate system
138 defined by the geodetic-datum. For example, there
139 might be uncertainty due to measurement error if an
140 experimental measurement was made to determine each
143 leaf height-accuracy {
149 "The accuracy of the height value for ellipsoidal
150 coordinates; this value is not used with Cartesian
151 coordinates. When height-accuracy is specified, it
152 indicates how precisely the heights in the
153 associated list of locations have been determined
154 with respect to the coordinate system defined by the
155 geodetic-datum. For example, there might be
156 uncertainty due to measurement error if an
157 experimental measurement was made to determine each
164 "The location data either in latitude/longitude or
171 units "decimal degrees";
173 "The latitude value on the astronomical body. The
174 definition and precision of this measurement is
175 indicated by the reference-frame.";
181 units "decimal degrees";
183 "The longitude value on the astronomical body. The
184 definition and precision of this measurement is
185 indicated by the reference-frame.";
193 "Height from a reference 0 value. The precision and
194 '0' value is defined by the reference-frame.";
204 "The X value as defined by the reference-frame.";
212 "The Y value as defined by the reference-frame.";
220 "The Z value as defined by the reference-frame.";
226 "If the object is in motion, the velocity vector describes
227 this motion at the time given by the timestamp. For a
228 formula to convert these values to speed and heading, see
231 "RFC 9179: A YANG Grouping for Geographic Locations";
237 units "meters per second";
239 "v-north is the rate of change (i.e., speed) towards
240 true north as defined by the geodetic-system.";
247 units "meters per second";
249 "v-east is the rate of change (i.e., speed) perpendicular
250 to the right of true north as defined by
251 the geodetic-system.";
258 units "meters per second";
260 "v-up is the rate of change (i.e., speed) away from the
265 type yang:date-and-time;
267 "Reference time when location was recorded.";
270 type yang:date-and-time;
272 "The timestamp for which this geo-location is valid until.
273 If unspecified, the geo-location has no specific