# RDOO Récupération de Données OSM via Overpass ## Prérequis ### Installation de Python - [Windows](docs/python‍‍_windows.md). - Linux : c’est installé sur les distributions. ### Installation des dépendances `pip3 install requests` `pip3 install pyexcel-ods3` ## But Ce script sert à récupérer (en JSON et tableau ods) les infos de stationnement vélo, d'ateliers, d'associations, vendeurs, réparateurs et fabricants de vélo. Il appelle Overpass par des requêtes successives et récupère les tags des objets OSM. Un géocodage inverse permet de transformer latitude et longitude en adresses. ## Options ### Zone géographique `-z, --zone`, définit la zone cible du script, par défaut le Puy-de-Dôme. L'identifiant des objets s'obtient depuis la carte openstreetmap.org : - clic-droit dans la zone concernée - interroger les objets - choisir la relation dans les « Objets englobants » - noter l'ID Examples : - Puy de Dôme : 7406 - Clermont : 110866 ### Géocodage inverse `-gi, --geocoding-inverse`, activer le géocodage inverse (valeur par défaut) `-ngi, --no-geocoding-inverse`, désactiver le géocodage inverse ### Log `-l, --log-level`, choisir le niveau de log (INFO par défaut) ### Dossiers de résultats et d'archivage `-r, --dossier-resultats`, pour indiquer le dossier d'enregistrement des JSON et ods (par défaut `resultats/`) `-a, --dossier-archive`, pour indiquer le dossier d'archivage des JSON et ods (par défaut `resultats/archives/`). L'archivage crée un sous-dossier daté de la date des fichiers à archiver. Ces chemins sont relatifs à `rdoo.py`, il est possible de passer des chemins absolus comme `/home/user/rdoo/archives/`. Attention à ne pas oublier le `/` final ! Il est possible de ne pas archiver en passant l'argument `-na, --no-archive`. ### Concaténation des tags dans l'export json `-nc, --no-concatenation`, pour ne pas concaténer les tags dans le champ description du json exporté. ### Timeout `-t, --timeout`, pour définir le timeout en secondes de la requêt Overpass (défaut 25s). ## Traductions Les tags peuvent être traduits grâce au fichier `traductions.json` contenant la configuration sous la forme `"clef" : "tableau_de_valeurs"` où la clef est la valeur du tag OSM à traduire et le tableau de valeurs est de la forme `"valeur" : "traduction"`. Le fichier par défaut contient l'exemple de la traduction du tag `"bicycle_parking"`. ## Umap [Utilisation avec Umap](docs/umap.md) ## Requêtes personnalisées [Requêtes personnalisées](docs/requetes_perso.md) ## Inspirations / ressources : ### urls ressources - https://towardsdatascience.com/loading-data-from-openstreetmap-with-python-and-the-overpass-api-513882a27fd0 - https://geo.api.gouv.fr/adresse - https://wiki.cartocite.fr/doku.php?id=umap:10_-_je_valorise_les_donnees_openstreetmap_avec_umap - https://sites-formations.univ-rennes2.fr/mastersigat/Cours/Intro_Overpass.pdf ### usage des tags : - https://taginfo.openstreetmap.org/tags/?key=amenity&value=bicycle_parking#combinations ### exemple URL données pour umap : - https://www.velocite63.fr/velocite63/OSM/stationnements_velos_publics.json penser à cocher "proxy" dans la rubrique "données distantes" du calque ### export ODS : - https://pythonhosted.org/pyexcel-ods/ ## Licence Ce script est placé sous Licence GPL.