
Géocoder via la Base Adresse Nationale
Lorsqu’on souhaite faire une étude de marché pour pouvoir connaître sa couverture géographique par rapport à ses concurrents, le géocodage est une première étape à effectuer.
Le géocodage permet d’affecter à une adresse ou un lieu des coordonnées géographiques, c’est-à-dire positionner cette adresse ou ce lieu dans l’espace.
Le plus souvent, cette étape peut être une véritable tannée.
Avant que j’utilise Alteryx, je devais nettoyer mes adresses à la main. Puis utiliser un logiciel maison pour géocoder et exporter les données après ce géocodage. Et enfin calculer les distances entre des points d’intérêts et mes adresses que j’avais géocodé.
Résultat des courses, je perdais un temps fou.
Maintenant, toutes ses étapes se font à la suite les unes des autres dans le même outil.
Aujourd’hui, je vais vous montrer pas à pas comment faire appel à une interface de programmation applicative web (Web API) avec Alteryx.
La Web API que nous allons regarder ensemble est la Base Adresse Nationale (BAN).
Mais qu’est ce que la BAN ?
La BAN est une “base de données qui a pour but de référencer l’intégralité des adresses du territoire français” (adresse.data.gouv.fr (bêta)). Elle a été mise en place à l’initiative de l’Etat et d’acteurs comme l’IGN ou bien la Poste.
Cette Web API en bêta n’a pas de besoins d’identifiants de connexion pour être appelée.
Maintenant que j’ai ces informations, je veux géocoder le BHV (je ne sais pas vous, mais j’ai besoin d’une chemise).
Je fais un peu de nettoyage de données pour obtenir une adresse complète puis je consolide mon adresse url pour qu’elle obtienne la forme suivante:
J’utilise ensuite deux outils: le “download data” et “le json parse” pour faire remonter les données de la BAN.
Le download data est un outil superbe pour faire appel à des API, des services extérieurs.
Il doit être configuré en fonction du service que l’on souhaite appeler.
Ici, nous n’avons pas besoin d’authentification et l’appel va être basé sur l’url que nous avons défini en amont.
Et grâce à cette configuration, j’ai bien mes coordonnées géographiques après un filtre sur les données obtenues.
Cool, n’est-ce pas ?
Et sur une carte, cela donne quoi ?
Comme on a pu le voir, Alteryx permet de gérer de l’information spatiale venant d’une application extérieure et de la représenter cartographiquement.
J’espère que cette technique vous a ouverte de nouvelles pistes et que vous aurez plaisir à la réutiliser.
Vous trouverez en téléchargement ICI le workflow que j’ai utilisé pour ce géocodage. La prochaine fois, nous parlerons du monde merveilleux des macros et de l’intégration de notre géocodeur sous forme de batch.
A bientôt !
Jean-Baptiste
Bonjour Jean-Baptiste,
J’ai un soucis à l’utilisation du module.
Dans ton exemple, l’appel de l’URL via le Download Data me renvoi un JSON avec un message d’erreur : « Sorry, you are not currently allowed to request http://api-adresse.data.gouv.fr/search/? from this cache until you have authenticated yourself. »
Lorsque je copie/colle l’URL construite par Alteryx dans mon navigateur, j’obtiens bien les coordonnées attendues dans le flux JSON retourné.
Je pense que le Proxy de mon boulot est en cause.
Le fait de renseigner mon login/pwd dans l’onglet Connexion du Download Manage n’y change rien.
Connais un moyen de remédier au problème ?
Salut Julien,
Je te remercie pour ton commentaire.
Tu ne peux pas configurer les paramètre du proxi si celui ci est bloqué à ton boulot et configuré via un script.
Alteryx ne permet pas de fonctionner dans ce type d’environnement. Il est nécessaire que le proxi soit configuré manuellement pour entrer les différents paramètres dans le download tool.
Une possibilité de contournement est d’utiliser un autre intermédiaire tel que CURL comme décrit ci-contre: https://community.alteryx.com/t5/Data-Sources/Download-Tool-with-authentication-unexpected-POST-without/td-p/8918
Dans ce cas, tu ne pourras donc plus passer par un Download tool mais par un outil Run command.
Merci Jean-Baptiste pour cette réponse rapide et complète.
Je confirme que mon Proxy est bien en cause, depuis mon domicile le module marche parfaitement !
Belle utilisation du Download Data et du Parsing de JSON
P.S : Pour info, le module téléchargé utilise un fond de carte « CloudMade » qui n’est pas installé par défaut sur Alteryx 11.5.
Bonjour,
Attention aux CGU, il y a une sorte de fair-use pour ce type de service, en suivant votre exemple on pourrait être tenté de faire du géocodage sur une volumétrie plus important.
Pour le géocodage de masse il faut privilégier l’accès en POST avec le CSV.
Bientôt la démo 🙂 ?