Albaclarabot
- Mapper since:
- November 17, 2023
- Last map edit:
- October 19, 2025
Bonjour, Sous ce nom d’utilisateur je réalise des importations automatisées dans OSM avec JOSM. Voici la description du projet :
But
Le but de cet import est d’intégrer dans OSM les noms occitans de microtoponymes de 48 communes des Pyrénées béarnaises. Pour cela des extractions d’OpenStreetMap au format XML sont réalisées via OverPasss Turbo pour une dizaine de types de microtoponymes. Puis une comparaison est faite avec un fichier CSV fourni par Lo Congrès (https://locongres.org/fr/), organisme de régulation de la langue, qui fait réaliser ce travail par une toponymiste. Grâce à un programme python, un fichier XML est généré pour les nœuds où le nom occitan ne figurait pas. Il contient tous les tags d’OSM plus le champ name:oc et le champ source :name:ocqui n’y étaient pas. Enfin ces données sont réinjectées via JOSM. Le numéro de version permet de prévenir d’éventuels conflits. Pour l’instant ces imports ne concernent que les nœuds.
Description
La requête Overpass Turbo
- L’area est définie par le n° INSEE des communes et l’admin_level égal à 8.
- Les type de microtoponymes concernés sont les suivants : amenity= fountain, shelter, watering_place, drinking_water historic=ruins mountain_pass natural=peak, saddle, rock, cave_entrance, spring place waterway=waterfall
- Les champs récupérés sont : name, name:fr, name:oc
- La sortie out meta permet de récupérer le numéro de version.
Le fichier de Lo Congrès
Il est structuré comme suit : “Nom”§”Tipe”§”Nom occitan present sus OSM”§”Nom occitan aplear”§”Ligam”§”Comentaris”§”Coordonadas”§”Id OSM”§”Tipe OSM”
Les fichiers python
-
myparameters.py: ce fichier contient tous les paramètres nécessaires à l’exécution du programme
-
myfunctions.py : ce fichier contient toutes les fonctions nécessaires à l’exécution du programme
-
compare.py : effectue la comparaison entre le fichier XML et le fichier CSV
Il lit le fichier OSM ligne à ligne. Tant qu’il ne rencontre pas une balise node, il ignore la ligne.
Quand il rencontre une balise node, il récupère son ID, sa latitude, sa longitude et tous son contenu dans dans la liste lines_node.
Si cet ID n’existe pas dans le fichier de Lo Congrès, il stocke l’ID dans la liste notincongres,
sinon si on a la position du nœud dans OSM, il vérifie la position,
si elle est différente il stocke dans la liste coorddiff l’ID et les positions ,
sinon il récupère le contenu de tous les tags OSM dans le dictionnaire tagOSM avec l’ID comme clé.
Si le tag name_oc existe il le compare avec celui du Congrès et s’il est différent, il stocke dans la liste liste namediff l’ID et les deux noms,
sinon il rajoute 2 tags :
k=’name:oc’ v=name_oc
k=’source:name:oc’ v=’Lo Congrès’
Il ajoute à la balise node action = ‘modify’ puis il envoie dans le fichier XML de sortie toutes lignes concernant le nœud.
A la fin du programme, il affiche à l’écran le contenu de coorddiff, namediff et notincongres.
L’importation
Elle se fait via JOSM en importatnt le fichier XML créé.
Le code est consultable à l’adresse suivante :https://gitlab.com/e3596/microtopoosm.