SlideShare une entreprise Scribd logo
http://www.openstreetmap.org   http://www.openstreetmap.fr




                 S.O.D.A.
    Smart Osm Difference Analyzer
Julien Thevenon / quicky        SOTMFR – 24 Fevrier 2013 – LYON
SODA




1. Introduction
     • Problématique
     • Outils existants

2. Soda
     •   Buts
     •   Principes
     •   Modules d'analyse
     •   Analyses existantes

3. Perspectives
Introduction




Contexte
●



    ●
        Nombre croissants de contributeurs
    ●
        De plus en plus de données
    ●
        De plus en plus de modifications

Problématique
●



    ●
        Comment “suivre” ce flux de données ?

Concernés
●



    ●
        Contributeurs
    ●
        Consommateurs de données
    ●
        Fournisseurs de données
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
Outils existants



Controle Qualité
●


    ●
        OSM Inspector
          http://tools.geofabrik.de/osmi
    ●
        Keep Right
          http://keepright.ipax.at
    ●
        Osmose
          http://osmose.openstreetmap.fr


Génération d'animations
●


    ●
        Osm-history tools
          https://github.com/MaZderMind/osm-history-splitter

                                           http://wiki.openstreetmap.org/wiki/Quality_assurance
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 d'analyse dans le passé

Solution
●


     ➢
         Développer une autre approche
SODA




SODA
Introduction



●
    But
     ●
          Permettre d'analyser les modifications d'OSM
           ●
             En live ou à posteriori
           • Analyses simples ou avancées
           ●
             Analyses personnalisables

Cahier des charges
●



     ●
          Déploiement simple et rapide
     ●
          Configuration requise raisonnable
     ●
          Multi-plateforme
     ●
          Utilisation “simple”
     ●
          Fournir un framework aux développeurs
Applications possibles



Pour les utilisateurs
●



    ●
        Suivi thématique
    ●
        Génération d'alertes
    ●
        Bilan d'une cartopartie
    ●
        Surveillance de données sensibles
    ●
        Suivi d'import
    ●
        Détection de vandalisme
    ●
        Analyses statistiques
    ●
        Synchronisation avec des données externes

Pour les développeurs
●



    ●
        Faciliter l'écriture d'analyses spécifiques via des services génériques
Solution retenue


➢
    Programme basé sur l'analyse des diffs OSM
●
    Avantages                              ●
                                               Inconvénients
      ●
          Service de base d'OSM                  ●
                                                      Peu pratique pour les
      ●
          Granularité variable                        suppressions
           ➢
               Minute, heures, jours             ●
                                                      Pas d'historique 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
Architecture



Programme exécutable
●



    ●
        Capable de charger des bibliotheques de modules d'analyse
    ●
        Fournit des services génériques
         ●
           Lecture des diffs, des fichiers OSM
         • Accès à l'API
         • Cache de données
         • Génération d'URL
         ●
           Communication Interface Utilisateur ↔ modules

Bibliotheques binaires
●



    ●
        Modules d'analyses spécifiques
    ●
        Utilisent les services génériques
    ●
        Génèrent des sorties
         ➢
           Rapport HTML, Widget graphique, messages IRC...
Configuration



Via l'interface 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
Interface




Graphique
●


    ●
        Gestion de configuration
    ●
        Démarrage/arrêt de l analyse
    ●
        Rapports des modules
         ➢
             Format HTML

En ligne de commande
●


    ●
        Fichier configuration
    ●
        Rapports des modules dans des
        fichiers
Principe de fonctionnement



                 Sax
                 Diff
Diff OSM        parser



                 DOM
                 Diff
                parser




OSM API
                    API
                  interne




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax
                 Diff
Diff OSM        parser



                 DOM
                 Diff
                parser




OSM API
                    API
                  interne




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse



OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse

                               Module de
                               Conversion
OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse

                               Module de
                               Conversion
OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse

                               Module de
                               Conversion
OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse

                               Module de
                               Conversion
OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse

                               Module de
                               Conversion
OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse

                               Module de
                               Conversion
OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                           Module
                 Diff                             d
Diff OSM        parser                         analyse



                 DOM
                 Diff                          Module
                parser                            d
                                               analyse

                               Module de
                               Conversion
