forked from Olav63/outils_OSM
76 lines
3.2 KiB
Markdown
76 lines
3.2 KiB
Markdown
# RDOO
|
|
|
|
Récupération de Données OSM via Overpass
|
|
|
|
## Prérequis
|
|
`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`.
|
|
|
|
### 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
|
|
Les fichiers json générés peuvent être directements utilisés dans [umap](https://umap.openstreetmap.fr/fr/) en les [important](https://wiki.openstreetmap.org/wiki/FR:UMap/Guide/Importer_un_fichier_de_donn%C3%A9es) et choisissant le format de données `osm`.
|
|
|
|
Si vous disposez d'un serveur pour héberger le script ou ses résultats, le lien du fichier peut être utilisé directement dans umap comme `données distantes` d'un calque, en cochant `dynamique` et `avec proxy`.
|
|
|
|
## 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.
|