(Néo)codage d'adresse
Mais c'est quoi ce code dans Googggle Maps ? Certains (non je ne citerai pas ces journaux) viennent de découvrir que Gooogle utilise (depuis 2015 en fait) un codage de lieux pour faciliter l'adressage. Mais c'est quoi exactement ?
Pour tout vous dire, j'ai commencé cet article en 2018!! ah ouais, quand même, mais le peu de popularité de ces adresses ne pas inciter à poursuivre. Pourtant, elles sont très utiles et ce n'est vraiment pas idiot comme identifiant.
Bref, tour d'horizon rapide pour dire que plusieurs alternatives existent.
Le principe
L'idée est que tous les endroits sur Terre ne sont pas découpés en rue avec un numéro, bien loin de là, et donc il est difficile de se repérer. Cela vaut pour les adresse postale, mais aussi les secours, les livraisons...
Ok, mais il existe quand même depuis longtemps des datum qui nous permettent de nous repérer, ey on ne citera que le plus connu WGS84 et ces "coordonnées GPS ". Déjà, ce n'est pas simple, comme référence, il faut ensuite avoir l'appareil adéquat, les systèmes varient beaucoup entre les pays et les beaucoup ne sont pas libres. Le codage d'adresse répond à la même question, pourquoi ai-je une adresse postale alors qu'il existe des coordonnées GPS ? Bonne question, souvenez-vous que les satellites ne passent pas partout, mais surtout cela a été créé à l'époque ou les satellites n'existaient pas... ou étaient peu répandu.
Les différents systèmes
Je ne vais pas faire la critique de chaque et il en manque sûrement, je fais juste un tour du paysage et un peu d'histoire pour voir l'étendue de l'offre. Pour s'appuyer sur du concret, prenons l'émetteur de Roc'h Tredudon.
Coordonnées GPS (WGS84) | 48° 24′ 49″ N, 3° 53′ 23″ O |
Coordonnées LAMBERT93/RGF93 | 6834787.19627160, 190839.55318959 |
UTM standard | 30N 434179 5362622 |
adresse dans la Base nationale des adresses française (BAN) | 543 Roc Tredudon 29410 Plounéour-Ménez (?) |
Maidenhead Locator System | IN88bj |
MGRS | 30UVU 34178 62622 |
mapcode | 2FR0.LGQ-B46M5CJD |
what3words | ///dominateur.contenter.visiteur |
NAC | GN89N R2205 |
GeoHash | gbt5rmrezzw5 |
Plus+Code | 8CWRC476+85 (C476+85 donné par Gogle) |
ubid | 8CWRC476+98-1-2-2-3 |
Afficher une carte plus grande
Maidenhead Locator System
IN88bj
Créé en 1980, par un radio amateur, il remplace les ancien systèmes (QRA-locator (1959), QTH-locator (1972)). Il se veut être simple pour les transmissions rapides. Il se décompose en grille, dont la plus petite maille est de 10,4km (6,5miles), ce qui reste pas très précis mais suffisant à l'échelle de la planète. Voir la grille de notre point
Je vous invite à lire sa description sur wikipédia
MGRS
30UVU 34178 62622
Tout est dans le nom Military Grid Reference System (MGRS). Ce sont donc les références militaires utilisées par l'OTAN basées sur l'UTM. Il est toutefois plus précis que l'UTM. Chaque mètre carré dans une zone MGRS 100x100km est référencé par ses coordonnées (en mètre), Est puis Nord, pouvant aller de 00000 à 99999. Les coordonnées Est sont prises à partir du bord gauche du carreau MGRS, Nord à partir du bord du bas (sud). Le code donné dans le tableau plus haut est donc de précision métrique, si j'avais indiqué 4QFJ 3 6 je serais à une précision 10 km. Je vous laisse voir le wikipédia aussi.
Mapcode
2FR0.LGQ-B46M5CJD à voir sur https://www.mapcode.com/
Mapcode est une initiative gratuite et opensource (code sur github) qui veut donner une adresse à chaque point du globe. Développé en 2001 et devenu libre en 2008. La volonté était de faire des codes courts, facile à mémoriser(?), complément naturel d'une adresse, ou substitut non ambigu d'une adresse.
Le système est basé comme les autres sur un carroyage. Les premiers éléments sont soit issus du code du pays, soit sous forme internationale ou hybride (déjà cela commence mal pour la facilité, mais peut importe cela indique la même chose), ma précision de départ est de quelques mètres. En ajoutant les codes après tiret, vous augmentez la précision.
A noter qu'il existe des paquets DEBIAN pour leur traduction et que les TOMTOM(c) sont capables de les lire (il me semble mais pas tous).
WHAT3WORDS
///dominateur.contenter.visiteur
Drôle de concept, définir la position avec 3 mots. Créer en 2013, l'idée originale et pas idiote, découper la terre en carré de 3x3m et le repérer par 3 mots. Avantages : facile à mémoriser. Difficulté : code pour chaque pays dans sa langue, le code est propriétaire.
Le géoportail et googeul maps les reconnaissent et il paraît que cela sauve des gens : secouru avec what3word
NAC
GN89N R2205 à voir sur http://nactag.info
Créé en 1994, par le fondateur de la NAC Geographic Products Inc (qui gère pleins d'autres produits). le produit est sous licence libre pour une utilisation non commerciale.L'adresse est donnée par 2 groupes de caractères, cette NATURAL AREA CODE permet suivant le nombre de caractères d'augmenter la précision. deux => 1000 km X 700 km; quatre=> 33 km X 23 km ; six => 1 km² ; huit => 35 m X 25 m ; dix caractères => 1 m² n'importe où dans le monde. Simple et rapide.
Pour voir le détail de la génération du code : http://www.nacgeo.com/nacsite/documents/nac.asp
GEOHASH
gbt5rmrezzw5 à voir sur http://geohash.org
Créé en 2008, sous domaine public, à partir d'une solution évoqué en 1966. Le principe est d'encoder les latitude, longitude du système WGS84 pour obtenir 1 seul code (encodage suivant les courbes z-order, ne m'en demandez pas plus, mon niveau mathématiques me fait dire que je trouve ça juste joli...). Il existe plusieurs variantes geohash2, hilbert-geohash...
Le nombre de caractère indique aussi la précision des coordonnées. Ici, mon code est au max, je ne connais pas la précision, mais par exemple, 5 caractères donne 2,4km d'erreur.
Geohash est utilisable partout : exempel dans POSTGIS ST_GeoHash(), ST_Box2dFromGeoHash() and ST_PointFromGeoHash(). Je vous laisse apprécier sur https://fr.wikipedia.org/wiki/Geohash
PLUS+CODE
8CWRC476+85 à voir sur https://maps.google.com/pluscodes/
Voici enfin le fameux PLUS+CODE utilisé par Googeul. Le projet est géré par le bureau d'ingénierie de Google à Zurich et est opensource sous le nom Open Location Code. Pourquoi ont-ils choisi ce système, apparemment ils ont faits des tests, à lire sur : https://github.com/google/open-location-code/wiki/Evaluation-of-Location-Encoding-Systems
Il s'agit ici aussi d'un encodage des coordonnées dans un système de carré (basé sur les angles, pas les distances). Comme la plupart des code,ce code désigne donc un carré et non pas un point, avec 10 caractères, la précision est de 14m. Le plus dans le code permet juste une lecture facilitée. La difficulté vient de cette précision ou le même code peut être utilisé plusieurs fois, il faut donc utiliser la précision maximale et ajouter la localité pour être sûr de trouver le bon endroit (cf. https://fr.wikipedia.org/wiki/Open_Location_Code)
UBID
UBID est basé sur Open Location Code (cf.plus haut), mais ajoutes les distances par rapport aux cotés de la boîte de coordonnée. Pourquoi ? situé et identifié correctement les immeubles. Peu utile à mon sens, c'est pour illustrer le développement de codage spécifique (budget 750 000$ pour ça quand même !). bref, on passe.
Et tous les autres
Il existe des dizaines de solutions, local, propriétaire, variantes de tel ou tel méthode. Des nouvelles apparaissent (Placekey), d'autres disparaissent (ubicate...). La liste complète s'appelle wikipédia. Je voulais juste indiquer que plusieurs solutions existent. Ma préférée GEOHASH, parce-que c'est dans POSTGIS, donc facile à utiliser (pour l'adressage d'un poteau electrique par exemple...)
OSMAND
Si vous pensez que c'est anecdotique, on peut retrouver ces codage d'adresse dans certaines applications (on a vu goog.e...) mais aussi dans OSMAND (OLC, MGRS) par exemple.
Dans QGIS
L'extension Lat Lon Tools permet d'encoder en DMS, WKT, GeoJSON, MGRS, UTM, Geohash, Maidenhead grid, et Plus Codes formats. Et plein d'autres outils utiles.
Vous en connaissez d'autres (des supers ou marrants...) ou vous voulez développer ou apporter des précisions ? les commentaires sont là pour vous.