OSM API                                        Module
                    API                           d
                  interne                      analyse




                  Cache        Librairies de
Configuration      local         modules
Principe de fonctionnement



                 Sax                              Module
                 Diff                                d
Diff OSM        parser                            analyse



                 DOM
                 Diff                             Module
                parser                               d
                                                  analyse

                               Module de
                               Conversion
OSM API                                           Module
                    API                              d
                  interne                         analyse




                  Cache        Librairies de   Base de donnée
Configuration      local         modules           Module
Principe de fonctionnement



                 Sax                              Module
                 Diff                                d
Diff OSM        parser                            analyse
                                                                Sorties des
                                                                 modules

                 DOM
                 Diff                             Module
                parser                               d
                                                  analyse

                               Module de
                               Conversion
OSM API                                           Module
                    API                              d
                  interne                         analyse




                  Cache        Librairies de   Base de donnée
Configuration      local         modules           Module
Principe de fonctionnement



                 Sax                              Module
                 Diff                                d
Diff OSM        parser                            analyse
                                                                Sorties des
                                                                 modules

                 DOM
                 Diff                             Module
                parser                               d
                                                  analyse

                               Module de
                               Conversion
OSM API                                           Module
                    API                              d
                  interne                         analyse




                  Cache        Librairies de   Base de donnée
Configuration      local         modules           Module
Architecture d'un module



 Chargement librarie




                                            Sorties du module
    Données Diff
                        Module d'analyse


      Données

Requêtes aux services




                         Base de donnée
                             Module
Architecture d'un module



 Chargement librarie
                           API
                        Librairie


                                                        Sorties du module
    Données Diff
                          API        Module d'analyse
                        Donnée


      Données
                          API
Requêtes aux services   Service




                                    Base de donnée
                                        Module
Architecture d'un module



    Chargement librarie
                              API
                           Librairie


                                                          Sorties du module
       Données Diff
                             API
                           Donnee


         Données
                             API
   Requêtes aux services   Service




Code fourni au developpeur
                                       Base de donnée
                                           Module
Architecture d'un module



    Chargement librarie
                              API
                           Librairie


                                                             Sorties du module
       Données Diff
                             API
                           Donnée


         Données
                             API
   Requêtes aux services   Service




Code fourni au développeur                              Code à développer
                                       Base de donnée
                                           Module
API Donnees




Defini 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émoire

A venir
●



    ●
        SAX/CPP
         ➢
             Accès complet dédié OSM, peu gourmand en mémoire
    ●
        API plus haut niveau
         ➢
             Diff amélioré
Modules d'analyse



Détection de nouveaux utilisateurs
●



    ●
        Inscription datant de moins d'un mois
    ➢
        Rapport HTML
Modules d'analyse



Détection de nouveaux utilisateurs
●


    ●
        API Sax
        Réception des données


    Demande date d'inscription


            Comparaison


    Demande URL contributeur


           Ajout au rapport
Modules d'analyse



Statistiques 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
Modules d'analyse



Suivi des modifications sur les objets créés ou
●


 modifiés par un utilisateur
    ●
        Nom d'utilisateur 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
Modules d'analyse



Dé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
Modules d'analyse



Récuperation de toutes les données teintées
●


 par un utilisateur
    ●
        Nom d'utilisateur paramétrable
    ●
        Recherche à partir de tous les changesets
        utilisateurs
    ●
        Utilisé pour CEDRIC007
    ➢
        Fichiers .osm distinguant les données
        créés/modifiées/supprimées
Modules d'analyse



En 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
Installation




Windows
●


    ●
        Rapide
         ➢
             Téléchargement des binaires
    ●
        Développeur
         ➢
             Installation de MinGW, QT
         ➢
             Téléchargement des sources
         ➢
             Compilation

Linux
●


    ●
        Installation des paquets nécessaires à la compilation
    ●
        Téléchargement des sources
    ●
        Compilation
Perspectives



Développer d'autres analyses
●



Améliorer l'interface
●



Ajouter des services
●



Améliorer le cache
●



Support du multi-coeur
●



GUI de modules personnalisées
●



Documenter
●
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
SODA – Smart Osm Diff Analyzer



Merci de votre attention




    A vos analyses!
