mirror of
https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
synced 2025-06-20 09:04:42 +02:00
up osmose post
This commit is contained in:
parent
af309f81a5
commit
341292aa12
1 changed files with 30 additions and 2 deletions
|
@ -88,11 +88,18 @@ https://github.com/osm-fr/osmose-backend/blob/dev/analysers/analyser_merge_charg
|
|||
|
||||
Ce Merger va récupérer les données depuis datagouv, puis convertir les données selon un ensemble de règles en liste blanche.
|
||||
On définit la documentation qui apparaîtra dans le frontend, l'url du fichier open data, la façon dont on détermine les positions des objets, et la correspondance entre les définition des propriétés des objets et les tags OSM.
|
||||
Ces correspondances ont été choisies par la communauté avant d'atterir dans une analyse Osmose.
|
||||
Ces correspondances ont été choisies par la communauté avant d'atterir dans une analyse Osmose. Tous les champs du fichier opendata ne sont pas forcément utilisés, certains n'ont pas de tag, certains identifiants n'ont pas de sens en dehors des logiciels persos des producteurs, certains demanderaient de créer des objets séparés, certaines informations doivent être regroupées ou reformatées, certaines sont trop vagues pour être qualifiées correctement, bref c'est festival.
|
||||
|
||||
https://wiki.openstreetmap.org/wiki/France/data.gouv.fr/Bornes_de_Recharge_pour_V%C3%A9hicules_%C3%89lectriques#Tableau_de_correspondance
|
||||
|
||||
Par exemple dans l'analyser on a une ligne de mapping qui dit que l'on prend la valeur de "date_mise_en_service" pour en faire un tag "start_date":
|
||||
L'analyse de l'open data utilise d'ailleurs un csv qui fait suite à un retraitement des données initiales, mis à jour quotidiennement sur datagouv par JungleBus, et vous trouverez ici le détail de l'opération:
|
||||
https://github.com/Jungle-Bus/ref-EU-EVSE
|
||||
|
||||
La conversion que je fais de ce jeu de données dans Wololo est différente et ne regroupe pas les totems en stations.
|
||||
|
||||
Mais revenons à l'analyse.
|
||||
|
||||
Par exemple dans l'Analyser on a une ligne de mapping qui dit que l'on prend la valeur de "date_mise_en_service" pour en faire un tag "start_date", c'est la conversion la plus simple:
|
||||
|
||||
#+BEGIN_SRC python
|
||||
"start_date": "date_mise_en_service",
|
||||
|
@ -104,6 +111,25 @@ Des fonctions lambda sont utilisées pour des conversions un peu plus complexes.
|
|||
"bicycle": lambda fields: "yes" if fields["station_deux_roues"] == "true" else None,
|
||||
#+END_SRC
|
||||
|
||||
On a aussi une conversion pour les items wikidata qui dépendent du nom de l'opérateur:
|
||||
|
||||
#+BEGIN_SRC python
|
||||
# au début de la classe Analyser
|
||||
WIKIDATA_MAP = {
|
||||
"ionity": "Q42717773",
|
||||
"bouygues": "Q3046208",
|
||||
"freshmile": "Q111209120",
|
||||
"lidl": "Q115764851",
|
||||
"Electra": "Q128592938",
|
||||
"TotalEnergies Charging Services": "Q154037",
|
||||
"Last Mile Solutions": "Q109733858",
|
||||
"Izivia": "Q86671322",
|
||||
}
|
||||
# ...... et plus loin dans la définition des mappings, on utilise ce dictionnaire
|
||||
"wikimedia:network": lambda fields: self.WIKIDATA_MAP.get(fields["nom_enseigne"].lower(), None) if fields["nom_enseigne"] != "0" else None,
|
||||
|
||||
#+END_SRC
|
||||
|
||||
|
||||
Ce genre de conversion simple suffit pour la plupart des jeux de données ouverts. Pour des exepples plus complexes vous trouverez des requêtes SQL spatiales dans d'autres analyses, comme par exemple pour les façons de qualifier les attaches des câbles télécom ou électriques sur les pylônes.
|
||||
|
||||
|
@ -119,6 +145,8 @@ docker-compose --project-name essonne run --rm backend ./osmose_run.py --country
|
|||
|
||||
Pour bricoler vos analyses je ne peux que vous conseiller de lire la documentation dans le dossier "doc" du dépot osmose-backend. Le wiki d'OSM est un complément mais beaucoup moins exhaustif.
|
||||
|
||||
Bon amusement!
|
||||
|
||||
- La documentation dans le wiki OSM:
|
||||
https://wiki.openstreetmap.org/wiki/Osmose
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue