Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Osmose-QA, Qualité et intégration de données

218 views

Published on

Dernières avancées d'Osmose-QA : reprise des analyses pour réduire le temps de traitement et passage à Docker pour faciliter les contributions au projet. Mais surtout le nouveau support des MapCSS du validateur JOSM pour mettre en place un framework de validation commun. Osmose prend désormais en charge les règles de validation MapCSS de JOSM et les règles Osmose-QA peuvent également être en partie écrites en MapCSS pour être utilisé dans JOSM.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Osmose-QA, Qualité et intégration de données

  1. 1. Osmose-QA Qualité et intégration de données SotM-FR Bordeaux 2018-06-03 Frédéric Rodrigo – fred.rodrigo@gmail.com - CC-By-SA 3.0 @fre2d@twitter.com - @fre2d@unixcorn.xyz
  2. 2. Osmose-QA ? OSM Contributeur Osmose Backend Osmose Frontend OpenData
  3. 3. Nouvelles analyses ● Voies proches avec noms similaires 5080 – Rue Paul Lavavé – Rue Paul Lacavé ● Accès à la voie ne correspondant pas à la relation route=bicycle/foot/hiking 3240 – Relation : route=bicycle – Way : highway=footway ● Validation numéros de téléphone (par Francois Gouget) 3092 – “0” en trop après le préfixe international “+” et le code pays – Préfixe international “+” et code pays manquants – Un numéro court national ne peut pas être internationalisé ● Doublon de référence à Wikipédia 4130
  4. 4. Analyses Transport Public ● Par Noémie Lehuby & Pascal Rhod – 5 Contrôles de géométries 1260 – 16 Contrôles des tags 2140 9014
  5. 5. OpenData ● power=generator (RTE) power=substation (RTE) power=substation substation=minor_distribution (Enedis) power=tower (RTE) ● maxheight=* (Route500, Dep. Hauts-de-Seine) ● amenity=toilets par Adrien Pavie (Angers, Bordeaux, Le Havre, Lyon, Montpellier, Nantes, Rennes, Toulouse)
  6. 6. Expérimentations / Mapillary ● Panneaux de signalisations de Mapillary 8300 – Obtenu que de petits extracts – Usage discutable
  7. 7. Expérimentations / SIRENE ● Mapping code APE → tags ● Test sur le Vaucluse 8310 – Filtrer les types de métiers – Des noms de personnes – Des noms qui ne correspondent pas au nom du commerce → Test peu conclusif, à poursuivre
  8. 8. Moteur d’analyses ● Timestamp : depuis les données et non à la date d’exécution ● Factorisation de tables thématiques, building, highway... ● Début de support de Python3 ● Support des fichiers GTFS et GeoJson (par Adrien Pavie)
  9. 9. MapCSS ● CSS-like pour styler les cartes (JOSM, Maps.me, Overpass turbo…) way[highway=tertiary] { # Sélecteur width: 2; # Style color: orange; }
  10. 10. Validation avec MapCSS way[highway=road] { throwWarning: tr("Unspecific highway type"); assertMatch: "way highway=road"; assertNoMatch: "way highway=residential"; } *[direction][direction<0], *[direction][direction>=360] { throwWarning: tr("unusual value of {0}", "{1.key}"); assertMatch: "node direction=-10"; assertNoMatch: "node direction=0"; } node[tag("amenity") = parent_tag("amenity")] *[amenity][amenity != parking] {∈ throwWarning: tr("{0} inside {1}", concat("amenity=", tag("amenity")), concat("amenity=", tag("amenity"))); }
  11. 11. MapCSS & Osmose ● MapCSS ● Grammaire ANTLR4 ● Arbre syntaxique ● Transformateur d’arbre ● Générateur de code Python
  12. 12. Plugin Osmose généré way[highway=road] { throwWarning: tr("Unspecific highway type"); assertMatch: "way highway=road"; assertNoMatch: "way highway=residential"; } if u'highway' in keys: try: match = match or ((mapcss._tag_capture(capture_tags, 0, tags, u'highway') == mapcss._value_capture(capture_tags, 0, u'road'))) except mapcss.RuleAbort: pass if match: err.append({'class': 9004004, 'subclass': 1856552890, 'text': mapcss.tr(u'Unspecific highway type', capture_tags)})
  13. 13. JOSM→ OSMOSE → JOSM ● 130 nouvelles validations dans Osmose ● Filtrer les règles adaptées à Osmose ● Dédoublonner les règles entre JOSM/Osmose ● Convertir les règles Osmose en MapCSS ● Proposer dans JOSM des règles Osmose
  14. 14. Frontend ● Ajout de l’export en CSV ● Amélioration des performances (après ajout MapCSS) ● Nouveau serveur ● Popup responsive ● Boostrap pour css ● Utilisation de npm & webpack
  15. 15. Docker ● Backend & Frontend ● Docker-compose ● Tester plus facilement une analyse →Faciliter la contribution
  16. 16. Du neuf en 1 an ● +8 Contributeurs – PanierAvide – Noémie Lehuby – Stephan – Gautier Pelloux-Prayer – Daniele Venzano – Pascal Rhod – Francois Gouget – Niels Elgaard Larsen ● +500 000 Signalements (mapcss) ● 24 Langues 82 traducteurs
  17. 17. ● Osmose ● MapCSS

×