Transcript
Page 1: OpenStreetMap Realtime Check

OpenStreetMap Realtime Check

Rodolphe Quiédeville

State of The Map France 2014

5 avril 2014

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 1 / 32

Page 2: OpenStreetMap Realtime Check

Contexte

projet de routing basé sur OSRMécriture de profils type poids lourdsset de clé limitéhauteur et poids maximum

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 2 / 32

Page 3: OpenStreetMap Realtime Check

Démarche

corriger des valeurs existantescorrection non exhaustiveaméliorer la qualité des données attributairesactions sur un jeu de clé limitéutilisations maximales des outils existantsdéveloppement court (POC)

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 3 / 32

Page 4: OpenStreetMap Realtime Check

Outils associésWiki / Features

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 4 / 32

Page 5: OpenStreetMap Realtime Check

Outils associéshttp://taginfo.openstreetmap.org

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 5 / 32

Page 6: OpenStreetMap Realtime Check

Outils associés

Un éditeur pour effectuer les correctionsJOSMPotlatchiD...

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 6 / 32

Page 7: OpenStreetMap Realtime Check

Fonctionnement

basé sur les minutely diffeffectif sur tous les types d’objetsscripts pythontourne dans un croninterface email

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 7 / 32

Page 8: OpenStreetMap Realtime Check

Emails reçus

ExampleDate: Thu 03 Apr 2014 11:15:09 CESTMaildir: /INBOX

KO way 172074754 maxweight wrong format 7,5http://www.openstreetmap.org/way/172074754

KO way 4633126 maxheight wrong format 4.6|5.2|4.6http://www.openstreetmap.org/way/4633126

ways 172074754,4633126http://127.0.0.1:8111/load_object?objects=w172074754,w172074754&new_layer=true[2]

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 8 / 32

Page 9: OpenStreetMap Realtime Check

Les contrôles actuels

existence de la clé, dictionnaire de max*syntaxe des valeurs de maxweightsyntaxe des valeurs de maxheight

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 9 / 32

Page 10: OpenStreetMap Realtime Check

Exemple du maxweight

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 10 / 32

Page 11: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 t

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 11 / 32

Page 12: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5t

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 12 / 32

Page 13: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tons

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 13 / 32

Page 14: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tons

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 14 / 32

Page 15: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnes

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 15 / 32

Page 16: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnesmaxweight=3,5 tonnes

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 16 / 32

Page 17: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnesmaxweight=3,5 tonnesmaxweight=3500Kg

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 17 / 32

Page 18: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnesmaxweight=3,5 tonnesmaxweight=3500Kgmaxweight=3500

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 18 / 32

Page 19: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnesmaxweight=3,5 tonnesmaxweight=3500Kgmaxweight=3500maxweight=3.5

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 19 / 32

Page 20: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnesmaxweight=3,5 tonnesmaxweight=3500Kgmaxweight=3500maxweight=3.5maxweight=3,5

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 20 / 32

Page 21: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnesmaxweight=3,5 tonnesmaxweight=3500Kgmaxweight=3500maxweight=3.5maxweight=3,5

Un grand nombre de possibilités pour combien de valides ?

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 21 / 32

Page 22: OpenStreetMap Realtime Check

Exemple du maxweightmaxweight=3.5 tmaxweight=3.5tmaxweight=3.5 tonsmaxweight=3.5tonsmaxweight=3.5 tonnesmaxweight=3,5 tonnesmaxweight=3500Kgmaxweight=3500maxweight=3.5maxweight=3,5

Le contexte importe !

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 22 / 32

Page 23: OpenStreetMap Realtime Check

Pourquoi corriger ?

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 23 / 32

Page 24: OpenStreetMap Realtime Check

Pourquoi corriger ?

Les données ne sont pas lues que par des humainsRodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 24 / 32

Page 25: OpenStreetMap Realtime Check

OSRM

Lecture des valeurs dans OSRM, exemple du maxspeedlocal function parse_maxspeed(source)

if source == nil thenreturn 0

endlocal n = tonumber(source:match("%d*"))if n == nil then

n = 0endif string.match(source, "mph") or string.match(source, "mp/h") then

n = (n*1609)/1000;endreturn math.abs(n)

end

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 25 / 32

Page 26: OpenStreetMap Realtime Check

Florilègemaxspweed|208maxtrailerweight|25maxbogieweight|21maxheight_referencelevel|14max_passenger|7maxsped|7maxxspeed|6maxhight|4maxload|4maxspeeed|4max_speed|3maxheigh|1maxhigh|1maxpeed|1maxs1|1maxspeed |1maxspeed_alt_1|1maxspeed_backward|1maxspeed‘|1maxspeedq|1

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 26 / 32

Page 27: OpenStreetMap Realtime Check

Quelques statistiques

Statistiques sur la période du 1er Mars au 1er Avril 2014

555 erreurs, moyenne de 18.5 par jourplus petite journée 2plus grande journée à 108163 mails répartis sur 30 journéesmoyenne de 5.4 emails par jour2 journées sans alertela journée la plus chargée à 13 emails

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 27 / 32

Page 28: OpenStreetMap Realtime Check

Bilan

Ce que j’en retiens après 6 mois d’utilisationmaxweight set de valeurs différentes est passé de 400 à 120 (.fr)peu contraignantaucun conflit d’éditiontraitement différent suivant l’humeur du jour

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 28 / 32

Page 29: OpenStreetMap Realtime Check

Effets secondaires

boucle vertueuse, les corrections apportées sont immédiatementcontrolléesdécouvertes de nouvelle cléecontribution quotidienne à OSM

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 29 / 32

Page 30: OpenStreetMap Realtime Check

Avenir

osmrtcheck est un jeune projet qui doit évoluerdes utilisateursdes contributeursplus grande modularité du codeutiliser les règles Osmose ?API web pour gérer ses abonnementsplus de statistiques fines

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 30 / 32

Page 31: OpenStreetMap Realtime Check

Sources

osmrtcheck est publié en GPLv3https://gitlab.com/rodo/osmrtcheck

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 31 / 32

Page 32: OpenStreetMap Realtime Check

Questions ?

Rodolphe Quiédeville

[email protected]://blog.rodolphe.quiedeville.org/

Document publié sous Licence Creative Commons BY-SA 2.0

Rodolphe Quiédeville (Freelance) OpenStreetMap Realtime Check 5 avril 2014 32 / 32