summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7035.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc7035.txt')
-rw-r--r--doc/rfc/rfc7035.txt2187
1 files changed, 2187 insertions, 0 deletions
diff --git a/doc/rfc/rfc7035.txt b/doc/rfc/rfc7035.txt
new file mode 100644
index 0000000..5cba9f1
--- /dev/null
+++ b/doc/rfc/rfc7035.txt
@@ -0,0 +1,2187 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) M. Thomson
+Request for Comments: 7035 Microsoft
+Category: Standards Track B. Rosen
+ISSN: 2070-1721 Neustar
+ D. Stanley
+ Aruba Networks
+ G. Bajko
+ Nokia
+ A. Thomson
+ Lookingglass
+ October 2013
+
+
+ Relative Location Representation
+
+Abstract
+
+ This document defines an extension to the Presence Information Data
+ Format Location Object (PIDF-LO) (RFC 4119) for the expression of
+ location information that is defined relative to a reference point.
+ The reference point may be expressed as a geodetic or civic location,
+ and the relative offset may be one of several shapes. An alternative
+ binary representation is described.
+
+ Optionally, a reference to a secondary document (such as a map image)
+ can be included, along with the relationship of the map coordinate
+ system to the reference/offset coordinate system, to allow display of
+ the map with the reference point and the relative offset.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7035.
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 1]
+
+RFC 7035 Relative Location October 2013
+
+
+Copyright Notice
+
+ Copyright (c) 2013 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 2]
+
+RFC 7035 Relative Location October 2013
+
+
+Table of Contents
+
+ 1. Introduction ....................................................4
+ 2. Conventions Used in This Document ...............................4
+ 3. Overview ........................................................4
+ 4. Relative Location ...............................................7
+ 4.1. Relative Coordinate System .................................8
+ 4.2. Placement of XML Elements ..................................8
+ 4.3. Binary Format ..............................................9
+ 4.4. Distances and Angles .......................................9
+ 4.5. Value Encoding ............................................10
+ 4.6. Relative Location Restrictions ............................10
+ 4.7. Baseline TLVs .............................................10
+ 4.8. Reference TLVs ............................................10
+ 4.9. Shapes ....................................................11
+ 4.9.1. Point ..............................................11
+ 4.9.2. Circle or Sphere Shape .............................12
+ 4.9.3. Ellipse or Ellipsoid Shape .........................13
+ 4.9.4. Polygon or Prism Shape .............................15
+ 4.9.5. Arc-Band Shape .....................................18
+ 4.10. Dynamic Location TLVs ....................................20
+ 4.10.1. Orientation .......................................20
+ 4.10.2. Speed .............................................20
+ 4.10.3. Heading ...........................................20
+ 4.11. Secondary Map Metadata ...................................21
+ 4.11.1. Map URL ...........................................21
+ 4.11.2. Map Coordinate Reference System ...................21
+ 4.11.3. Map Example .......................................24
+ 5. Examples .......................................................24
+ 5.1. Civic PIDF with Polygon Offset ............................24
+ 5.2. Geo PIDF with Circle Offset ...............................26
+ 5.3. Civic TLV with Point Offset ...............................27
+ 6. Schema Definition ..............................................28
+ 7. Security Considerations ........................................30
+ 8. IANA Considerations ............................................31
+ 8.1. Relative Location Registry ................................31
+ 8.2. URN Sub-Namespace Registration ............................33
+ 8.3. XML Schema Registration ...................................33
+ 8.4. Geopriv Identifiers Registry ..............................34
+ 8.4.1. Registration of Two-Dimensional Relative
+ Coordinate Reference System URN ....................35
+ 8.4.2. Registration of Three-Dimensional Relative
+ Coordinate Reference System URN ....................35
+ 9. Acknowledgements ...............................................35
+ 10. References ....................................................36
+ 10.1. Normative References .....................................36
+ 10.2. Informative References ...................................38
+
+
+
+
+Thomson, et al. Standards Track [Page 3]
+
+RFC 7035 Relative Location October 2013
+
+
+1. Introduction
+
+ This document describes a format for the expression of relative
+ location information.
+
+ A relative location is formed of a reference location plus a relative
+ offset from that reference location. The reference location can be
+ represented in either civic or geodetic form. The reference location
+ can also have dynamic components such as velocity. The relative
+ offset is specified in meters using a Cartesian coordinate system.
+
+ In addition to the relative location, an optional URI can be provided
+ to a document that contains a map, floor plan, or other spatially
+ oriented information. Applications could use this information to
+ display the relative location. Additional fields allow the map to be
+ oriented and scaled correctly.
+
+ Two formats are included: an XML form that is intended for use in
+ PIDF-LO [RFC4119] and a TLV format for use in other protocols such as
+ those that already convey binary representation of location
+ information defined in [RFC4776].
+
+2. Conventions Used in This Document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+3. Overview
+
+ This document describes an extension to PIDF-LO [RFC4119] as updated
+ by [RFC5139] and [RFC5491], to allow the expression of a location as
+ an offset relative to a reference.
+
+ Reference
+ Location
+ o
+ \
+ \ Offset
+ \
+ _\|
+ x
+ Relative
+ Location
+
+ This extension allows the creator of a location object to include two
+ location values plus an offset. The two location values, named
+ "baseline" and "reference", combine to form the origin of the offset.
+
+
+
+Thomson, et al. Standards Track [Page 4]
+
+RFC 7035 Relative Location October 2013
+
+
+ The final, relative location is described relative to this reference
+ point.
+
+ ..--"""--..
+ .-' `-.
+ ,' `.
+ / Reference \
+ / o \
+ | \ |
+ | \ |
+ | \ |
+ \ _\| /
+ `. x .' \_ Baseline
+ `._ Relative _.' Location
+ `--..___..--'
+
+ The baseline location is included outside of the <relative-location>
+ element. The baseline location is visible to a client that does not
+ understand relative location (i.e., it ignores the
+ <relative-location> element).
+
+ A client that does understand relative location will interpret the
+ location within the relative element as a refinement of the baseline
+ location. This document defines both a reference location, which
+ serves as a refinement of the baseline location and the starting
+ point, and an offset, which describes the location of the Target
+ based on this starting point.
+
+ Creators of location objects with relative location thus have a
+ choice of how much information to put into the baseline location and
+ how much to put into the reference location. For example, the
+ baseline location value could be precise enough to specify a building
+ that contains the relative location, and the reference location could
+ specify a point within the building from which the offset is
+ measured.
+
+ Location objects SHOULD NOT have all location information in the
+ baseline location. Doing this would cause clients that do not
+ understand relative location to incorrectly interpret the baseline
+ location (i.e., the reference point) as the actual, precise location
+ of the client. The baseline location is intended to carry a location
+ that encompasses both the reference location and the relative
+ location (i.e., the reference location plus offset).
+
+ It is possible to provide a valid relative location with no
+ information in the baseline. However, this provides recipients who
+ do not understand relative location with no information. A baseline
+ location SHOULD include sufficient information to encompass both the
+
+
+
+Thomson, et al. Standards Track [Page 5]
+
+RFC 7035 Relative Location October 2013
+
+
+ reference and relative locations while providing a baseline that is
+ as accurate as possible.
+
+ Both the baseline and the reference location are defined as either a
+ geodetic location [OGC.GeoShape] or a civic address [RFC4776]. If
+ the baseline location was expressed as a geodetic location, the
+ reference MUST be geodetic. If the baseline location was expressed
+ as a civic address, the reference MUST be civic.
+
+ Baseline and reference locations MAY also include dynamic location
+ information [RFC5962].
+
+ The relative location can be expressed using a point (2- or
+ 3-dimensional) or a shape that includes uncertainty: circle, sphere,
+ ellipse, ellipsoid, polygon, prism, or arc-band. Descriptions of
+ these shapes can be found in [RFC5491].
+
+ Optionally, a reference to a 'map' document can be provided. The
+ reference is a URI [RFC3986]. The document could be an image or
+ dataset that represents a map, floor plan, or other form. The type
+ of document the URI points to is described as a MIME media type
+ [RFC2046]. Metadata in the relative location can include the
+ location of the reference point in the map as well as an orientation
+ (angle from North) and scale to align the document Coordinate
+ Reference System (CRS) with the World Geodetic System 1984 (WGS84)
+ [WGS84] CRS. The document is assumed to be usable by the application
+ receiving the PIDF with the relative location to locate the reference
+ point in the map. This document does not describe any mechanisms for
+ displaying or manipulating the document other than providing the
+ reference location, orientation, and scale.
+
+ As an example, consider a relative location expressed as a point,
+ relative to a civic location:
+
+ <presence xmlns="urn:ietf:params:xml:ns:pidf"
+ xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
+ xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
+ xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
+ xmlns:rel="urn:ietf:params:xml:ns:pidf:geopriv10:relative"
+ xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ entity="pres:relative@example.com">
+ <dm:device id="relative1">
+ <gp:geopriv>
+ <gp:location-info>
+ <ca:civicAddress xml:lang="en-AU">
+ <ca:country>AU</ca:country>
+ <ca:A1>NSW</ca:A1>
+
+
+
+Thomson, et al. Standards Track [Page 6]
+
+RFC 7035 Relative Location October 2013
+
+
+ <ca:A3>Wollongong</ca:A3>
+ <ca:A4>North Wollongong</ca:A4>
+ <ca:RD>Flinders</ca:RD>
+ <ca:STS>Street</ca:STS>
+ <ca:HNO>123</ca:HNO>
+ </ca:civicAddress>
+ <rel:relative-location>
+ <rel:reference>
+ <ca:civicAddress xml:lang="en-AU">
+ <ca:LMK>Front Door</ca:LMK>
+ </ca:civicAddress>
+ </rel:reference>
+ <rel:offset>
+ <gml:Point xmlns:gml="http://www.opengis.net/gml"
+ srsName="urn:ietf:params:geopriv:relative:2d">
+ <gml:pos>100 50</gml:pos>
+ </gml:Point>
+ </rel:offset>
+ </rel:relative-location>
+ </gp:location-info>
+ <gp:usage-rules/>
+ <gp:method>GPS</gp:method>
+ <rel:map>
+ <rel:url type="image/png">
+ http://example.com/location/map.png
+ </rel:url>
+ <rel:offset>20. 120.</rel:offset>
+ <rel:orientation>29.</rel:orientation>
+ <rel:scale>20. -20.</rel:scale>
+ </rel:map>
+ </gp:geopriv>
+ <dm:deviceID>mac:1234567890ab</dm:deviceID>
+ <dm:timestamp>2007-06-22T20:57:29Z</dm:timestamp>
+ </dm:device>
+ </presence>
+
+4. Relative Location
+
+ Relative location is a shape (e.g., point, circle, ellipse). The
+ shape is defined with a CRS that has a datum defined as the reference
+ (which appears as a civic address or geodetic location in the tuple)
+ and the shape coordinates as meter offsets North/East of the datum
+ measured in meters (with an optional Z offset relative to datum
+ altitude). An optional angle allows the reference CRS be to rotated
+ with respect to North.
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 7]
+
+RFC 7035 Relative Location October 2013
+
+
+4.1. Relative Coordinate System
+
+ The relative coordinate reference system uses a coordinate system
+ with two or three axes.
+
+ The baseline and reference locations are used to define a relative
+ datum. The reference location defines the origin of the coordinate
+ system. The centroid of the reference location is used when the
+ reference location contains any uncertainty.
+
+ The axes in this coordinate system are originally oriented based on
+ the directions of East, North, and Up from the reference location:
+ the first (x) axis increases to the East, the second (y) axis points
+ North, and the optional third (z) axis points Up. All axes of the
+ coordinate system use meters as a basic unit.
+
+ Any coordinates in the relative shapes use the described Cartesian
+ coordinate system. In the XML form, this uses a URN of
+ "urn:ietf:params:geopriv:relative:2d" for two-dimensional shapes and
+ "urn:ietf:params:geopriv:relative:3d" for three-dimensional shapes.
+ The binary form uses different shape type identifiers for 2D and 3D
+ shapes.
+
+ Dynamic location information [RFC5962] in the baseline or reference
+ location alters the relative coordinate system. The resulting
+ Cartesian coordinate system axes are rotated so that the y axis is
+ oriented along the direction described by the <orientation> element.
+ The coordinate system also moves as described by the <speed> and
+ <heading> elements.
+
+ The single timestamp included in the tuple (or equivalent) element
+ applies to all location elements, including all three components of a
+ relative location: baseline, reference, and relative. This is
+ particularly important when there are dynamic components to these
+ items. A location generator is responsible for ensuring the
+ consistency of these fields.
+
+4.2. Placement of XML Elements
+
+ The baseline of the reference location is represented as
+ <location-info> like a normal PIDF-LO. Relative location adds a new
+ <relative-location> element to <location-info>. Within
+ <relative-location>, <reference> and <offset> elements are described.
+ Within <offset> are the shape elements described below. This
+ document extends PIDF-LO as described in [RFC6848].
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 8]
+
+RFC 7035 Relative Location October 2013
+
+
+4.3. Binary Format
+
+ This document describes a way to encode the relative location in a
+ binary TLV form for use in other protocols that use TLVs to represent
+ location.
+
+ A type-length-value encoding is used.
+
+ +------+------+------+------+------+------+------+
+ | Type |Length| Value ...
+ +------+------+------+------+------+------+------+
+ | T | N | Value ...
+ +------+------+------+------+------+------+------+
+
+ Figure 1: TLV Tuple Format
+
+ The Type field (T) is an 8-bit unsigned integer. The type codes used
+ are registered in an IANA-managed "Relative Location Parameters"
+ registry defined by this document and restricted to not include the
+ values defined by the "Civic Address Types (CAtypes)" registry. This
+ restriction permits a location reference and offset to be coded
+ within the same object without type collisions.
+
+ The Length field (N) is defined as an 8-bit unsigned integer. This
+ field can encode values from 0 to 255. The length field describes
+ the number of bytes in the Value. Length does not count the bytes
+ used for the Type or Length.
+
+ The Value field is defined separately for each type.
+
+ Each element of the relative location has a unique TLV assignment. A
+ relative location encoded in TLV form includes both baseline and
+ reference location TLVs and relative location TLVs. The reference
+ TLVs are followed by the relative offset and optional map TLVs
+ described in this document.
+
+4.4. Distances and Angles
+
+ All distance measures used in shapes are expressed in meters.
+
+ All orientation angles used in shapes are expressed in degrees.
+ Orientation angles are measured from WGS84 Northing to Easting with
+ zero at Northing. Orientation angles in the relative coordinate
+ system start from the second coordinate axis (y or Northing) and
+ increase toward the first axis (x or Easting).
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 9]
+
+RFC 7035 Relative Location October 2013
+
+
+4.5. Value Encoding
+
+ The binary form uses single-precision floating-point values
+ [IEEE.754] to represent coordinates, distance, and angle measures.
+ Single-precision values are 32-bit values with a sign bit, 8 exponent
+ bits, and 23 fractional bits. This uses the interchange format
+ defined in [IEEE.754] and Section 3.6 of [RFC1014], that is: sign,
+ biased exponent and significand, with the most significant bit first.
+
+ Binary-encoded coordinate values are considered to be a single value
+ without uncertainty. When encoding a value that cannot be exactly
+ represented, the best approximation MUST be selected according to
+ [Clinger1990].
+
+4.6. Relative Location Restrictions
+
+ More than one relative shape MUST NOT be included in either a PIDF-LO
+ or TLV encoding of location for a given reference point.
+
+ Any error in the reference point transfers to the location described
+ by the relative location. Any errors arising from an implementation
+ not supporting or understanding elements of the reference point
+ directly increases the error (or uncertainty) in the resulting
+ location.
+
+4.7. Baseline TLVs
+
+ Baseline locations are described using the formats defined in
+ [RFC4776] or [RFC6225].
+
+4.8. Reference TLVs
+
+ When a reference is encoded in binary form, the baseline and
+ reference locations are combined in a reference TLV. This TLV is
+ identified with the code 111 and contains civic address TLVs (if the
+ baseline was a civic) or geo TLVs (if the baseline was a geo).
+
+ +------+------+------+------+------+------+
+ | 111 |Length| Reference TLVs |
+ +------+------+------+------+------+------+
+
+ Figure 2: Reference TLV
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 10]
+
+RFC 7035 Relative Location October 2013
+
+
+4.9. Shapes
+
+ Shape data is used to represent regions of uncertainty for the
+ reference and relative locations. Shape data in the reference
+ location uses a WGS84 [WGS84] CRS. Shape data in the relative
+ location uses a relative CRS.
+
+ The XML form for shapes uses Geography Markup Language (GML)
+ [OGC.GML-3.1.1], consistent with the rules in [RFC5491]. Reference
+ locations use the CRS URNs specified in [RFC5491]; relative locations
+ use either a 2D CRS ("urn:ietf:params:geopriv:relative:2d") or a 3D
+ ("urn:ietf:params:geopriv:relative:3d"), depending on the shape type.
+
+ The binary form of each shape uses a different shape type for 2D and
+ 3D shapes.
+
+ Nine shape type codes are defined.
+
+4.9.1. Point
+
+ A point "shape" describes a single point with unknown uncertainty.
+ It consists of a single set of coordinates.
+
+ In a two-dimensional CRS, the coordinate includes two values; in a
+ three-dimensional CRS, the coordinate includes three values.
+
+4.9.1.1. XML Encoding
+
+ A point is represented in GML using the following template:
+
+ <gml:Point xmlns:gml="http://www.opengis.net/gml"
+ srsName="$CRS-URN$">
+ <gml:pos>$Coordinate-1 $Coordinate-2$ $Coordinate-3$</gml:pos>
+ </gml:Point>
+
+ Figure 3: GML Point Template
+
+ Where "$CRS-URN$" is replaced by a
+ "urn:ietf:params:geopriv:relative:2d" or
+ "urn:ietf:params:geopriv:relative:3d" and "$Coordinate-3$" is omitted
+ if the CRS is two-dimensional.
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 11]
+
+RFC 7035 Relative Location October 2013
+
+
+4.9.1.2. TLV Encoding
+
+ The point shape is introduced by a TLV of 113 for a 2D point and 114
+ for a 3D point.
+
+ +------+------+
+ | 113/4|Length|
+ +------+------+------+------+
+ | Coordinate-1 |
+ +------+------+------+------+
+ | Coordinate-2 |
+ +------+------+------+------+
+ | (3D-only) Coordinate-3 |
+ +------+------+------+------+
+
+ Figure 4: Point Encoding
+
+4.9.2. Circle or Sphere Shape
+
+ A circle or sphere describes a single point with a single uncertainty
+ value in meters.
+
+ In a two-dimensional CRS, the coordinate includes two values, and the
+ resulting shape forms a circle. In a three-dimensional CRS, the
+ coordinate includes three values, and the resulting shape forms a
+ sphere.
+
+4.9.2.1. XML Encoding
+
+ A circle is represented in and converted from GML using the following
+ template:
+
+ <gs:Circle xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ srsName="urn:ietf:params:geopriv:relative:2d">
+ <gml:pos>$Coordinate-1 $Coordinate-2$</gml:pos>
+ <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
+ $Radius$
+ </gs:radius>
+ </gs:Circle>
+
+ Figure 5: GML Circle Template
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 12]
+
+RFC 7035 Relative Location October 2013
+
+
+ A sphere is represented in and converted from GML using the following
+ template:
+
+ <gs:Sphere xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ srsName="urn:ietf:params:geopriv:relative:3d">
+ <gml:pos>$Coordinate-1 $Coordinate-2$ $Coordinate-3$</gml:pos>
+ <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
+ $Radius$
+ </gs:radius>
+ </gs:Sphere>
+
+ Figure 6: GML Sphere Template
+
+4.9.2.2. TLV Encoding
+
+ A circular shape is introduced by a type code of 115. A spherical
+ shape is introduced by a type code of 116.
+
+ +------+------+
+ | 115/6|Length|
+ +------+------+------+------+
+ | Coordinate-1 |
+ +------+------+------+------+
+ | Coordinate-2 |
+ +------+------+------+------+
+ | (3D-only) Coordinate-3 |
+ +------+------+------+------+
+ | Radius |
+ +------+------+------+------+
+
+ Figure 7: Circle or Sphere Encoding
+
+4.9.3. Ellipse or Ellipsoid Shape
+
+ An ellipse or ellipsoid describes a point with an elliptical or
+ ellipsoidal uncertainty region.
+
+ In a two-dimensional CRS, the coordinate includes two values plus a
+ semi-major axis, a semi-minor axis, a semi-major axis orientation
+ (clockwise from North). In a three-dimensional CRS, the coordinate
+ includes three values, and in addition to the two-dimensional values,
+ an altitude uncertainty (semi-vertical) is added.
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 13]
+
+RFC 7035 Relative Location October 2013
+
+
+4.9.3.1. XML Encoding
+
+ An ellipse is represented in and converted from GML using the
+ following template:
+
+ <gs:Ellipse xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ srsName="urn:ietf:params:geopriv:relative:2d">
+ <gml:pos>$Coordinate-1 $Coordinate-2$</gml:pos>
+ <gs:semiMajorAxis uom="urn:ogc:def:uom:EPSG::9001">
+ $Semi-Major$
+ </gs:semiMajorAxis>
+ <gs:semiMinorAxis uom="urn:ogc:def:uom:EPSG::9001">
+ $Semi-Minor$
+ </gs:semiMinorAxis>
+ <gs:orientation uom="urn:ogc:def:uom:EPSG::9102">
+ $Orientation$
+ </gs:orientation>
+ </gs:Ellipse>
+
+ Figure 8: GML Ellipse Template
+
+ An ellipsoid is represented in and converted from GML using the
+ following template:
+
+ <gs:Ellipsoid xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ srsName="urn:ietf:params:geopriv:relative:3d">
+ <gml:pos>$Coordinate-1 $Coordinate-2$ $Coordinate-3$</gml:pos>
+ <gs:semiMajorAxis uom="urn:ogc:def:uom:EPSG::9001">
+ $Semi-Major$
+ </gs:semiMajorAxis>
+ <gs:semiMinorAxis uom="urn:ogc:def:uom:EPSG::9001">
+ $Semi-Minor$
+ </gs:semiMinorAxis>
+ <gs:verticalAxis uom="urn:ogc:def:uom:EPSG::9001">
+ $Semi-Vertical$
+ </gs:verticalAxis>
+ <gs:orientation uom="urn:ogc:def:uom:EPSG::9102">
+ $Orientation$
+ </gs:orientation>
+ </gs:Ellipsoid>
+
+ Figure 9: GML Ellipsoid Template
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 14]
+
+RFC 7035 Relative Location October 2013
+
+
+4.9.3.2. TLV Encoding
+
+ An ellipse is introduced by a type code of 117, and an ellipsoid is
+ introduced by a type code of 118.
+
+ +------+------+
+ | 117/8|Length|
+ +------+------+------+------+
+ | Coordinate-1 |
+ +------+------+------+------+
+ | Coordinate-2 |
+ +------+------+------+------+
+ | (3D-only) Coordinate-3 |
+ +------+------+------+------+------+------+------+------+
+ | Semi-Major Axis | Semi-Minor Axis |
+ +------+------+------+------+------+------+------+------+
+ | Orientation | (3D) Semi-Vertical Axis |
+ +------+------+------+------+------+------+------+------+
+
+ Figure 10: Ellipse or Ellipsoid Encoding
+
+4.9.4. Polygon or Prism Shape
+
+ A polygon or prism includes a number of points that describe the
+ outer boundary of an uncertainty region. A prism also includes an
+ altitude for each point and prism height.
+
+ At least 3 points MUST be included in a polygon. In order to
+ interoperate with existing systems, an encoding SHOULD include 15 or
+ fewer points, unless the recipient is known to support larger
+ numbers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 15]
+
+RFC 7035 Relative Location October 2013
+
+
+4.9.4.1. XML Encoding
+
+ A polygon is represented in and converted from GML using the
+ following template:
+
+ <gml:Polygon xmlns:gml="http://www.opengis.net/gml"
+ srsName="urn:ietf:params:geopriv:relative:2d">
+ <gml:exterior>
+ <gml:LinearRing>
+ <gml:posList>
+ $Coordinate1-1$ $Coordinate1-2$
+ $Coordinate2-1$ $Coordinate2-2$
+ $Coordinate3-1$ ...
+ ...
+ $CoordinateN-1$ $CoordinateN-2$
+ $Coordinate1-1$ $Coordinate1-2$
+ </gml:posList>
+ </gml:LinearRing>
+ </gml:exterior>
+ </gml:Polygon>
+
+ Figure 11: GML Polygon Template
+
+ Alternatively, a series of <pos> elements can be used in place of the
+ single "posList". Each <pos> element contains two or three
+ coordinate values.
+
+ Note that the first point is repeated at the end of the sequence of
+ coordinates and no explicit count of the number of points is
+ provided.
+
+ A GML polygon that includes altitude cannot be represented perfectly
+ in TLV form. When converting to the binary representation, a two-
+ dimensional CRS is used, and altitude is removed from each
+ coordinate.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 16]
+
+RFC 7035 Relative Location October 2013
+
+
+ A prism is represented in and converted from GML using the following
+ template:
+
+ <gs:Prism xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ srsName="urn:ietf:params:geopriv:relative:3d">
+ <gs:base>
+ <gml:Polygon>
+ <gml:exterior>
+ <gml:LinearRing>
+ <gml:posList>
+ $Coordinate1-1$ $Coordinate1-2$ $Coordinate1-3$
+ $Coordinate2-1$ $Coordinate2-2$ $Coordinate2-3$
+ $Coordinate2-1$ ... ...
+ ...
+ $CoordinateN-1$ $CoordinateN-2$ $CoordinateN-3$
+ $Coordinate1-1$ $Coordinate1-2$ $Coordinate1-3$
+ </gml:posList>
+ </gml:LinearRing>
+ </gml:exterior>
+ </gml:Polygon>
+ </gs:base>
+ <gs:height uom="urn:ogc:def:uom:EPSG::9001">
+ $Height$
+ </gs:height>
+ </gs:Prism>
+
+ Figure 12: GML Prism Template
+
+ Alternatively, a series of <pos> elements can be used in place of the
+ single "posList". Each <pos> element contains three coordinate
+ values.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 17]
+
+RFC 7035 Relative Location October 2013
+
+
+4.9.4.2. TLV Encoding
+
+ A polygon containing 2D points uses a type code of 119. A polygon
+ with 3D points uses a type code of 120. A prism uses a type code of
+ 121. The number of points can be inferred from the length of the
+ TLV.
+
+ +------+------+
+ |119-21|Length|
+ +------+------+------+------+
+ | (3D-only) Height |
+ +------+------+------+------+
+ | Coordinate1-1 |
+ +------+------+------+------+
+ | Coordinate1-2 |
+ +------+------+------+------+
+ | (3D-only) Coordinate1-3 |
+ +------+------+------+------+
+ | Coordinate2-1 |
+ +------+------+------+------+
+ ...
+ +------+------+------+------+
+ | CoordinateN-1 |
+ +------+------+------+------+
+ | CoordinateN-2 |
+ +------+------+------+------+
+ | (3D-only) CoordinateN-3 |
+ +------+------+------+------+
+
+ Figure 13: Polygon or Prism Encoding
+
+ Note that unlike the polygon representation in GML, the first and
+ last points are not the same point in the TLV representation. The
+ duplicated point is removed from the binary form.
+
+4.9.5. Arc-Band Shape
+
+ An arc-band describes a region constrained by a range of angles and
+ distances from a predetermined point. This shape can only be
+ provided for a two-dimensional CRS.
+
+ Distance and angular measures are defined in meters and degrees,
+ respectively. Both are encoded as single-precision floating-point
+ values.
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 18]
+
+RFC 7035 Relative Location October 2013
+
+
+4.9.5.1. XML Encoding
+
+ An arc-band is represented in and converted from GML using the
+ following template:
+
+ <gs:ArcBand xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ srsName="urn:ietf:params:geopriv:relative:2d">
+ <gml:pos>$Coordinate-1$ $Coordinate-2$</gml:pos>
+ <gs:innerRadius uom="urn:ogc:def:uom:EPSG::9001">
+ $Inner-Radius$
+ </gs:innerRadius>
+ <gs:outerRadius uom="urn:ogc:def:uom:EPSG::9001">
+ $Outer-Radius$
+ </gs:outerRadius>
+ <gs:startAngle uom="urn:ogc:def:uom:EPSG::9102">
+ $Start-Angle$
+ </gs:startAngle>
+ <gs:openingAngle uom="urn:ogc:def:uom:EPSG::9102">
+ $Opening-Angle$
+ </gs:openingAngle>
+ </gs:ArcBand>
+
+ Figure 14: GML Arc-Band Template
+
+4.9.5.2. TLV Encoding
+
+ An arc-band is introduced by a type code of 122.
+
+ +------+------+
+ | 122 |Length|
+ +------+------+------+------+
+ | Coordinate |
+ +------+------+------+------+
+ | Coordinate |
+ +------+------+------+------+------+------+------+------+
+ | Inner Radius | Outer Radius |
+ +------+------+------+------+------+------+------+------+
+ | Start Angle | Opening Angle |
+ +------+------+------+------+------+------+------+------+
+
+ Figure 15: Arc-Band Encoding
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 19]
+
+RFC 7035 Relative Location October 2013
+
+
+4.10. Dynamic Location TLVs
+
+ Dynamic location elements use the definitions in [RFC5962].
+
+4.10.1. Orientation
+
+ The orientation of the Target is described using one or two angles.
+ Orientation uses a type code of 123.
+
+ +------+------+
+ | 123 |Length|
+ +------+------+------+------+
+ | Angle |
+ +------+------+------+------+
+ | (Optional) Angle |
+ +------+------+------+------+
+
+ Figure 16: Dynamic Orientation TLVs
+
+4.10.2. Speed
+
+ The speed of the Target is a scalar value in meters per second.
+ Speed uses a type code of 124.
+
+ +------+------+
+ | 124 |Length|
+ +------+------+------+------+
+ | Speed |
+ +------+------+------+------+
+
+ Figure 17: Dynamic Speed TLVs
+
+4.10.3. Heading
+
+ The heading, or direction of travel, is described using one or two
+ angles. Heading uses a type code of 125.
+
+ +------+------+
+ | 125 |Length|
+ +------+------+------+------+
+ | Angle |
+ +------+------+------+------+
+ | (Optional) Angle |
+ +------+------+------+------+
+
+ Figure 18: Dynamic Heading TLVs
+
+
+
+
+
+Thomson, et al. Standards Track [Page 20]
+
+RFC 7035 Relative Location October 2013
+
+
+4.11. Secondary Map Metadata
+
+ The optional "map" URL can be used to provide a user of relative
+ location with a visual reference for the location information. This
+ document does not describe how the recipient uses the map nor how it
+ locates the reference or offset within the map. Maps can be simple
+ images, vector files, 2D or 3D geospatial databases, or any other
+ form of representation understood by both the sender and recipient.
+
+4.11.1. Map URL
+
+ In XML, the map is a <map> element defined within <relative-location>
+ and contains the URL. The URL is encoded as a UTF-8-encoded string.
+ An "http:" [RFC2616] or "https:" [RFC2818] URL MUST be used unless
+ the entity creating the PIDF-LO is able to ensure that authorized
+ recipients of this data are able to use other URI schemes. A "type"
+ attribute MUST be present and specifies the kind of map the URL
+ points to. Map types are specified as MIME media types as recorded
+ in the IANA Media Types registry, for example, <map type="image/png">
+ https://www.example.com/floorplans/123South/floor-2</map>.
+
+ In binary, the map type is a separate TLV from the map URL. The
+ media type uses a type code of 126; the URL uses a type code of 127.
+
+ +------+------+------+------+------+------+------+
+ | 126 |Length| Map Media Type ...
+ +------+------+------+------+------+------+------+
+ | 127 |Length| Map Image URL ...
+ +------+------+------+------+------+------+------+
+
+ Figure 19: Map URL TLVs
+
+ Note that the binary form restricts data to 255 octets. This
+ restriction could be problematic for URLs in particular.
+ Applications that use the XML form, but cannot guarantee that a
+ binary form won't be used, are encouraged to limit the size of the
+ URL to fit within this restriction.
+
+4.11.2. Map Coordinate Reference System
+
+ The CRS used by the map depends on the type of map. For example, a
+ map described by a 3-D geometric model of the building may contain a
+ complete CRS description in it. For some kinds of maps, typically
+ described as images, the CRS used within the map must define the
+ following:
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 21]
+
+RFC 7035 Relative Location October 2013
+
+
+ o The CRS origin
+
+ o The CRS axes used and their orientation
+
+ o The unit of measure used
+
+ This document provides elements that allow for a mapping between the
+ local coordinate reference system used for the relative location and
+ the coordinate reference system used for the map where they are not
+ the same.
+
+4.11.2.1. Map Reference Point Offset
+
+ This optional element identifies the coordinates of the reference
+ point as it appears in the map. This value is measured in a map-
+ type-dependent manner, using the coordinate system of the map.
+
+ For image maps, coordinates start from the upper left corner, and
+ coordinates are first counted by column with positive values to the
+ right; then, rows are counted with positive values toward the bottom
+ of the image. For such an image, the first item is columns, the
+ second rows, and any third value applies to any third dimension used
+ in the image coordinate space.
+
+ The <offset> element contains 2 (or 3) coordinates similar to a GML
+ <pos>. For example:
+
+ <offset> 2670.0 1124.0 1022.0</offset>
+
+ The map reference point uses a type code of 129.
+
+ +------+------+
+ | 129 |Length|
+ +------+------+------+------+
+ | Coordinate-1 |
+ +------+------+------+------+
+ | Coordinate-2 |
+ +------+------+------+------+
+ | (3D-only) Coordinate-3 |
+ +------+------+------+------+
+
+ Figure 20: Map Reference Point Coordinates TLV
+
+ If omitted, a value containing all zeros is assumed. If the
+ coordinates provided contain fewer values than are needed, the first
+ value from the set is applied in place of any absent values. Thus,
+ if a single value is provided, that value is used for Coordinate-2
+
+
+
+
+Thomson, et al. Standards Track [Page 22]
+
+RFC 7035 Relative Location October 2013
+
+
+ and Coordinate-3 (if required). If two values are provided and three
+ are required, the value of Coordinate-1 is used in place of
+ Coordinate-3.
+
+4.11.2.2. Map Orientation
+
+ The map orientation includes the orientation of the map direction in
+ relation to the Earth. Map orientation is expressed relative to the
+ orientation of the relative coordinate system. This means that map
+ orientation with respect to WGS84 North is the sum of the orientation
+ field and any orientation included in a dynamic portion of the
+ reference location. Both values default to zero if no value is
+ specified.
+
+ This type uses a single-precision floating-point value of degrees
+ relative to North.
+
+ In XML, the <orientation> element contains a single floating-point
+ value, for example, <orientation>67.00</orientation>. In TLV form,
+ map orientation uses the code 130:
+
+ +------+------+------+------+------+------+
+ | 130 |Length| Angle |
+ +------+------+------+------+------+------+
+
+ Figure 21: Map Orientation TLV
+
+4.11.2.3. Map Scale
+
+ The optional map scale describes the relationship between the units
+ of measure used in the map, relative to the meters unit used in the
+ relative coordinate system.
+
+ This type uses a sequence of IEEE 754 [IEEE.754] single-precision
+ floating-point values to represent scale as a sequence of numeric
+ values. The units of these values are dependent on the type of map
+ and could, for example, be pixels per meter for an image.
+
+ A scaling factor is provided for each axis in the coordinate system.
+ For a two-dimensional coordinate system, two values are included to
+ allow for different scaling along the x and y axes independently.
+ For a three-dimensional coordinate system, three values are specified
+ for the x, y, and z axes. Decoders can determine the number of
+ scaling factors by examining the length field.
+
+ Alternatively, a single scaling value MAY be used to apply the same
+ scaling factor to all coordinate components.
+
+
+
+
+Thomson, et al. Standards Track [Page 23]
+
+RFC 7035 Relative Location October 2013
+
+
+ Images that use a rows/columns coordinate system often use a left-
+ handed coordinate system. A negative value for the y/rows axis
+ scaling value can be used to account for any change in direction
+ between the y axis used in the relative coordinate system and the
+ rows axis of the image coordinate system.
+
+ In XML, the <scale> element MAY contain a single scale value or MAY
+ contain 2 (or 3) values in XML list form. In TLV form, scale uses a
+ type code of 131. The length of the TLV determines how many scale
+ values are present:
+
+ +------+------+------+------+------+------+
+ | 131 |Length| Scale(s) ...
+ +------+------+------+------+------+------+
+
+ Figure 22: Map Scale TLV
+
+4.11.3. Map Example
+
+ An example of expressing a map is:
+
+ <rel:map>
+ <rel:url type="image/jpeg">
+ http://example.com/map.jpg
+ </rel:url>
+ <rel:offset>200 210</rel:offset>
+ <rel:orientation>68</rel:orientation>
+ <rel:scale>2.90 -2.90</rel:scale>
+ </rel:map>
+
+ Figure 23: Map Example
+
+5. Examples
+
+ The examples in this section combine elements from [RFC3863],
+ [RFC4119], [RFC4479], [RFC5139], and [OGC.GeoShape].
+
+5.1. Civic PIDF with Polygon Offset
+
+ <presence xmlns="urn:ietf:params:xml:ns:pidf"
+ xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
+ xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
+ xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
+ xmlns:rel="urn:ietf:params:xml:ns:pidf:geopriv10:relative"
+ xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ entity="pres:ness@example.com">
+ <dm:device id="nesspc-1">
+
+
+
+Thomson, et al. Standards Track [Page 24]
+
+RFC 7035 Relative Location October 2013
+
+
+ <gp:geopriv>
+ <gp:location-info>
+ <ca:civicAddress xml:lang="en-AU">
+ <ca:country>AU</ca:country>
+ <ca:A1>NSW</ca:A1>
+ <ca:A3>Wollongong</ca:A3>
+ <ca:A4>North Wollongong</ca:A4>
+ <ca:RD>Flinders</ca:RD>
+ <ca:STS>Street</ca:STS>
+ <ca:HNO>123</ca:HNO>
+ </ca:civicAddress>
+ <rel:relative-location>
+ <rel:reference>
+ <ca:civicAddress xml:lang="en-AU">
+ <ca:LMK>Front Door</ca:LMK>
+ <ca:BLD>A</ca:BLD>
+ <ca:FLR>I</ca:FLR>
+ <ca:ROOM>113</ca:ROOM>
+ </ca:civicAddress>
+ </rel:reference>
+ <rel:offset>
+ <gml:Polygon xmlns:gml="http://www.opengis.net/gml"
+ srsName="urn:ietf:params:geopriv:relative:2d">
+ <gml:exterior>
+ <gml:LinearRing>
+ <gml:pos>433.0 -734.0</gml:pos> <!--A-->
+ <gml:pos>431.0 -733.0</gml:pos> <!--F-->
+ <gml:pos>431.0 -732.0</gml:pos> <!--E-->
+ <gml:pos>433.0 -731.0</gml:pos> <!--D-->
+ <gml:pos>434.0 -732.0</gml:pos> <!--C-->
+ <gml:pos>434.0 -733.0</gml:pos> <!--B-->
+ <gml:pos>433.0 -734.0</gml:pos> <!--A-->
+ </gml:LinearRing>
+ </gml:exterior>
+ </gml:Polygon>
+ </rel:offset>
+ </rel:relative-location>
+ </gp:location-info>
+ <gp:usage-rules/>
+ <gp:method>GPS</gp:method>
+ </gp:geopriv>
+ <dm:deviceID>mac:1234567890ab</dm:deviceID>
+ <dm:timestamp>2007-06-22T20:57:29Z</dm:timestamp>
+ </dm:device>
+ </presence>
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 25]
+
+RFC 7035 Relative Location October 2013
+
+
+5.2. Geo PIDF with Circle Offset
+
+ <?xml version="1.0" encoding="UTF-8"?>
+ <presence xmlns="urn:ietf:params:xml:ns:pidf"
+ xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
+ xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
+ xmlns:rel="urn:ietf:params:xml:ns:pidf:geopriv10:relative"
+ xmlns:gml="http://www.opengis.net/gml"
+ xmlns:gs="http://www.opengis.net/pidflo/1.0"
+ entity="pres:point2d@example.com">
+ <dm:device id="point2d">
+ <gp:geopriv>
+ <gp:location-info>
+ <gs:Circle srsName="urn:ogc:def:crs:EPSG::4326">
+ <gml:pos>-34.407 150.883</gml:pos>
+ <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
+ 50.0
+ </gs:radius>
+ </gs:Circle>
+ <rel:relative-location>
+ <rel:reference>
+ <gml:Point srsName="urn:ogc:def:crs:EPSG::4326">
+ <gml:pos>-34.407 150.883</gml:pos>
+ </gml:Point>
+ </rel:reference>
+ <rel:offset>
+ <gs:Circle xmlns:gml="http://www.opengis.net/gml"
+ srsName="urn:ietf:params:geopriv:relative:2d">
+ <gml:pos>500.0 750.0</gml:pos>
+ <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
+ 5.0
+ </gs:radius>
+ </gs:Circle>
+ </rel:offset>
+ <rel:map>
+ <rel:url type="image/png">
+ https://www.example.com/flrpln/123South/flr-2
+ </rel:url>
+ <rel:offset>2670.0 1124.0 1022.0</rel:offset>
+ <rel:orientation>67.00</rel:orientation>
+ <rel:scale>10 -10</rel:scale>
+ </rel:map>
+ </rel:relative-location>
+ </gp:location-info>
+ <gp:usage-rules/>
+ <gp:method>Wiremap</gp:method>
+ </gp:geopriv>
+ <dm:deviceID>mac:1234567890ab</dm:deviceID>
+
+
+
+Thomson, et al. Standards Track [Page 26]
+
+RFC 7035 Relative Location October 2013
+
+
+ <dm:timestamp>2007-06-22T20:57:29Z</dm:timestamp>
+ </dm:device>
+ </presence>
+
+5.3. Civic TLV with Point Offset
+
+ +--------+-------------------------------------------------+
+ | Type | Value |
+ +--------+-------------------------------------------------+
+ | 0 | en |
+ | | |
+ | 1 | IL |
+ | | |
+ | 3 | Chicago |
+ | | |
+ | 34 | Wacker |
+ | | |
+ | 18 | Drive |
+ | | |
+ | 19 | 3400 |
+ | | |
+ | 112 | Reference |
+ | | |
+ | 25 | Building A |
+ | | |
+ | 27 | Floor 6 |
+ | | |
+ | 26 | Suite 213 |
+ | | |
+ | 28 | Reception Area |
+ | | |
+ | 115 | 100 70 |
+ | | |
+ | 126 | image/png |
+ | | |
+ | 127 | http://maps.example.com/3400Wacker/A6 |
+ | | |
+ | 129 | 0.0 4120.0 |
+ | | |
+ | 130 | 113.0 |
+ | | |
+ | 131 | 10.6 |
+ +--------+-------------------------------------------------+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 27]
+
+RFC 7035 Relative Location October 2013
+
+
+6. Schema Definition
+
+ Note: The pattern value for "mimeType" has been folded onto
+ multiple lines. Whitespace has been added to conform to comply
+ with document formatting restrictions. Extra whitespace around
+ the line endings MUST be removed before using this schema.
+
+ <?xml version="1.0"?>
+ <xs:schema
+ xmlns:rel="urn:ietf:params:xml:ns:pidf:geopriv10:relative"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:gml="http://www.opengis.net/gml"
+ targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:relative"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xs:annotation>
+ <xs:appinfo
+ source="urn:ietf:params:xml:schema:pidf:geopriv10:relative">
+ Relative Location for PIDF-LO
+ </xs:appinfo>
+ <xs:documentation source="http://ietf.org/rfc/rfc7035.txt">
+ This schema defines a location representation that allows for
+ the description of locations that are relative to another.
+ An optional map reference is also defined.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:import namespace="http://www.opengis.net/gml"/>
+
+ <xs:element name="relative-location" type="rel:relativeType"/>
+
+ <xs:complexType name="relativeType">
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType">
+ <xs:sequence>
+ <xs:element name="reference" type="rel:referenceType"/>
+ <xs:element name="offset" type="rel:offsetType"/>
+ <xs:any namespace="##any" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##other" processContents="lax"/>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="referenceType">
+ <xs:complexContent>
+
+
+
+Thomson, et al. Standards Track [Page 28]
+
+RFC 7035 Relative Location October 2013
+
+
+ <xs:restriction base="xs:anyType">
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="offsetType">
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType">
+ <xs:sequence>
+ <xs:element ref="gml:_Geometry"/>
+ <xs:any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="map" type="rel:mapType"/>
+ <xs:complexType name="mapType">
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType">
+ <xs:sequence>
+ <xs:element name="url" type="rel:mapUrlType"/>
+ <xs:element name="offset" type="rel:doubleList"
+ minOccurs="0"/>
+ <xs:element name="orientation" type="rel:doubleList"
+ minOccurs="0"/>
+ <xs:element name="scale" type="rel:doubleList"
+ minOccurs="0"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="mapUrlType">
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="type" type="rel:mimeType"
+ default="application/octet-stream"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:simpleType name="mimeType">
+
+
+
+Thomson, et al. Standards Track [Page 29]
+
+RFC 7035 Relative Location October 2013
+
+
+ <xs:restriction base="xs:token">
+ <xs:pattern value="[!#$%&amp;'\*\+\-\.\dA-Z^_`a-z\|~]+
+ /[!#$%&amp;'\*\+\-\.\dA-Z^_`a-z\|~]+([\t ]*;([\t ])*[!#$%&amp;
+ '\*\+\-\.\dA-Z^_`a-z\|~]+=([!#$%&amp;'\*\+\-\.\dA-Z^_`a-z\|~]+|
+ &quot;([!#-\[\]-~]|[\t ]*|\\[\t !-~])*&quot;))*"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="doubleList">
+ <xs:list itemType="xs:double"/>
+ </xs:simpleType>
+
+ </xs:schema>
+
+7. Security Considerations
+
+ This document describes a data format. To a large extent, security
+ properties of this depend on how this data is used.
+
+ Privacy for location data is typically important. Adding relative
+ location may increase the precision of the location but does not
+ otherwise alter its privacy considerations, which are discussed in
+ [RFC4119].
+
+ The map URL provided in a relative location could accidentally reveal
+ information if a Location Recipient uses the URL to acquire the map.
+ The coverage area of a map, or parameters of the URL itself, could
+ provide information about the location of a Target. In combination
+ with other information that could reveal the set of potential Targets
+ that the Location Recipient has location information for, acquiring a
+ map could leak significant information. In particular, it is
+ important to note that the Target and Location Recipient are often
+ the same entity.
+
+ Access to map URLs MUST be secured with TLS [RFC5246] (that is,
+ restricting the map URL to be an https URI), unless the map URL
+ cannot leak information about the Target's location. This restricts
+ information about the map URL to the entity serving the map request.
+ If the map URL conveys more information about a Target than a map
+ server is authorized to receive, that URL MUST NOT be included in the
+ PIDF-LO.
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 30]
+
+RFC 7035 Relative Location October 2013
+
+
+8. IANA Considerations
+
+8.1. Relative Location Registry
+
+ This document creates a new registry called "Relative Location
+ Parameters". This shares a page, titled "Civic Address Types
+ Registry" with the existing "Civic Address Types (CAtypes)" registry.
+ As defined in [RFC5226], this new registry operates under "IETF
+ Review" rules.
+
+ The content of this registry includes:
+
+ Relative Location Code (RLtype): Numeric identifier, assigned by
+ IANA.
+
+ Brief description: Short description identifying the meaning of the
+ element.
+
+ Reference to published specification: A stable reference to an RFC
+ that describes the value in sufficient detail so that
+ interoperability between independent implementations is possible.
+
+ Values requested to be assigned into this registry MUST NOT conflict
+ with values assigned in the "Civic Address Types (CAtypes)" registry
+ or vice versa, unless the IANA Considerations section for the new
+ value explicitly overrides this prohibition and the document defining
+ the value describes how conflicting TLV codes will be interpreted by
+ implementations. To ensure this, the CAtypes entries are explicitly
+ reserved in the initial values table below. Those reserved entries
+ can be changed, but only with caution, as explained here.
+
+ To make this clear for future users of the registry, the following
+ note is added to the "Civic Address Types (CAtypes)" registry:
+
+ The registration of new values should be accompanied by a
+ corresponding reservation in the Relative Location Parameters
+ registry.
+
+ Similarly, the "Relative Location Parameters" registry bears the
+ note:
+
+ The registration of new values should be accompanied by a
+ corresponding reservation in the Civic Address Types (CAtypes)
+ registry.
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 31]
+
+RFC 7035 Relative Location October 2013
+
+
+ The values defined are:
+
+ +--------+----------------------------------------+-----------+
+ | RLtype | description | Reference |
+ +--------+----------------------------------------+-----------+
+ | 0-40 | RESERVED by CAtypes registry | RFC 7035 &|
+ | 128 | | RFC 4776 |
+ +--------+----------------------------------------+-----------+
+ | 111 | relative location reference | RFC 7035 |
+ | 113 | relative location shape 2D point | RFC 7035 |
+ | 114 | relative location shape 3D point | RFC 7035 |
+ | 115 | relative location shape circular | RFC 7035 |
+ | 116 | relative location shape spherical | RFC 7035 |
+ | 117 | relative location shape elliptical | RFC 7035 |
+ | 118 | relative location shape ellipsoid | RFC 7035 |
+ | 119 | relative location shape 2D polygon | RFC 7035 |
+ | 120 | relative location shape 3D polygon | RFC 7035 |
+ | 121 | relative location shape prism | RFC 7035 |
+ | 122 | relative location shape arc-band | RFC 7035 |
+ | 123 | relative location dynamic orientation | RFC 7035 |
+ | 124 | relative location dynamic speed | RFC 7035 |
+ | 125 | relative location dynamic heading | RFC 7035 |
+ | 126 | relative location map type | RFC 7035 |
+ | 127 | relative location map URI | RFC 7035 |
+ | 129 | relative location map coordinates | RFC 7035 |
+ | 130 | relative location map angle | RFC 7035 |
+ | 131 | relative location map scale | RFC 7035 |
+ +--------+----------------------------------------+-----------+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 32]
+
+RFC 7035 Relative Location October 2013
+
+
+8.2. URN Sub-Namespace Registration
+
+ This document registers a new XML namespace, as per the guidelines in
+ [RFC3688].
+
+ URI: urn:ietf:params:xml:ns:pidf:geopriv10:relative
+
+ Registrant Contact: IETF, GEOPRIV working group (geopriv@ietf.org),
+ Martin Thomson (martin.thomson@skype.net).
+
+ XML:
+
+ BEGIN
+ <?xml version="1.0"?>
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>GEOPRIV Relative Location</title>
+ </head>
+ <body>
+ <h1>Format for representing relative location</h1>
+ <h2>urn:ietf:params:xml:ns:pidf:geopriv10:relative</h2>
+ <p>See <a href="http://www.rfc-editor.org/rfc/rfc7035.txt">
+ RFC 7035</a>.</p>
+ </body>
+ </html>
+
+ END
+
+8.3. XML Schema Registration
+
+ This section registers an XML schema as per the procedures in
+ [RFC3688].
+
+ URI: urn:ietf:params:xml:schema:pidf:geopriv10:relative
+
+ Registrant Contact: IETF, GEOPRIV working group (geopriv@ietf.org),
+ Martin Thomson (martin.thomson@skype.net)
+
+ Schema: The XML for this schema is found in Section 6 of this
+ document.
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 33]
+
+RFC 7035 Relative Location October 2013
+
+
+8.4. Geopriv Identifiers Registry
+
+ This section registers two URNs for use in identifying relative
+ coordinate reference systems. These are added to a new "Geopriv
+ Identifiers" registry according to the procedures in Section 4 of
+ [RFC3553]. The "Geopriv Identifiers" registry is entered under the
+ "Uniform Resource Name (URN) Namespace for IETF Use" category.
+
+ Registrations in this registry follow the "IETF Review" [RFC5226]
+ policy.
+
+ Registry name: Geopriv Identifiers
+
+ URN Prefix: urn:ietf:params:geopriv:
+
+ Specification: RFC 7035 (this document)
+
+ Repository: http://www.iana.org/assignments/geopriv-identifiers
+
+ Index value: Values in this registry are URNs or URN prefixes that
+ start with the prefix "urn:ietf:params:geopriv:". Each is
+ registered independently.
+
+ Each registration in the "Geopriv Identifiers" registry requires the
+ following information:
+
+ URN: The complete URN that is used or the prefix for that URN.
+
+ Description: A summary description for the URN or URN prefix.
+
+ Specification: A reference to a specification describing the URN or
+ URN prefix.
+
+ Contact: Email for the person or groups making the registration.
+
+ Index value: As described in [RFC3553], URN prefixes that are
+ registered include a description of how the URN is constructed.
+ This is not applicable for specific URNs.
+
+ The "Geopriv Identifiers" registry has two initial registrations,
+ included in the following sections.
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 34]
+
+RFC 7035 Relative Location October 2013
+
+
+8.4.1. Registration of Two-Dimensional Relative Coordinate Reference
+ System URN
+
+ This section registers the "urn:ietf:params:geopriv:relative:2d" URN
+ in the "Geopriv Identifiers" registry.
+
+ URN: urn:ietf:params:geopriv:relative:2d
+
+ Description: A two-dimensional relative coordinate reference system
+
+ Specification: RFC 7035 (this document)
+
+ Contact: IETF, GEOPRIV working group (geopriv@ietf.org), Martin
+ Thomson (martin.thomson@skype.net)
+
+ Index value: N/A
+
+8.4.2. Registration of Three-Dimensional Relative Coordinate Reference
+ System URN
+
+ This section registers the "urn:ietf:params:geopriv:relative:3d" URN
+ in the "Geopriv Identifiers" registry.
+
+ URN: urn:ietf:params:geopriv:relative:3d
+
+ Description: A three-dimensional relative coordinate reference
+ system
+
+ Specification: RFC 7035 (this document)
+
+ Contact: IETF, GEOPRIV working group (geopriv@ietf.org), Martin
+ Thomson (martin.thomson@skype.net)
+
+ Index value: N/A
+
+9. Acknowledgements
+
+ This document is the product of a design team on relative location.
+ Besides the authors, this team included Marc Linsner, James Polk, and
+ James Winterbottom.
+
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 35]
+
+RFC 7035 Relative Location October 2013
+
+
+10. References
+
+10.1. Normative References
+
+ [Clinger1990]
+ Clinger, W., "How to Read Floating Point Numbers
+ Accurately", Proceedings of Conference on Programming
+ Language Design and Implementation, pp. 92-101, 1990.
+
+ [IEEE.754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE
+ Standard 754-2008, August 2008.
+
+ [OGC.GML-3.1.1]
+ Cox, S., Daisey, P., Lake, R., Portele, C., and A.
+ Whiteside, "Geographic information - Geography Markup
+ Language (GML)", OpenGIS 03-105r1, April 2004,
+ <http://portal.opengeospatial.org/files/
+ ?artifact_id=4700>.
+
+ [OGC.GeoShape]
+ Thomson, M. and C. Reed, "GML 3.1.1 PIDF-LO Shape
+ Application Schema for use by the Internet Engineering
+ Task Force (IETF)", OGC Best Practice 06-142r1, Version:
+ 1.0, April 2007.
+
+ [RFC1014] Sun Microsystems, Inc., "XDR: External Data Representation
+ standard", RFC 1014, June 1987.
+
+ [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", RFC 2046,
+ November 1996.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
+ Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
+ Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
+
+ [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.
+
+ [RFC3553] Mealling, M., Masinter, L., Hardie, T., and G. Klyne, "An
+ IETF URN Sub-namespace for Registered Protocol
+ Parameters", BCP 73, RFC 3553, June 2003.
+
+ [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
+ January 2004.
+
+
+
+
+Thomson, et al. Standards Track [Page 36]
+
+RFC 7035 Relative Location October 2013
+
+
+ [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
+ Resource Identifier (URI): Generic Syntax", STD 66, RFC
+ 3986, January 2005.
+
+ [RFC4119] Peterson, J., "A Presence-based GEOPRIV Location Object
+ Format", RFC 4119, December 2005.
+
+ [RFC4776] Schulzrinne, H., "Dynamic Host Configuration Protocol
+ (DHCPv4 and DHCPv6) Option for Civic Addresses
+ Configuration Information", RFC 4776, November 2006.
+
+ [RFC5139] Thomson, M. and J. Winterbottom, "Revised Civic Location
+ Format for Presence Information Data Format Location
+ Object (PIDF-LO)", RFC 5139, February 2008.
+
+ [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
+ IANA Considerations Section in RFCs", BCP 26, RFC 5226,
+ May 2008.
+
+ [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
+ (TLS) Protocol Version 1.2", RFC 5246, August 2008.
+
+ [RFC5491] Winterbottom, J., Thomson, M., and H. Tschofenig, "GEOPRIV
+ Presence Information Data Format Location Object (PIDF-LO)
+ Usage Clarification, Considerations, and Recommendations",
+ RFC 5491, March 2009.
+
+ [RFC5962] Schulzrinne, H., Singh, V., Tschofenig, H., and M.
+ Thomson, "Dynamic Extensions to the Presence Information
+ Data Format Location Object (PIDF-LO)", RFC 5962,
+ September 2010.
+
+ [RFC6225] Polk, J., Linsner, M., Thomson, M., and B. Aboba, "Dynamic
+ Host Configuration Protocol Options for Coordinate-Based
+ Location Configuration Information", RFC 6225, July 2011.
+
+ [RFC6848] Winterbottom, J., Thomson, M., Barnes, R., Rosen, B., and
+ R. George, "Specifying Civic Address Extensions in the
+ Presence Information Data Format Location Object (PIDF-
+ LO)", RFC 6848, January 2013.
+
+ [WGS84] US National Imagery and Mapping Agency, "Department of
+ Defense (DoD) World Geodetic System 1984 (WGS 84), Third
+ Edition", NIMA TR8350.2, January 2000.
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 37]
+
+RFC 7035 Relative Location October 2013
+
+
+10.2. Informative References
+
+ [RFC3863] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr,
+ W., and J. Peterson, "Presence Information Data Format
+ (PIDF)", RFC 3863, August 2004.
+
+ [RFC4479] Rosenberg, J., "A Data Model for Presence", RFC 4479, July
+ 2006.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 38]
+
+RFC 7035 Relative Location October 2013
+
+
+Authors' Addresses
+
+ Martin Thomson
+ Microsoft
+ 3210 Porter Drive
+ Palo Alto, CA 94304
+ US
+
+ Phone: +1 650-353-1925
+ EMail: martin.thomson@skype.net
+
+
+ Brian Rosen
+ Neustar
+ 470 Conrad Dr
+ Mars, PA 16046
+ US
+
+ EMail: br@brianrosen.net
+
+ Dorothy Stanley
+ Aruba Networks
+ 1322 Crossman Ave
+ Sunnyvale, CA 94089
+ US
+
+ EMail: dstanley@arubanetworks.com
+
+ Gabor Bajko
+ Nokia
+ 323 Fairchild Drive
+ Mountain View, CA 94043
+ US
+
+ EMail: gabor.bajko@nokia.com
+
+
+ Allan Thomson
+ Lookingglass Cyber Solutions
+ 1001 S Kenwood Avenue
+ Baltimore, MD 21224
+ US
+
+ EMail: athomson@lgscout.com
+
+
+
+
+
+
+
+Thomson, et al. Standards Track [Page 39]
+