draft-ietf-geopriv-geo-uri-02.txt   draft-ietf-geopriv-geo-uri-03.txt 
GEOPRIV -- Geographic A. Mayrhofer GEOPRIV -- Geographic A. Mayrhofer
Location/Privacy Working Group nic.at Location/Privacy Working Group nic.at
Internet-Draft C. Spanring Internet-Draft C. Spanring
Expires: March 5, 2010 September 01, 2009 Expires: March 25, 2010 September 21, 2009
A Uniform Resource Identifier for Geographic Locations ('geo' URI) A Uniform Resource Identifier for Geographic Locations ('geo' URI)
draft-ietf-geopriv-geo-uri-02 draft-ietf-geopriv-geo-uri-03
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. This document may contain material provisions of BCP 78 and BCP 79. This document may contain material
from IETF Documents or IETF Contributions published or made publicly from IETF Documents or IETF Contributions published or made publicly
available before November 10, 2008. The person(s) controlling the available before November 10, 2008. The person(s) controlling the
copyright in some of this material may not have granted the IETF copyright in some of this material may not have granted the IETF
Trust the right to allow modifications of such material outside the Trust the right to allow modifications of such material outside the
IETF Standards Process. Without obtaining an adequate license from IETF Standards Process. Without obtaining an adequate license from
skipping to change at page 1, line 42 skipping to change at page 1, line 42
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on March 5, 2010. This Internet-Draft will expire on March 25, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info). publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. and restrictions with respect to this document.
Abstract Abstract
This document specifies an Uniform Resource Identifier (URI) for This document specifies a Uniform Resource Identifier (URI) for
geographic locations using the 'geo' scheme name. A 'geo' URI geographic locations using the 'geo' scheme name. A 'geo' URI
identifies a physical location in a two- or three-dimensional identifies a physical location in a two- or three-dimensional
coordinate reference system in a compact, simple, human-readable, and coordinate reference system in a compact, simple, human-readable, and
protocol independent way. The default coordinate reference system protocol independent way. The default coordinate reference system
used is WGS-84. used is WGS-84.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5
skipping to change at page 4, line 7 skipping to change at page 4, line 7
8.2. URI Parameter Registry . . . . . . . . . . . . . . . . . . 17 8.2. URI Parameter Registry . . . . . . . . . . . . . . . . . . 17
8.2.1. Registry Contents . . . . . . . . . . . . . . . . . . 17 8.2.1. Registry Contents . . . . . . . . . . . . . . . . . . 17
8.2.2. Registration Policy . . . . . . . . . . . . . . . . . 17 8.2.2. Registration Policy . . . . . . . . . . . . . . . . . 17
9. Security Considerations . . . . . . . . . . . . . . . . . . . 17 9. Security Considerations . . . . . . . . . . . . . . . . . . . 17
9.1. Invalid Locations . . . . . . . . . . . . . . . . . . . . 18 9.1. Invalid Locations . . . . . . . . . . . . . . . . . . . . 18
9.2. Location Privacy . . . . . . . . . . . . . . . . . . . . . 18 9.2. Location Privacy . . . . . . . . . . . . . . . . . . . . . 18
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
11.1. Normative References . . . . . . . . . . . . . . . . . . . 19 11.1. Normative References . . . . . . . . . . . . . . . . . . . 18
11.2. Informative References . . . . . . . . . . . . . . . . . . 19 11.2. Informative References . . . . . . . . . . . . . . . . . . 19
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 19 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
An increasing number of Internet protocols and data formats are An increasing number of Internet protocols and data formats are
extended by specifications for adding spatial (geographic) location. extended by specifications for adding spatial (geographic) location.
In most cases, latitude as well as longitude of simple points are In most cases, latitude as well as longitude of simple points are
added as new attributes to existing data structures. However, all added as new attributes to existing data structures. However, all
those methods are very specific to a certain data format or protocol, those methods are very specific to a certain data format or protocol,
and don't provide a protocol independent, compact and generic way to and don't provide a protocol independent, compact and generic way to
refer to a physical geographic location. refer to a physical geographic location.
Over the past few years, fast emerging location aware applications Location-aware applications and location-based services are fast
and location based services were observable on the Internet. Most emerging on the Internet. Most web search engines use geographic
web search engines use geographic information, and a vivid open information, and a vivid open source mapping community has brought an
source mapping community brought an enormous momentum into location enormous momentum into location aware technology. A wide range of
aware technology. A wide range of tools and data sets which formerly tools and data sets which formerly were accessible to professionals
were accessible to professional only became available for a wider only have became available to a wider audience.
audience.
The 'geo' URI scheme is another step into that direction and aims to The 'geo' URI scheme is another step into that direction and aims to
facilitate, support and standardize the problem of location facilitate, support and standardize the problem of location
identification in geospatial services and applications. Accessing identification in geospatial services and applications. Accessing
information about a particular location on earth or trigger further information about a particular location or triggering further
services shouldn't be any harder than clicking on a 'mailto:' link services shouldn't be any harder than clicking on a 'mailto:' link
and write an email straight away. and writing an email straight away.
According to [RFC3986], a Uniform Resource Identifier (URI) is "a According to [RFC3986], a Uniform Resource Identifier (URI) is "a
compact sequence of characters that identifies an abstract or compact sequence of characters that identifies an abstract or
physical resource". The 'geo' URI scheme defined in this document physical resource". The 'geo' URI scheme defined in this document
identifies geographic locations (a physical resource) in a coordinate identifies geographic locations (physical resources) in a coordinate
references system (CRS), per default in World Geodetic System 1984 references system (CRS), per default in World Geodetic System 1984
(WGS-84) [WGS84]. The scheme provides the textual representation of (WGS-84) [WGS84]. The scheme provides the textual representation of
the location's spatial coordinates in either two or three dimensions the location's spatial coordinates in either two or three dimensions
(latitude, longitude, and optionally altitude for the default CRS of (latitude, longitude, and optionally altitude for the default CRS of
WGS-84). WGS-84).
Such URIs are independent from a specific protocol, application, or Such URIs are independent from a specific protocol, application, or
data format, and can be used in any other protocol or data format data format, and can be used in any other protocol or data format
that supports inclusion of arbitrary URIs. that supports inclusion of arbitrary URIs.
For the sake of usability, the definition of the URI scheme is For the sake of usability, the definition of the URI scheme is
strictly focused on the simplest, but also most common representation strictly focused on the simplest, but also most common representation
of a spatial location - a single point in a well known CRS. The of a spatial location - a single point in a well known CRS. The
provision of more complex geometries or locations described by civic provision of more complex geometries or locations described by civic
addresses is out of scope of this document. addresses is out of scope of this document.
The optional "crs" URI parameter described below may be used by The optional 'crs' URI parameter described below may be used by
future specifications to define the use of CRSes other than WGS-84. future specifications to define the use of CRSes other than WGS-84.
This is primarily intended to cope with the case of another CRS This is primarily intended to cope with the case of another CRS
replacing WGS-84 as the predominantly used one, rather than allowing replacing WGS-84 as the predominantly used one, rather than allowing
the arbitrary use of thousands of CRSes for the URI (which would the arbitrary use of thousands of CRSes for the URI (which would
clearly affect interopability). The definition of "crs" values clearly affect interopability). The definition of 'crs' values
beyond the default of "wgs84" is therefore out of scope of this beyond the default of "wgs84" is therefore out of scope of this
document. document.
Note: The choice of WGS-84 as the default CRS is based on the Note: The choice of WGS-84 as the default CRS is based on the
widespread availability of Global Positioning System (GPS) devices, widespread availability of Global Positioning System (GPS) devices,
which use the WGS-84 reference system. It is anticipated that such which use the WGS-84 reference system. It is anticipated that such
devices serve as one of the primary data sources for authoring 'geo' devices will serve as one of the primary data sources for authoring
URIs, hence the adoption of the native GPS reference system for the 'geo' URIs, hence the adoption of the native GPS reference system for
URI scheme. Also, many other data formats for representing the URI scheme. Also, many other data formats for representing
geographic locations use the WGS-84 reference system, which makes geographic locations use the WGS-84 reference system, which makes
transposing from and to such data formats less error prone (no re- transposing from and to such data formats less error prone (no re-
projection involved). It is also believed that the burden of projection involved). It is also believed that the burden of
potentially required spatial transformations should be put on the potentially required spatial transformations should be put on the
author rather then the consumer of 'geo' URI instances. author rather then the consumer of 'geo' URI instances.
2. Terminology 2. Terminology
Geographic locations in this document are defined using WGS 84 (World Geographic locations in this document are defined using WGS 84 (World
Geodetic System 1984), equivalent to the International Association of Geodetic System 1984), equivalent to the International Association of
skipping to change at page 7, line 21 skipping to change at page 7, line 20
permanent permanent
3.3. URI Scheme Syntax 3.3. URI Scheme Syntax
The syntax of the 'geo' URI scheme is specified below in Augmented The syntax of the 'geo' URI scheme is specified below in Augmented
Backus-Naur Form (ABNF) [RFC5234]: Backus-Naur Form (ABNF) [RFC5234]:
geo-URI = geo-scheme ":" geo-path geo-URI = geo-scheme ":" geo-path
geo-scheme = "geo" geo-scheme = "geo"
geo-path = coordinates *p geo-path = coordinates p
coordinates = coord-a "," coord-b [ "," coord-c ] coordinates = coord-a "," coord-b [ "," coord-c ]
coord-a = num coord-a = num
coord-b = num coord-b = num
coord-c = num coord-c = num
p = crsp / uncp / parameter p = [ crsp ] [ uncp ] *parameter
crsp = ";crs=" crslabel crsp = ";crs=" crslabel
crslabel = "wgs84" / labeltext crslabel = "wgs84" / labeltext
uncp = ";u=" pnum uncp = ";u=" pnum
parameter = ";" pname [ "=" pvalue ] parameter = ";" pname [ "=" pvalue ]
pname = labeltext pname = labeltext
pvalue = 1*paramchar pvalue = 1*paramchar
paramchar = p-unreserved / unreserved / pct-encoded paramchar = p-unreserved / unreserved / pct-encoded
labeltext = 1*( alphanum / "-" ) labeltext = 1*( alphanum / "-" )
pnum = 1*DIGIT [ "." 1*DIGIT ] pnum = 1*DIGIT [ "." 1*DIGIT ]
num = [ "-" ] pnum num = [ "-" ] pnum
unreserved = alphanum / mark unreserved = alphanum / mark
mark = "-" / "_" / "." / "!" / "~" / "*" / mark = "-" / "_" / "." / "!" / "~" / "*" /
"'" / "(" / ")" "'" / "(" / ")"
pct-encoded = "%" HEXDIG HEXDIG pct-encoded = "%" HEXDIG HEXDIG
p-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$" p-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$"
alphanum = ALPHA / DIGIT alphanum = ALPHA / DIGIT
Both "crs" and "u" parameters MUST NOT appear more than once each. Both 'crs' and 'u' parameters MUST NOT appear more than once each.
The "crs" and "u" parameters MUST be given before any other The 'crs' and 'u' parameters MUST be given before any other
parameters that may be defined in future extensions. The "crs" parameters that may be defined in future extensions. The 'crs'
parameter MUST be given first if both "crs" and "u" are used. The parameter MUST be given first if both 'crs' and 'u' are used. The
definition of other parameters, and "crs" values beyond the default definition of other parameters, and 'crs' values beyond the default
value of "wgs84" is out of scope of this document. Section 8.2 value of "wgs84" is out of scope of this document. Section 8.2
discusses the IANA registration of such additional parameters and discusses the IANA registration of such additional parameters and
values. values.
In case the URI identifies a location in the default CRS of WGS-84, In case the URI identifies a location in the default CRS of WGS-84,
its sub-components are further restricted as follows: its sub-components are further restricted as follows:
coord-a = latitude coord-a = latitude
coord-b = longitude coord-b = longitude
coord-c = altitude coord-c = altitude
latitude = [ "-" ] 1*2DIGIT [ "." 1*DIGIT ] latitude = [ "-" ] 1*2DIGIT [ "." 1*DIGIT ]
longitude = [ "-" ] 1*3DIGIT [ "." 1*DIGIT ] longitude = [ "-" ] 1*3DIGIT [ "." 1*DIGIT ]
altitude = [ "-" ] 1*DIGIT [ "." 1*DIGIT ] altitude = [ "-" ] 1*DIGIT [ "." 1*DIGIT ]
3.4. URI Scheme Semantics 3.4. URI Scheme Semantics
Data contained in a 'geo' URI identifies a physical resource: A Data contained in a 'geo' URI identifies a physical resource: a
spatial location on earth identified by the geographic coordinates spatial location identified by the geographic coordinates and the CRS
encoded in the URI. encoded in the URI.
3.4.1. Coordinate Reference System Identification 3.4.1. Coordinate Reference System Identification
The semantics of the 'coordinates' component depends on the CRS of The semantics of the 'coordinates' component depends on the CRS of
the URI. The CRS itself is identified by the optional 'crs' the URI. The CRS itself is identified by the optional 'crs'
parameter. A URI instance uses the default WGS-84 CRS if the 'crs' parameter. A URI instance uses the default WGS-84 CRS if the 'crs'
parameter is either missing, or contains the value of 'wgs84'. Other parameter is either missing, or contains the value of 'wgs84'. Other
'crs' values are currently not defined, but may be specified by 'crs' values are currently not defined, but may be specified by
future documents. future documents.
Interpretation of coordinates in a wrong CRS produces invalid Interpretation of coordinates in the wrong CRS produces invalid
location information. Consumers of 'geo' URIs therefore MUST NOT location information. Consumers of 'geo' URIs therefore MUST NOT
ignore the 'crs' parameter if given, and MUST NOT interpret the ignore the 'crs' parameter if given, and MUST NOT interpret the
'coordinates' component without considering and understanding the 'coordinates' component without considering and understanding the
'crs' parameter value. 'crs' parameter value.
The following component description refers to the use of the default The following component description refers to the use of the default
CRS (WGS-84) only. Future documents specifying other 'crs' parameter CRS (WGS-84) only. Future documents specifying other 'crs' parameter
values MUST provide similar descriptions for the 'coordinates' sub- values MUST provide similar descriptions for the 'coordinates' sub-
components in the described CRS. components in the described CRS.
skipping to change at page 9, line 31 skipping to change at page 9, line 28
consumers of "geo" URIs MUST accept such URIs with any longitude consumers of "geo" URIs MUST accept such URIs with any longitude
value from -180 to 180. value from -180 to 180.
'geo' URIs with longitude values outside the range of -180 to 180 'geo' URIs with longitude values outside the range of -180 to 180
decimal degrees or with latitude values outside the range of -90 to decimal degrees or with latitude values outside the range of -90 to
90 degrees MUST be considered invalid. 90 degrees MUST be considered invalid.
3.4.3. Location Uncertainty 3.4.3. Location Uncertainty
The 'u' ("uncertainty") parameter indicates the amount of uncertainty The 'u' ("uncertainty") parameter indicates the amount of uncertainty
in the location as a value in meters. Where a geo URI is used to in the location as a value in meters. Where a 'geo' URI is used to
identify the location of a particular subject, uncertainty indicates identify the location of a particular object, uncertainty indicates
the uncertainty with which the identified location of the subject is the uncertainty with which the identified location of the subject is
known. known.
The 'u' parameter is optional and it can appear only once. If The 'u' parameter is optional and it can appear only once. If
uncertainty is not specified, this indicates that uncertainty is uncertainty is not specified, this indicates that uncertainty is
unknown or unspecified. If the intent is to indicate a specific unknown or unspecified. If the intent is to indicate a specific
point in space, uncertainty MAY be set to zero. Zero uncertainty and point in space, uncertainty MAY be set to zero. Zero uncertainty and
absent uncertainty are never the same thing. absent uncertainty are never the same thing.
Note: The number of significant digits of the value in the The single uncertainty value is applied to all dimensions given in
'coordinates' component MUST NOT be interpreted as an indication to the URI.
uncertainty.
Note: The number of digits of the value in the 'coordinates'
component MUST NOT be interpreted as an indication to uncertainty.
3.4.4. URI Comparison 3.4.4. URI Comparison
Two 'geo' URIs are equal when they use the same CRS, and their Two 'geo' URIs are equal when they use the same CRS, and their
'coord-a', 'coord-b', 'coord-c' and 'u' values are mathematically 'coord-a', 'coord-b', 'coord-c' and 'u' values are mathematically
identical. identical.
Two URIs use the same CRS if both have the 'crs' parameter omitted, Two URIs use the same CRS if both have the 'crs' parameter omitted,
or both have the same 'crs' parameter value, or one has the 'crs' or both have the same 'crs' parameter value, or one has the 'crs'
parameter omitted while the other URI specifies the default CRS parameter omitted while the other URI specifies the default CRS
explicitely with a 'crs' parameter value of "wgs84". explicitely with a 'crs' parameter value of "wgs84".
For the default CRS of WGS-84, the following definitions apply in For the default CRS of WGS-84, the following definitions apply in
addition: addition:
o Where the 'latitude' component of a 'geo' URI is set to either 90 o Where the 'latitude' component of a 'geo' URI is set to either 90
or -90 degrees, the 'longitude' component MUST be ignored in or -90 degrees, the 'longitude' component MUST be ignored in
comparison operations ("poles case"). comparison operations ("poles case").
o A 'longitude' component of 180 degrees MUST be considered equal a o A 'longitude' component of 180 degrees MUST be considered equal to
'longitude' component of -180 degrees for the purpose of URI a 'longitude' component of -180 degrees for the purpose of URI
comparison ("date line" case). comparison ("date line" case).
An URI with undefined (missing) 'coord-c' (altitude) value MUST NOT An URI with undefined (missing) 'coord-c' (altitude) value MUST NOT
be considered equal to an URI containing an 'coord-c' value, even if be considered equal to an URI containing an 'coord-c' value, even if
the remaining values 'coord-a', 'coord-b' and 'u' are equivalent. the remaining 'coord-a', 'coord-b' and 'u' values are equivalent.
3.4.5. Interpretation of Undefined Altitude 3.4.5. Interpretation of Undefined Altitude
A consumer of a 'geo' URI in the WGS-84 CRS with undefined 'altitude' A consumer of a 'geo' URI in the WGS-84 CRS with undefined 'altitude'
MAY assume that the URI refers to the respective location on earth's MAY assume that the URI refers to the respective location on Earth's
physical surface at the given 'latitude' and 'longitude' coordinate. physical surface at the given 'latitude' and 'longitude' coordinates.
However, as defined above, altitudes are relative to the WGS-84 However, as defined above, altitudes are relative to the WGS-84
reference geoid rather than earth's surface. Hence, an altitude reference geoid rather than Earth's surface. Hence, an altitude
value of 0 MUST NOT be mistaken to refer to "ground elevation". value of 0 MUST NOT be mistaken to refer to "ground elevation".
3.5. Encoding Considerations 3.5. Encoding Considerations
The 'coordinates' path component of the 'geo' URI (see Section 3.3) The 'coordinates' path component of the 'geo' URI (see Section 3.3)
uses a comma (",") as a delimiter for subcomponents. This delimiter uses a comma (",") as the delimiter for subcomponents. This
MUST NOT be percent encoded. delimiter MUST NOT be percent encoded.
It is RECOMMENDED that for readability the contents of 'coord-a', It is RECOMMENDED that for readability the contents of 'coord-a',
'coord-b' and 'coord-c' subcomponents, as well as the 'crs' and 'u' 'coord-b' and 'coord-c' subcomponents, as well as the 'crs' and 'u'
parameters are never percent encoded. parameters are never percent encoded.
Regarding internationalization, the currently specified components do Regarding internationalization, the currently specified components do
allow for ASCII characters exclusively, and therefore don't require allow for ASCII characters exclusively, and therefore don't require
internationalization- Future specifications of additional parameters internationalization. Future specifications of additional parameters
might allow for introduction of non-ASCII values. Such might allow for introduction of non-ASCII values. Such
specifications MUST describe internationalization considerations for specifications MUST describe internationalization considerations for
those parameters and their values. those parameters and their values.
3.6. Applications/Protocols that use this URI Scheme 3.6. Applications/Protocols that use this URI Scheme
As many other URI scheme definitions, the 'geo' URI provides resource As many other URI scheme definitions, the 'geo' URI provides resource
identification independent of a specific application or protocol. identification independent of a specific application or protocol.
Examples of potential protocol mappings and use cases can be found in Examples of potential protocol mappings and use cases can be found in
Section 6. Section 6.
3.7. Interopability Considerations 3.7. Interopability Considerations
Like other new URI schemes, the 'geo' URI requires support in client Like other new URI schemes, the 'geo' URI requires support in client
applications. Users of applications which are not aware of the 'geo' applications. Users of applications which are not aware of the 'geo'
scheme are likely unable to make direct use of the information in the scheme are likely not able to make direct use of the information in
URI. However, the simple structure of the 'geo' URI would even allow the URI. However, the simple structure of the 'geo' URI would allow
manual dereference by humans. even manual dereference by humans.
Clients MUST NOT attempt to dereference URIs given in an CRS that is Clients MUST NOT attempt to dereference URIs given in an CRS that is
unknown to the client, because doing so would produce entirely bogus unknown to the client, because doing so would produce entirely bogus
results. results.
Authors of 'geo' URIs should carefully check that coordinate Authors of 'geo' URIs should carefully check that coordinate
components are set in the right CRS and in the specified order, since components are set in the right CRS and in the specified order, since
wrong order of those components (or use of coordinates in a different wrong order of those components (or use of coordinates in a different
CRS without transformation) are commonly observed mistakes producing CRS without transformation) are commonly observed mistakes producing
completely bogus locations. completely bogus locations.
skipping to change at page 12, line 38 skipping to change at page 12, line 37
o "No value": The parameter does not accept any values, and is to be o "No value": The parameter does not accept any values, and is to be
used as a "flag" only. used as a "flag" only.
o "Predefined": The parameter does accept values from a predefined o "Predefined": The parameter does accept values from a predefined
set only, as specified in a RFC or other permanent and readily set only, as specified in a RFC or other permanent and readily
available public specification. available public specification.
o "Constrained": The parameter accepts arbitrary values that are o "Constrained": The parameter accepts arbitrary values that are
only constrained by a syntax as specified in a RFC or other only constrained by a syntax as specified in a RFC or other
permanent and readily available public specification. permanent and readily available public specification.
Section 8.2.1 contains the initial contents of the Registry.
5. URI Operations 5. URI Operations
Currently, just one operation on a 'geo' URI is defined - location Currently, just one operation on a 'geo' URI is defined - location
dereference: In that operation, a client dereferences the URI by dereference: In that operation, a client dereferences the URI by
extracting the geographical coordinates from the URI path component extracting the geographical coordinates from the URI path component
('geo-path' in the ABNF). Further use of those coordinates (and the ('geo-path' in the ABNF). Further use of those coordinates (and the
uncertainty value from the 'u' parameter) is then up to the uncertainty value from the 'u' parameter) is then up to the
application processing the URI, and might depend on the context of application processing the URI, and might depend on the context of
the URI. the URI.
skipping to change at page 14, line 32 skipping to change at page 14, line 32
to calculate a navigation route to the identified location. to calculate a navigation route to the identified location.
3. Using the builtin GPS receiver, the user follows the navgiation 3. Using the builtin GPS receiver, the user follows the navgiation
instructions to reach the location instructions to reach the location
7. GML Mappings 7. GML Mappings
The Geographic Markup Language (GML) by the Open Geospatial The Geographic Markup Language (GML) by the Open Geospatial
Consortium (OGC) is a set of XML schemas to represent geographical Consortium (OGC) is a set of XML schemas to represent geographical
features. Since GML is widely accepted, this document includes features. Since GML is widely accepted, this document includes
instructions on how to transpose 'geo' URIs from and to GML instructions on how to transform 'geo' URIs from and to GML
documents. The instructions in this section are not normative. documents. The instructions in this section are not normative.
For the following sections, "%lat%", "%lon%", "%alt%" and "%unc%" are For the following sections, "%lat%", "%lon%", "%alt%" and "%unc%" are
placeholders for latitude, longitude, altitude and uncertainty placeholders for latitude, longitude, altitude and uncertainty
values. The mappings use WGS-84, and are defined in the following values, respectively. The mappings use WGS-84, and are defined in
sections. the following sections.
Note: GML documents in other reference systems could be used as well Note: GML documents in other reference systems could be used as well
if a transformation into "urn:ogc:def:crs:EPSG::4979" or if a transformation into "urn:ogc:def:crs:EPSG::4979" or
"urn:ogc:def:crs:EPSG::4326" is defined and applied before the "urn:ogc:def:crs:EPSG::4326" is defined and applied before the
mapping step. Such transformations are typically not lossless. mapping step. Such transformations are typically not lossless.
GML uses the 'double' type from XML schema, and the mapping examples GML uses the 'double' type from XML schema, and the mapping examples
assume that numbers in the form of "3.32435e2" in GML are properly assume that numbers in the form of "3.32435e2" in GML are properly
converted to decimal when placed in the 'geo' URI. converted to decimal when placed into the 'geo' URI.
7.1. 2D GML 'Point' 7.1. 2D GML 'Point'
A 2D GML 'Point' [RFC5491] is constructed from a 'geo' URI that has A 2D GML 'Point' [RFC5491] is constructed from a 'geo' URI that has
two coordinates and an uncertainty ("u") parameter that is absent or two coordinates and an uncertainty ('u') parameter that is absent or
zero. A GML point is always converted to a 'geo' URI that has no zero. A GML point is always converted to a 'geo' URI that has no
uncertainty parameter. uncertainty parameter.
'geo' URI: 'geo' URI:
geo:%lat%,%lon% geo:%lat%,%lon%
GML document: GML document:
<Point srsName="urn:ogc:def:crs:EPSG::4326" <Point srsName="urn:ogc:def:crs:EPSG::4326"
skipping to change at page 18, line 8 skipping to change at page 18, line 8
Because the 'geo' URI is not tied to any specific protocol, and Because the 'geo' URI is not tied to any specific protocol, and
identifies a physical location rather than a network resource, most identifies a physical location rather than a network resource, most
of the general security considerations on URIs (Section 7 of RFC of the general security considerations on URIs (Section 7 of RFC
3986) do not apply. However, the following (additional) issues 3986) do not apply. However, the following (additional) issues
apply: apply:
9.1. Invalid Locations 9.1. Invalid Locations
The URI syntax (Section 3.3) makes it possible to construct 'geo' The URI syntax (Section 3.3) makes it possible to construct 'geo'
URIs which don't identify a valid location on earth. Applications URIs which don't identify a valid location. Applications MUST NOT
MUST NOT use URIs with such values, and SHOULD warn the user when use URIs with such values, and SHOULD warn the user when such URIs
such URIs are encountered. are encountered.
An example of such an URI refering to an invalid location would be An example of such an URI referring to an invalid location would be
<geo:94,0> (latitude "beyond" north pole). <geo:94,0> (latitude "beyond" north pole).
9.2. Location Privacy 9.2. Location Privacy
A 'geo' URI by itself is just an opaque reference to a physical A 'geo' URI by itself is just an opaque reference to a physical
location, expressed by a set of spatial oordinates. This does not location, expressed by a set of spatial oordinates. This does not
fit the "Location Information" definition according to Section 5.2 of fit the "Location Information" definition according to Section 5.2 of
GEOPRIV Requirements [RFC3693], because there is not necessarily a GEOPRIV Requirements [RFC3693], because there is not necessarily a
"Device" involved. "Device" involved.
Because there is also no way to specify the identity of a "Target" in Because there is also no way to specify the identity of a "Target"
a 'geo' URI by itself, it does also not fit the specification of an within the confines of a 'geo' URI, it also does not fit the
"Location Object" (Section 5.2 of RFC3693). specification of an "Location Object" (Section 5.2 of RFC3693).
However, by putting a 'geo' URI into a context that allows However, if a 'geo' URI is used in a context where it identifies the
identification of a "Target", the URI might become part of a location of a Target, it becomes part of a Location Object and is
"Location Object", and would then be subject to GEOPRIV rules. therefore subject to GEOPRIV rules.
Therefore, Publishers of 'geo' URIs that are put into such contexts Therefore, when 'geo' URIs are put into such contexts, the privacy
MUST consider privacy issues, particularly in cases where a URI requirements of RFC 3693 MUST be met.
instance is combined with Personally Identifyable Information (PII)
with the intent to describe the location of a Target that is a
person.
10. Acknowledgements 10. Acknowledgements
Martin Thomson has provided significant text around the definition of Martin Thomson has provided significant text around the definition of
the "uncertainty" parameter and the GML mappings. the "uncertainty" parameter and the GML mappings.
The authors further wish to acknowledge the helpful contributions The authors further wish to acknowledge the helpful contributions
from Carl Reed, Bill McQuillan, Martin Kofal, Andrew Turner, Kim from Carl Reed, Bill McQuillan, Martin Kofal, Andrew Turner, Kim
Sanders, Ted Hardie, Culllen Jennings, Klaus Darilion and Bjorn Sanders, Ted Hardie, Cullen Jennings, Klaus Darilion, Bjorn
Hoehrmann. Hoehrmann, Alissa Cooper and Ivan Shmakov.
11. References 11. References
11.1. Normative References 11.1. Normative References
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005. RFC 3986, January 2005.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
skipping to change at page 19, line 43 skipping to change at page 19, line 38
[WGS84] National Imagery and Mapping Agency, "Department of [WGS84] National Imagery and Mapping Agency, "Department of
Defense World Geodetic System 1984, Third Edition", Defense World Geodetic System 1984, Third Edition",
NIMA TR8350.2, January 2000. NIMA TR8350.2, January 2000.
Appendix A. Change Log Appendix A. Change Log
[Note to editors: This section is to be removed before publication - [Note to editors: This section is to be removed before publication -
XML source available on request] XML source available on request]
draft-ietf-geopriv-geo-uri-03
o Updated privacy considerations section as per Alissa's comments
o Added text on uncertainty applied to all given dimensions
o various editorial changes
o Changed ABNF to reflect order of parameters (CRS first, then U,
then others
draft-ietf-geopriv-geo-uri-02 draft-ietf-geopriv-geo-uri-02
o Added IANA registry for 'geo' URI Parameters and values o Added IANA registry for 'geo' URI Parameters and values
o Moved change log to appendix o Moved change log to appendix
o Added "u" parameter to ABNF, restructred ABNF slightly o Added "u" parameter to ABNF, restructred ABNF slightly
o Added new section describing uncertainty o Added new section describing uncertainty
o Changed mapping examples, added some for uncertainty o Changed mapping examples, added some for uncertainty
o Added text that number of digits shouldn't be confused with o Added text that number of digits shouldn't be confused with
uncertainty or accuracy uncertainty or accuracy
o marked GML mappings as non-normative based on URI expert review o marked GML mappings as non-normative based on URI expert review
advice advice
 End of changes. 40 change blocks. 
71 lines changed or deleted 78 lines changed or added

This html diff was produced by rfcdiff 1.36. The latest version is available from http://tools.ietf.org/tools/rfcdiff/