rfc-5491

GEOPRIV Presence Information Data Format Location Object (PIDF-LO) Usage Clarification, Considerations, and Recommendations

J. Winterbottom, M. Thomson, H. Tschofenig
date2009-03 streamIETF arearai wggeopriv statusPROPOSED STANDARD pages28 canonicalhttps://www.rfc-editor.org/rfc/rfc5491 doi10.17487/RFC5491 errataview
The Presence Information Data Format Location Object (PIDF-LO) specification provides a flexible and versatile means to represent location information. There are, however, circumstances that arise when information needs to be constrained in how it is represented. In these circumstances, the range of options that need to be implemented are reduced. There is growing interest in being able to use location information contained in a PIDF-LO for routing applications. To allow successful interoperability between applications, location information needs to be normative and more tightly constrained than is currently specified in RFC 4119 (PIDF-LO). This document makes recommendations on how to constrain, represent, and interpret locations in a PIDF-LO. It further recommends a subset of Geography Markup Language (GML) 3.1.1 that is mandatory to implement by applications involved in location-based routing. [STANDARDS-TRACK]

updated by

updates

Extracted elements (30)

design-rationale §5.1

The 130 km maximum distance between adjacent polygon vertices is imposed to avoid significant errors that can arise from potential geodesic interpolation by implementations that treat polygon edges as straight lines in a curved coordinate system.

design-rationale §5.1

The 15-point polygon vertex limit for real-time routing applications was chosen to align with limits already imposed by 3GPP (TS 23.032) and OMA MLP, enabling interoperability with cellular and mobile location protocols while still allowing moderately complex shapes.

design-rationale §4

The gml:coordinates element from RFC 4119 examples is deprecated because its coordinates format is opaque and allows the same location to be expressed in multiple non-equivalent ways, making consistent parsing difficult; the GeoShape profile provides unambiguous representations.

interoperability-note §5.2.3

The Ellipse and Circle shapes MUST be specified using a 2D CRS; a point with uncertainty in three dimensions must use the Sphere shape type, as the orientation of a circle cannot be correctly specified in 3D using these representations.

interoperability-note §4

The geodetic examples in RFC 4119 use the deprecated <gml:location>/<gml:coordinates> elements, which have been superseded in GML 3.1 and beyond. New applications SHOULD use the GeoShape profile with gml:pos instead to ensure consistent parsing.

interoperability-note §3

Where multiple PIDF documents can be sent together (e.g., in a multi-part MIME body) and current location is required, document selection SHOULD be based on document order with the first document considered first.

privacy

normative-requirement §3 MUST

A <geopriv> element MUST describe a discrete location — a single place, point, area, or volume in which a Target can be found.

privacy

normative-requirement §5 MUST

All eight GeoShape types (Point, Polygon, Circle, Ellipse, Arc Band, Sphere, Ellipsoid, Prism) MUST be implemented by applications involved in location-based routing.

normative-requirement §5 MUST

Angular measures MUST use either degrees (identified by URN urn:ogc:def:uom:EPSG::9102) or radians (URN urn:ogc:def:uom:EPSG::9101). Bearings are measured clockwise from WGS84 Northing, not magnetic north.

normative-requirement §5 MUST

Implementations MUST specify the CRS using the srsName attribute on the outermost geometry element; the CRS MUST NOT be respecified or changed for any sub-elements. The srsDimension attribute SHOULD be omitted.

normative-requirement §5 RECOMMENDED

It is RECOMMENDED that uncertainty is expressed at a confidence of 95% or higher to enable better interoperability of uncertainty values.

normative-requirement §5.1 SHOULD

Polygon shapes SHOULD be restricted to a maximum of 15 points (16 including the repeated closing point) when the location information is intended for use in real-time applications such as location-dependent routing.

normative-requirement §5.1 MUST

Polygons MUST be defined with the upward normal pointing up, accomplished by defining vertices in a counter-clockwise direction. Points in a 3D polygon MUST all have the same altitude.