Principe de fonctionnement



                 Sax                              Module
                 Diff                                d
Diff OSM        parser                            analyse
                                                                Sorties des
                                                                 modules

                 DOM
                 Diff                             Module
                parser                               d
                                                  analyse

                               Module de
                               Conversion
OSM API                                           Module
                    API                              d
                  interne                         analyse




                  Cache        Librairies de   Base de donnee
Configuration      local         modules           Module

Contenu connexe

Similaire à Soda sotm fr-2013_02_24

La cartographie Libre avec OpenStreetMap
La cartographie Libre avec OpenStreetMapLa cartographie Libre avec OpenStreetMap
La cartographie Libre avec OpenStreetMap
Florian Lainez
 
Sonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneSonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de Lausanne
Freddy Mallet
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
Loïc Descotte
 
Presentation osm
Presentation osmPresentation osm
Presentation osm
epidrome
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
jwajsberg
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Normandy JUG
 
ParisfxLab - Artforge, by HD3D
ParisfxLab - Artforge, by HD3DParisfxLab - Artforge, by HD3D
ParisfxLab - Artforge, by HD3D
François Hanat
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
Boubker ABERWAG
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011
OSInet
 
Découvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référenceDécouvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référence
LINAGORA
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
fredcons
 
L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés
LINAGORA
 
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGConférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Zenika
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
Ombotimbe Salifou
 
Geotrek
GeotrekGeotrek
Geotrek
Makina Corpus
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
Michel-Marie Maudet
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAP
Clément OUDOT
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
Ippon
 

Similaire à Soda sotm fr-2013_02_24 (20)

La cartographie Libre avec OpenStreetMap
La cartographie Libre avec OpenStreetMapLa cartographie Libre avec OpenStreetMap
La cartographie Libre avec OpenStreetMap
 
Hello xcode 4 v2
Hello xcode 4 v2Hello xcode 4 v2
Hello xcode 4 v2
 
Hello Xcode 4 v2
Hello Xcode 4 v2Hello Xcode 4 v2
Hello Xcode 4 v2
 
Sonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneSonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de Lausanne
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Presentation osm
Presentation osmPresentation osm
Presentation osm
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
 
ParisfxLab - Artforge, by HD3D
ParisfxLab - Artforge, by HD3DParisfxLab - Artforge, by HD3D
ParisfxLab - Artforge, by HD3D
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011
 
Découvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référenceDécouvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référence
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés
 
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGConférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
Geotrek
GeotrekGeotrek
Geotrek
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAP
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 

Soda sotm fr-2013_02_24

  • 1. http://www.openstreetmap.org http://www.openstreetmap.fr S.O.D.A. Smart Osm Difference Analyzer Julien Thevenon / quicky SOTMFR – 24 Fevrier 2013 – LYON
  • 2. SODA 1. Introduction • Problématique • Outils existants 2. Soda • Buts • Principes • Modules d'analyse • Analyses existantes 3. Perspectives
  • 3. Introduction Contexte ● ● Nombre croissants de contributeurs ● De plus en plus de données ● De plus en plus de modifications Problématique ● ● Comment “suivre” ce flux de données ? Concernés ● ● Contributeurs ● Consommateurs de données ● Fournisseurs de données
  • 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. Outils existants Controle Qualité ● ● OSM Inspector http://tools.geofabrik.de/osmi ● Keep Right http://keepright.ipax.at ● Osmose http://osmose.openstreetmap.fr Génération d'animations ● ● Osm-history tools https://github.com/MaZderMind/osm-history-splitter http://wiki.openstreetmap.org/wiki/Quality_assurance
  • 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 d'analyse dans le passé Solution ● ➢ Développer une autre approche
  • 8. Introduction ● But ● Permettre d'analyser les modifications d'OSM ● En live ou à posteriori • Analyses simples ou avancées ● Analyses personnalisables Cahier des charges ● ● Déploiement simple et rapide ● Configuration requise raisonnable ● Multi-plateforme ● Utilisation “simple” ● Fournir un framework aux développeurs
  • 9. Applications possibles Pour les utilisateurs ● ● Suivi thématique ● Génération d'alertes ● Bilan d'une cartopartie ● Surveillance de données sensibles ● Suivi d'import ● Détection de vandalisme ● Analyses statistiques ● Synchronisation avec des données externes Pour les développeurs ● ● Faciliter l'écriture d'analyses spécifiques via des services génériques
  • 10. Solution retenue ➢ Programme basé sur l'analyse des diffs OSM ● Avantages ● Inconvénients ● Service de base d'OSM ● Peu pratique pour les ● Granularité variable suppressions ➢ Minute, heures, jours ● Pas d'historique 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. Architecture Programme exécutable ● ● Capable de charger des bibliotheques de modules d'analyse ● Fournit des services génériques ● Lecture des diffs, des fichiers OSM • Accès à l'API • Cache de données • Génération d'URL ● Communication Interface Utilisateur ↔ modules Bibliotheques binaires ● ● Modules d'analyses spécifiques ● Utilisent les services génériques ● Génèrent des sorties ➢ Rapport HTML, Widget graphique, messages IRC...
  • 12. Configuration Via l'interface 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. Interface Graphique ● ● Gestion de configuration ● Démarrage/arrêt de l analyse ● Rapports des modules ➢ Format HTML En ligne de commande ● ● Fichier configuration ● Rapports des modules dans des fichiers
  • 14. Principe de fonctionnement Sax Diff Diff OSM parser DOM Diff parser OSM API API interne Cache Librairies de Configuration local modules
  • 15. Principe de fonctionnement Sax Diff Diff OSM parser DOM Diff parser OSM API API interne Cache Librairies de Configuration local modules
  • 16. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 17. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 18. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 19. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 20. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 21. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 22. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 23. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Configuration local modules
  • 24. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Base de donnée Configuration local modules Module
  • 25. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse Sorties des modules DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Base de donnée Configuration local modules Module
  • 26. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse Sorties des modules DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Base de donnée Configuration local modules Module
  • 27. Architecture d'un module Chargement librarie Sorties du module Données Diff Module d'analyse Données Requêtes aux services Base de donnée Module
  • 28. Architecture d'un module Chargement librarie API Librairie Sorties du module Données Diff API Module d'analyse Donnée Données API Requêtes aux services Service Base de donnée Module
  • 29. Architecture d'un module Chargement librarie API Librairie Sorties du module Données Diff API Donnee Données API Requêtes aux services Service Code fourni au developpeur Base de donnée Module
  • 30. Architecture d'un module Chargement librarie API Librairie Sorties du module Données Diff API Donnée Données API Requêtes aux services Service Code fourni au développeur Code à développer Base de donnée Module
  • 31. API Donnees Defini 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émoire A venir ● ● SAX/CPP ➢ Accès complet dédié OSM, peu gourmand en mémoire ● API plus haut niveau ➢ Diff amélioré
  • 32. Modules d'analyse Détection de nouveaux utilisateurs ● ● Inscription datant de moins d'un mois ➢ Rapport HTML
  • 33. Modules d'analyse Détection de nouveaux utilisateurs ● ● API Sax Réception des données Demande date d'inscription Comparaison Demande URL contributeur Ajout au rapport
  • 34. Modules d'analyse Statistiques 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. Modules d'analyse Suivi des modifications sur les objets créés ou ● modifiés par un utilisateur ● Nom d'utilisateur 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. Modules d'analyse Dé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. Modules d'analyse Récuperation de toutes les données teintées ● par un utilisateur ● Nom d'utilisateur 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. Modules d'analyse En 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. Installation Windows ● ● Rapide ➢ Téléchargement des binaires ● Développeur ➢ Installation de MinGW, QT ➢ Téléchargement des sources ➢ Compilation Linux ● ● Installation des paquets nécessaires à la compilation ● Téléchargement des sources ● Compilation
  • 40. Perspectives Développer d'autres analyses ● Améliorer l'interface ● Ajouter des services ● Améliorer le cache ● Support du multi-coeur ● GUI de modules personnalisées ● Documenter ●
  • 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. SODA – Smart Osm Diff Analyzer Merci de votre attention A vos analyses!
  • 43. Principe de fonctionnement Sax Module Diff d Diff OSM parser analyse Sorties des modules DOM Diff Module parser d analyse Module de Conversion OSM API Module API d interne analyse Cache Librairies de Base de donnee Configuration local modules Module