Localisez une base d'adresses pour l'afficher sur une carte

Mis à jour le 03/04/2017 par Nicolas Bonnel

Le géocodage permet d'enrichir des données qui contiennent des éléments d'adresse avec les coordonnées GPS correspondant. Cela permet de visualiser les données que l'on possède autrement : grâce aux coordonnées GPS, on peut les placer sur une carte. Nous allons voir dans cet article comment utiliser notre service de géocodage pour enrichir un fichier tabulaire ou l'afficher sur une carte interactive.

Présentation du service

Les cartes permettent de mieux se représenter des informations spatiale, et de pouvoir les analyser très rapidement. Il est beaucoup plus facile de visualiser un nuage de points en 2 dimensions que de parcourir un long listing. Mais pour pouvoir placer les données dans le plan, il faut qu'elles aient des coordonnées, ce qui n'est pas toujours le cas. Un cas fréquent est d'avoir des données avec une adresse, comme par exemple une base de contacts.

Le principe du géocodage est de pouvoir attribuer à une adresse des coordonnées latitude et longitude. En se servant des éléments constituant l'adresse, on va interroger une base de données pour essayer de localiser cette adresse de la manière la plus fine possible. Plus les élements décrivant l'adresse seront précis, plus la localisation le sera aussi. Si on veut une localisation à la dizaine de mètres près, il faut une adresse détaillée avec un numéro de rue. Au contraire, si on ne renseigne que la commune ou le code postal, la localisation sera très approximative, à quelques kilomètres près.

Le principe de notre service de géocodage et de prendre en entrée un fichier tabulaire contenant des adresses. L'utilisateur indique ensuite dans quelles colonnes aller chercher quelles informations. Il peut alors soit récupérer le même fichier enrichi de colonnes supplémentaires, soit visualiser directement ses données sur une carte. Pour les développeurs, le service expose également une API.

Le service est gratuit, mais le débit est limité et les traitements de fichiers volumineux sont plus long. La création d'un compte sur notre plateforme permet d'augmenter ce débit et donc réduire les temps de traitement. Nous précisons aussi que nous ne stockons pas votre fichier sur nos serveurs : tout est traité en flux. Cet aspect un peu plus technique fera sans doute l'objet d'un prochain article. Nous n'avons aucun intérêt de notre côté à garder votre fichier de données : cela pose un problème légal, nous coûte des ressources en disque dur et nous demanderait beaucoup de temps d'analyse pour en faire quelque chose, les fichiers étants tous différents selon les utilisateurs.

Comment ça fonctionne ?

Préparation des données

Notre service prend en entrée un fichier au format CSV. Tous les tableurs permettent d'exporter les données sous ce format. Si vous voulez localiser une base de contacts et que celle ci est au format Excel, il vous faudra donc l'exporter au format CSV avant de pouvoir la localiser. Préférez dans les options d'exportation l'utilisation de virgules comme délimiteurs de champs plutôt que des points-virgules.

Une fois votre fichier prêt, rendez vous sur cette page et cliquez sur Chargez un fichier depuis votre ordinateur. L'écran devrait alors évoluer et vous devriez voir apparaître un tableau, vous pouvez alors passer à l'étape suivante. Si votre fichier est situé sur un serveur distant, vous pouvez aussi utiliser le 2e champ Chargez un fichier depuis un lien et rentrer l'adresse pointant vers votre fichier.

Corrélation entre les champs

Le nom des champs contenant des éléments d'adresse de votre fichier est sans doute différent des termes que nous employons. Il faut donc avant de lancer le processus de géolocalisation dire à quoi correspondent les champs de votre fichier. Vous n'êtes pas obligés d'utiliser toutes les propriétés pour le géocodage mais il faudra en renseigner au moins 2 ou 3 si vous voulez un géocodage précis.

Suivant le formatage de vos données, il va y avoir 2 cas de figure. Le premier est que les éléments d'adresse sont tous contenus dans la même colonne de votre fichier. Il faut dans ce cas renseigner la propriété Adresse complète du tableau avec le nom de cette colonne. Dans le deuxième cas, les éléments d'adresse sont répartis en plusieurs colonnes, il va donc falloir renseigner plusieurs propriétés. Pour un géocodage précis, il faut forcément renseigner Voie ou lieu-dit, le champ peut contenir le numéro de l'adresse, dans ce cas vous n'aurez pas besoin de renseigner Numéro. Vous pouvez ensuite soit renseigner code INSEE, soit Code Postal et Commune. Dans le 2e cas, la commune est plus importante que le code postal car un code postal peut être utilisé par plusieurs communes.

Géocodage ou affichage sur une carte

Une fois la corrélation entre les champs saisie, vous avez 2 options : géocoder votre fichier ou afficher son contenu sur une carte.

Le géocodage vous propose au téléchargement votre fichier CSV, enrichi de 3 champs. Les champ lat et lon correspondent respectivement à la latitude et la longitude. Un troisième champ matchLevel indique le niveau de précision du géocodage. housenumber est le niveau le plus précis et correspond à un numéro de rue, puis vient name qui correspond à la rue ou lieu-dit, et enfin postcode pour une localisation au niveau du centre de la commune. Ces 3 champs peuvent être vides : cela veut dire que notre plateforme n'a pas réussi à géocoder la ligne de données. Cela peut être dû à plusieurs facteurs, mais si vous avez un nombre important de lignes non géocodées, n'hésitez pas à nous contacter.

La deuxième possibilité est d'afficher vos données sur une carte : la carte sera alors automatiquement centrée sur vos données et le niveau de zoom ajusté. Il y a un marqueur par ligne de données, un clic sur un marqueur vous indiquera le contenu de la ligne de votre fichier correspondant. Attention, pour des raisons de performance, nous vous conseillons de ne pas afficher des fichiers de plus de 2000 lignes sur la carte. Si vous avez une quantité de données plus importante que vous voulez visualiser, ou si vous voulez quelque chose de plus élaboré que la carte que nous proposons, n'hésitez pas à nous contacter !

Sur quelles données se base le géocodage

Je termine cet article en vous présentant les sources de données sur lesquelles s'appuie notre service de géocodage. Ces données proviennent d'établissements publics et sont disponibles en opendata sur le site du gouvernement. Elles sont mises à jour régulièrement, nous actualisons notre plateforme à chaque mise à jour de ces fichiers.

Le premier jeu de données est la Base Adresse Nationale (BAN). Elle contient la position géographique de plus de 25 millions d'adresses. Cette base est diffusée sur le site adresse.data.gouv.fr qui permet également de géocoder un fichier CSV. Nous ferons une comparaison prochainement avec notre service et écrirons un article à ce sujet.

Le deuxième jeu de données est la Base officielle des codes postaux. Nous utilisons ces données pour compléter le premier fichier : si nous n'avons pas trouvé la localisation exacte pour une adresse, nous essayons de trouver la localisation de la commune correspondante.