normative-requirement §3 MUST

Providing more than one <geopriv> element in a single PIDF document MUST only be done if the locations refer to the same place, or are placed into different element types (tuple, device, person).

privacy

normative-requirement §5.2.8 MUST

The height of a Prism MUST be a positive value; the prism base polygon's first and last points must be the same (closed ring).

normative-requirement §5.1 SHOULD

The length between adjacent polygon vertices SHOULD be restricted to a maximum of 130 km to avoid significant errors from geodesic interpolation. A connecting line SHALL NOT cross another connecting line of the same polygon.

normative-requirement §5 REQUIRED

WGS84 is mandated as the coordinate reference system: EPSG 4326 (URN urn:ogc:def:crs:EPSG::4326) for 2D shapes and EPSG 4979 (URN urn:ogc:def:crs:EPSG::4979) for 3D volumes; distances and heights use EPSG 9001 (meters).

normative-requirement §3 MUST

When providing more than one location chunk in a single <location-info> element, the locations MUST be provided by a common source at the same time and by the same location determination method.

privacy

normative-requirement §3 MUST

Where a compound location is provided in a single <location-info> element, the coarse location information MUST be provided first (e.g., geodetic area before civic floor element).

privacy

normative-requirement §3 SHOULD

Where a PIDF document contains more than one <geopriv> element, priority of interpretation is given to the first <device> element containing a location; if absent, the first <tuple>; locations in <person> elements SHOULD only be used as a last resort.

privacy

protocol-element §2

A 'compound location' is a composite of both civic and geodetic information within a single <location-info> element — for example, a geodetic polygon describing a building perimeter combined with a civic element indicating the floor.

privacy

protocol-element §3

A PIDF-LO document may contain an arbitrary number of <tuple>, <device>, and <person> elements, each holding a <status> element that may contain one or more <geopriv> children; each <geopriv> must contain at least <location-info> and <usage-rules>.

privacy

protocol-element §5.2.5

The Arc Band shape represents a cellular sector using gs:ArcBand with center point, gs:innerRadius, gs:outerRadius, gs:startAngle (from north), and gs:openingAngle. The center point is not included in the enclosed area.

protocol-element §5.2.3

The Circle shape represents a 2D uncertainty area using gs:Circle with a gml:pos center point and a gs:radius in meters (EPSG 9001); it MUST use a 2D CRS. For 3D uncertainty, the Sphere shape type should be used instead.

protocol-element §5.2.4

The Ellipse shape represents a 2D uncertainty area defined by a center point (gml:pos), gs:semiMajorAxis, gs:semiMinorAxis (both in meters), and gs:orientation (degrees from Northing to Easting). It MUST use a 2D CRS.

protocol-element §5.2.7

The Ellipsoid shape (3D, EPSG 4979) describes a volume around a center point using gs:semiMajorAxis, gs:semiMinorAxis, gs:verticalAxis (all in meters), and gs:orientation (degrees from north); commonly produced by GPS systems.

protocol-element §5

The GeoShape specification defines eight shape types mandatory for implementation: Point (2D/3D), Polygon (2D), Circle (2D), Ellipse (2D), Arc Band (2D), Sphere (3D), Ellipsoid (3D), and Prism (3D).

protocol-element §5.2.8

The Prism shape extrudes a 2D polygon base (all base points at the same altitude in 3D CRS EPSG 4979) by a gs:height value in meters, suitable for representing a floor range or section of a building.

security-consideration §6

The primary security considerations for PIDF-LO relate to how location information is conveyed and used, which are outside the scope of this document. This document only specifies which elements MUST or SHOULD be implemented for location-dependent routing.

security, privacy

wire-format §5

Coordinate and measure numerical values are expressed using the XML Schema 'double' lexical representation; leading and trailing zeros past the decimal are not significant (e.g., '03.07500' equals '3.075'). Both gml:pos (per-vertex) and gml:posList (compact) forms are permitted for polygon coordinates.