Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Ève

RFC 5870: A Uniform Resource Identifier for Geographic Locations ('geo' URI)

Date de publication du RFC : Juin 2010
Auteur(s) du RFC : A. Mayrhofer (IPCom), C. Spanring
Chemin des normes
Réalisé dans le cadre du groupe de travail IETF geopriv
Première rédaction de cet article le 7 juin 2010
Dernière mise à jour le 7 juillet 2010


Ce RFC normalise un nouveau plan pour les URI, geo, qui permet de représenter l'information concernant la latitude et la longitude sous la forme d'un URI, par exemple geo:13.4125,103.8667.

Le projet « plan geo » est un vieux projet de normalisation des URI de localisation géographique. En l'absence d'un tel plan, beaucoup de gens utilisaient des URI http comme ceux de Google Maps, ou bien des mécanismes spécifiques à un certain format (cf. section 1 du RFC). Ainsi, la cathédrale Saint-Étienne à Vienne, qui se notait souvent http://maps.google.com/maps?f=q&source=s_q&hl=fr&sspn=0.355096,0.500565&ie=UTF8&ll=48.208223,16.372687&spn=0.00281,0.003911&t=h&z=18 sera désormais geo:48.208333,16.372778. Un tel URI est-il utilisable ? Oui, si on a l'extension Firefox appropriée (cf. http://geouri.org/2007/02/26/firefox-extension-handles-geo-uri/ mais la version actuelle est bien vieille et ne marche pas avec les Firefox récents). Comme expliqué par la section 5 du RFC, on pourrait imaginer d'autres applications. Un tel mécanisme va certainement aider tous ceux qui manipulent des informations géographiques sur l'Internet, par exemple le remarquable projet OpenStreetMap qui permettrait d'écrire le lien ci-dessus http://www.openstreetmap.org/?lat=48.208333&lon=16.372778&zoom=40.

D'autres exemples et scénarios d'usage figurent dans la section 6. Outre la création d'hyperliens classiques pointant vers un service de cartographie (section 6.2), on peut imaginer des code-barres 2D codant un URI geo (section 6.3) et permettant à un smartphone avec un GPS d'afficher l'itinéraire vers l'endroit indiqué.

Les sections 1 et 2 exposent les principes de base de ce plan, notamment le choix du système de coordonnées WGS 84, entre autre parce que c'est celui du GPS. La syntaxe des URI permettra l'indication d'autres systèmes plus tard mais, pour l'instant, WGS 84 est le système officiel. Dans WGS 84, un point est représenté par une latitude, une longitude et une altitude.

La section 3 est l'enregistrement officiel du plan auprès de l'IANA dans le registre des plans d'URI, suivant les règles du RFC 4395. Elle inclus la syntaxe formelle des URI (section 3.3). De manière résumée, un URI geo comprend la chaîne de caractères geo: suivie de deux ou trois nombres, séparés par des virgules. Le premier est la latitude (en degrés décimaux), le second la longitude (idem) et le troisième (optionnel) l'altitude (en mètres). Ainsi, geo:90.0,0.0,100 désigne un point à cent mètres au dessus du Pôle Nord (cf. section 3.4.2 pour les détails et, attention, WGS 84 mesure l'altitude par rapport au géoïde, pas par rapport au niveau de la mer, cf. section 3.4.5).

Un paramètre optionnel (et dont l'usage est actuellement déconseillé), crs=, permettra d'indiquer d'autres systèmes de coordonnées que WGS 84. Un autre paramètre optionnel, u= indique l'incertitude sur la mesure (section 3.4.3).

Une utilisation courante des URI est la comparaison. Ces deux URI sont-ils équivalents ? La section 3.4.4 répond à cette question, moins évidente qu'il n'y parait. La comparaison de deux URI geo ne signifie pas en effet qu'ils désignent le même point (ce qui serait trop compliqué à déterminer) mais est plus restrictive que cela : deux URI geo sont identiques si tous les nombres sont rigoureusement les mêmes. Donc, geo:45.0,-10.0 est identique à geo:45,-10 mais la fonction de comparaison n'essaie pas d'utiliser le paramètre u= (l'incertitude) pour considérer que deux points sont proches... (Voir aussi la section 6.4.)

À noter qu'il existe déjà des moyens de noter une position géographique dans un langage formel. Une des plus connues est GML et la section 7 indique comment convertir entre les URI geo et les éléments <Point> de GML. Ainsi, le code GML :


<gml:Point srsDimension="2" srsName="urn:ogc:def:crs:EPSG:6.6:4326">                                                       
                        <gml:pos>49.40 -123.26</gml:pos>
                  </gml:Point>

deviendrait l'URI geo:49.40,-123.26. Et, si vous vous demandez où c'est, voyez http://www.openstreetmap.org/?lat=49.4&lon=-123.26&zoom=10.

Même si le RFC ne le cite pas, il y avait aussi le mécanisme ICBM addresses, plus primitif (apparemment pas de norme écrite, pas d'indication de l'altitude, résolution plus faible...)

Deux nouveaux registres IANA créés (sections 4 et 8), pour stocker les paramètres possibles et les valeurs admises pour les paramètres : https://www.iana.org/assignments/geo-uri-parameters/geo-uri-parameters.xhtml.

Les mises en œuvre de ce RFC sont encore rares et une liste figure sur le site de référence. Mais les progrès que ce plan d'URI sont cruciaux : Comme le note Nicolas Krebs, utiliser geo: permet de s'affranchir d'un fournisseur. Ce plan d'adresse est neutre quand au service cartographique utilisé. C'est l'utilisateur qui fait ce choix. geo:48.208333,16.372778 est à http://maps.google.com/maps?ll=48.208223,16.372778 ce que news:hrctmq$ua8$1@news.le-studio75.com (RFC 5538) est à http://groups.google.com/group/fr.usenet.divers/msg/cf1d3bd076ba6559.


Téléchargez le RFC 5870

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)