Merci pour vos réponses.
Je comprends bien l'approche sémantique qui est un objectif à terme,
mais jusqu'à présent c'est au delà de mes compétences. Il faut que je
l'ajoute à la liste que ce soit explicite.
Pour les map feature, pour moi c'est une liste un peu trop variable.
L'avantage de nominatim est de capitaliser sur des mots clefs simples et
les capacités de traduction du wiki (utilisant translatewiki).
Tout est disponible sur github : https://github.com/Jibec/osm-diff-to-text
Je reviens ici quand j'aurai avancé
Le 23/10/2015 21:12, Pierre Béland a écrit :
Bonjour Jean-Baptiste,
J'expliquais dans un message précédent mon approche sémantique, où je
vérifie si on peut retrouver une clé principale pour chacun des objets.
Pour identifier les clés principales, j'utilise la page wiki
http://wiki.openstreetmap.org/wiki/Map_Features.
En comparaison, je constate que la page wiki nominatim ne contient pas
les clés principales suivantes :
aerialway, barrier, craft, geological, man_made, military, office,
power, public_transport, route.
Tu trouveras dans la page Map_Features les combinaisons clés/valeurs
les plus communes dans OSM.
Tu pourrais ajouter l'ID de l'objet dans la description avec hyperlien
pour faciliter l'accès aux données.
L'intégration des relations est sûrement un défi supplémentaires
puisque les clés peuvent à la fois se retrouver sur les relations et
les chemins. La hiérarchie est aussi plus complexe
- Relation - Relation - Chemin : Exemple un réseau de routes.
- Relation - Chemins - pour un immeuble je retrouve parfois absence
d'attribut sur relation et les attributs sur le chemin qui représente
le rôle extérieur.
Pour tes test, voici des ID d'objets au Népal Planet OSM 2015-06-07 où
je n'ai retrouvé aucune clé pour les classifier
relations : 3303727 3634750, 3694503, 4190153, 4262671
chemins : 111823092, 111956429, 111956450, 111956464
Situations où je n'ai pû identifer une combinaison valide clé
principale /valeur
ou encore qui ne contient qu'une clé secondaire
- Relation 1996866, 4030020, 5199640, 5249777
- Chemin 316181555, 316187390, 316526625, 327941696, 333417614,
333463633, 338250183, 338849232
Pierre
------------------------------------------------------------------------
*De :* Jean-Baptiste Holcroft <jb.holcr...@gmail.com>
*À :* Discussions sur OSM en français <talk-fr@openstreetmap.org>
*Envoyé le :* Mercredi 21 octobre 2015 17h43
*Objet :* [OSM-talk-fr] Lire un changeset osm - le diff-to-text en
français
Bonjour,
Un jour j'ai eu l'occasion d'aller à Grignan, j'y ai fait quelques
modifications : https://www.openstreetmap.org/changeset/25291159
Vous constaterez que vous aurez beaucoup de mal à comprendre ce que j'ai
changé car l'interface d'osm.org est radine en explications, et pour
cause un diff osm ne contient que les nouveaux objets, difficile dans
ces conditions de décrire les modifications effectuées.
Heureusement, nos amis d'overpass-api ont inventé les diff augmentés,
qui permettent d'avoir le avant/après des modifications :
http://wiki.openstreetmap.org/wiki/Overpass_API/Augmented_Diffs
Quelques geeks en ont fait une version graphique :
http://nrenner.github.io/achavi/?changeset=25291159
Mais comme je trouve toujours cela insatisfaisant, j'ai voulu créer
quelque chose qui me dise en français ce qui a été fait.
J'ai donc créé un script python qui fait ce que je souhaite :
https://framadrop.org/r/3IQRRn1ovM#otLqDnvFm4bGFYigwp3puXTsuhBjuPJexMWBPl2Kv5o=
L'archive est à décompresser et le programme à lancer via "python3
main.py 25291159" (testé sous python 3.4, mais ça devrait marcher sous
toute version de python3).
Normalement cela devrait vous sortir une liste de texte qui indique les
objets qui ont été modifiés :
https://framabin.org/?22db1ce1ab5b330b#hU94j+qwaQxUnoiSLQ8BVkoYsOaK9ug9BfFtY+PVKd8=
Le résultat est encore incomplet (et moche), il faudrait ajouter :
* la gestion des relations (si quelqu'un me passe un ou deux numéros de
changeset je suis preneur)
* la gestion des déplacements d'objets ou d'ajout de points à un way (je
n'ai pas encore trouvé de bonne solution)
* internationaliser le résultat (normalement facile car j'utilise les
listes nominatim)
* ... (liste trop longue)
J'apprends python avec ce petit projet, il manque toute la gestion des
exceptions et certaines choses sont probablement très illogiques.
Je suis intéressés par vos retours, tant sur l'opportunité que sur le
code réalisé.
Mon souhait est de transformer ça en une sortie JSON, puis d'accéder à
plus ou moins de détail selon ce qui nous intéresse. Puis de le publier
en complément de services comme par exemple http://live.openstreetmap.fr/
Cordialement,
--
Jean-Baptiste Holcroft
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org <mailto:Talk-fr@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/talk-fr
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr
--
Jean-Baptiste Holcroft
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr