Soda sotm fr-2013_02_24

415 vues

Publié le

Presentation de SODA ( Smart Osm Diff Analyzer ) lors du SOTMFR le 24 Fevrier 2013.
L outil est telechargeable ici : http://thevenon.julien.free.fr/soda/download/

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
415
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Soda sotm fr-2013_02_24

  1. 1. http://www.openstreetmap.org http://www.openstreetmap.fr S.O.D.A. Smart Osm Difference AnalyzerJulien Thevenon / quicky SOTMFR – 24 Fevrier 2013 – LYON
  2. 2. SODA1. Introduction • Problématique • Outils existants2. Soda • Buts • Principes • Modules danalyse • Analyses existantes3. Perspectives
  3. 3. IntroductionContexte● ● Nombre croissants de contributeurs ● De plus en plus de données ● De plus en plus de modificationsProblématique● ● Comment “suivre” ce flux de données ?Concernés● ● Contributeurs ● Consommateurs de données ● Fournisseurs de données
  4. 4. Outils existants● Suivi des attributs ● TAG Info http://taginfo.osm.org ● OSM Watch http://osm102.openstreetmap.fr/~zorglub/watch/● Suivi des modifications ● OSM Mapper http://www.itoworld.com ● OSM Watch list http://owl.apis.dev.openstreetmap.org/ ● Live OSM-Fr http://live.openstreetmap.fr/ http://wiki.openstreetmap.org/wiki/Quality_assurance
  5. 5. Outils existantsControle Qualité● ● OSM Inspector http://tools.geofabrik.de/osmi ● Keep Right http://keepright.ipax.at ● Osmose http://osmose.openstreetmap.frGénération danimations● ● Osm-history tools https://github.com/MaZderMind/osm-history-splitter http://wiki.openstreetmap.org/wiki/Quality_assurance
  6. 6. Outils existants● Inconvénients ● Soit spécialisés soit généralistes mais “basiques” ● Peu personnalisables ● En ligne ou lourds et complexes à mettre en oeuvre ● Peu danalyse dans le passéSolution● ➢ Développer une autre approche
  7. 7. SODASODA
  8. 8. Introduction● But ● Permettre danalyser les modifications dOSM ● En live ou à posteriori • Analyses simples ou avancées ● Analyses personnalisablesCahier des charges● ● Déploiement simple et rapide ● Configuration requise raisonnable ● Multi-plateforme ● Utilisation “simple” ● Fournir un framework aux développeurs
  9. 9. Applications possiblesPour les utilisateurs● ● Suivi thématique ● Génération dalertes ● Bilan dune cartopartie ● Surveillance de données sensibles ● Suivi dimport ● Détection de vandalisme ● Analyses statistiques ● Synchronisation avec des données externesPour les développeurs● ● Faciliter lécriture danalyses spécifiques via des services génériques
  10. 10. Solution retenue➢ Programme basé sur lanalyse des diffs OSM● Avantages ● Inconvénients ● Service de base dOSM ● Peu pratique pour les ● Granularité variable suppressions ➢ Minute, heures, jours ● Pas dhistorique complet ➢ Planete, Europe, France ● Fragments de base ● Générées en live ● Historique disponible ● Minutes monde: 27/09/2011 ● Heures monde: 19/11/2009 ● Jours monde: 28/11/2011 http://wiki.openstreetmap.org/wiki/Planet.osm/diffs
  11. 11. ArchitectureProgramme exécutable● ● Capable de charger des bibliotheques de modules danalyse ● Fournit des services génériques ● Lecture des diffs, des fichiers OSM • Accès à lAPI • Cache de données • Génération dURL ● Communication Interface Utilisateur ↔ modulesBibliotheques binaires● ● Modules danalyses spécifiques ● Utilisent les services génériques ● Génèrent des sorties ➢ Rapport HTML, Widget graphique, messages IRC...
  12. 12. ConfigurationVia linterface en mode graphique●Via un fichier XML en mode batch●Contenu● ● Politique de démarrage ● Domaine de réplication ● Emplacement des librairies de modules ● Configuration des modules ● Configuration de proxy ● Sauts entre domaines de réplication
  13. 13. InterfaceGraphique● ● Gestion de configuration ● Démarrage/arrêt de l analyse ● Rapports des modules ➢ Format HTMLEn ligne de commande● ● Fichier configuration ● Rapports des modules dans des fichiers
  14. 14. Principe de fonctionnement Sax DiffDiff OSM parser DOM Diff parserOSM API API interne Cache Librairies de Configuration local modules
  15. 15. Principe de fonctionnement Sax DiffDiff OSM parser DOM Diff parserOSM API API interne Cache Librairies de Configuration local modules
  16. 16. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyseOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  17. 17. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  18. 18. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  19. 19. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  20. 20. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  21. 21. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  22. 22. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  23. 23. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Configuration local modules
  24. 24. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Base de donnée Configuration local modules Module
  25. 25. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse Sorties des modules DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Base de donnée Configuration local modules Module
  26. 26. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse Sorties des modules DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Base de donnée Configuration local modules Module
  27. 27. Architecture dun moduleChargement librarie Sorties du module Données Diff Module danalyse DonnéesRequêtes aux services Base de donnée Module
  28. 28. Architecture dun moduleChargement librarie API Librairie Sorties du module Données Diff API Module danalyse Donnée Données APIRequêtes aux services Service Base de donnée Module
  29. 29. Architecture dun module Chargement librarie API Librairie Sorties du module Données Diff API Donnee Données API Requêtes aux services ServiceCode fourni au developpeur Base de donnée Module
  30. 30. Architecture dun module Chargement librarie API Librairie Sorties du module Données Diff API Donnée Données API Requêtes aux services ServiceCode fourni au développeur Code à développer Base de donnée Module
  31. 31. API DonneesDefini la mise en forme des données Diff● – SAX : API orientée XML ➢ Accès brutes limités, peu gourmand en mémoire – DOM : API orientée XML ➢ Accès brutes complets, gourmand en mémoire – DOM/CPP : API orientée OSM/C++ ➢ Accès complet dédié OSM, gourmand en mémoireA venir● ● SAX/CPP ➢ Accès complet dédié OSM, peu gourmand en mémoire ● API plus haut niveau ➢ Diff amélioré
  32. 32. Modules danalyseDétection de nouveaux utilisateurs● ● Inscription datant de moins dun mois ➢ Rapport HTML
  33. 33. Modules danalyseDétection de nouveaux utilisateurs● ● API Sax Réception des données Demande date dinscription Comparaison Demande URL contributeur Ajout au rapport
  34. 34. Modules danalyseStatistiques sur les clefs de● tag contenant une chaine particuliere ● Chaine paramétrable ● Demande de Black Myst ● Utilisation pour les “projets de la semaine” ➢ Rapport détaillé des modifications ➢ Rapport de synthèse avec statistiques
  35. 35. Modules danalyseSuivi des modifications sur les objets créés ou● modifiés par un utilisateur ● Nom dutilisateur paramétrable ● Initialisation par changeset ou fichier osm ● Prise en compte des nouveaux objets teintés ● Utilisé par Jean Claude Repetto ➢ Rapport détaillé et simplifié des actions effectuées
  36. 36. Modules danalyseDétection des ways réalignés● ● Régression linéaire ● Comparaison avec le version précédente ● Alerte si différence supérieure au seuil paramétré ➢ Rapport avec la forme des deux versions de way sur fond OSM
  37. 37. Modules danalyseRécuperation de toutes les données teintées● par un utilisateur ● Nom dutilisateur paramétrable ● Recherche à partir de tous les changesets utilisateurs ● Utilisé pour CEDRIC007 ➢ Fichiers .osm distinguant les données créés/modifiées/supprimées
  38. 38. Modules danalyseEn projet● ● Détection des cassures de limite administrative ● Détection des imports cadastres brutes ● Détection des suppressions massives ● Détection des sources non autorisées ● Suivi des bornes géodésiques ● Stats sur le temps ecoulé entre chaque contribution
  39. 39. InstallationWindows● ● Rapide ➢ Téléchargement des binaires ● Développeur ➢ Installation de MinGW, QT ➢ Téléchargement des sources ➢ CompilationLinux● ● Installation des paquets nécessaires à la compilation ● Téléchargement des sources ● Compilation
  40. 40. PerspectivesDévelopper dautres analyses●Améliorer linterface●Ajouter des services●Améliorer le cache●Support du multi-coeur●GUI de modules personnalisées●Documenter●
  41. 41. Sources● Présentation sous licence CC-BY-SA● Vous êtes libres de Partager : reproduire, distribuer et communiquer la présentation ● ● Remixer : adapter la présentation ● Utiliser cette présentation à des fins commerciales● À condition de ● Indiquer les auteurs de la présentation ➢ Julien Thevenon ● La partager sous des conditions identiques● Présentation inspirée de ● Florian Lainez ● Frederic Rodrigo Nicolas Moyroud Modèle de présentation sous licence CC-BY-ND http://www.showeet.com
  42. 42. SODA – Smart Osm Diff AnalyzerMerci de votre attention A vos analyses!
  43. 43. Principe de fonctionnement Sax Module Diff dDiff OSM parser analyse Sorties des modules DOM Diff Module parser d analyse Module de ConversionOSM API Module API d interne analyse Cache Librairies de Base de donnee Configuration local modules Module

×