Intégration de données Acquérir et intégrer des données géographiques L’intégration de données géographiques Schéma + specifs source Numérisation OUTILS SIG BDG Données numériques Intégration BDG’ OUTILS SIG 61 Acquérir et intégrer des données géographiques L’intégration de données géographiques Schéma + specifs source Numérisation BDG Données numériques Intégration BDG’ OUTILS SIG OUTILS SIG Un schéma logique de Saisie Se conformer au nouveau schéma Respecter les règles de cohérence Acquérir et intégrer des données géographiques L’intégration de données géographiques Un espace géographique, des données géographiques…hétérogènes! BDTopo® BDCarto® 62 Acquérir et intégrer des données géographiques L’intégration de données géographiques Un espace géographique, des données géographiques…hétérogènes! BDCarto® BDTopo® Géoroute® Acquérir et intégrer des données géographiques L’intégration de données géographiques Un espace géographique, des données géographiques…hétérogènes! Géoroute® BDCarto® 63 Acquérir et intégrer des données géographiques L’intégration de données géographiques Un espace géographique, des données géographiques…hétérogènes! BDCarto® + BDTopo® BDCarto® + BDTopo® Acquérir et intégrer des données géographiques L’intégration de données géographiques Pourquoi tant de différences? • Différents niveaux de détail • Différents points de vue • Différentes utilisations (visualisation, analyse) • Différentes dates • Différents modes d’acquisition (sources, processus) • Différentes contraintes système • Erreurs de saisie 64 Acquérir et intégrer des données géographiques L’intégration de données géographiques Pourquoi tant de différences? • Différences de structures (informations équivalentes) Langages de modélisation UML, HDBS…. Modélisations de la géométrie différentes Raster / vecteur; avec ou sans multi-géométries… Structurations différentes Regroupements, classes / attributs Informations plus ou moins implicites A travers la géométrie Acquérir et intégrer des données géographiques L’intégration de données géographiques Pourquoi tant de différences? • Différences de système de positionnement (informations équivalentes): Systèmes de référence Systèmes d’altitudes Projections Localisations indirectes (adresses, pk…) •Différences du contenu d’information : Zone couverte Richesse d’information Critères de sélection Niveaux de détail Précisions Implantations géométriques Segmentations 65 Acquérir et intégrer des données géographiques L’intégration de données géographiques Les différences portent sur… • ce qu’on représente : quoi ? • comment on le représente : comment ? Il faut distinguer les… • différences dues aux spécifications : équivalences • différences dues aux erreurs ou aux actualités : incohérences Acquérir et intégrer des données géographiques L’intégration de données géographiques Quels sont les besoins en termes d’intégration de BDG ? Propagation des mises à jour, Détection d’incohérences, Analyses multi-niveaux, Création d’infrastructures de données spatiales (INSPIRE), Recalage, Partage de données avec des partenaires IGN, Requêtes et navigation. 66 Acquérir et intégrer des données géographiques L’intégration de données géographiques Quelles sont les difficultés liées à l’intégration des BDG ? Hétérogénéité = différence dans le contenu, la structure, la présentation de l’information dont ont besoin des applications pour travailler Différents aspects de l’hétérogénéité des données [Sheth et Larson, 1990] [Kashyap et Sheth, 1998] [Bishr, 1998]: Hétérogénéité syntaxique Hétérogénéité schématique Hétérogénéité terminologique Hétérogénéité cognitive Acquérir et intégrer des données géographiques L’intégration de données géographiques Différents aspects de l’hétérogénéité des données: Hétérogénéité syntaxique Format des données: shp, mif/mid, postgis, oracle, etc. 67 Acquérir et intégrer des données géographiques L’intégration de données géographiques Différents aspects de l’hétérogénéité des données: Hétérogénéité schématique Implémentations différentes d’un même schéma conceptuel de données Acquérir et intégrer des données géographiques L’intégration de données géographiques Différents aspects de l’hétérogénéité des données: Hétérogénéité terminologique Différents noms pour désigner un même concept Ex: BDTOPO ® BDCARTO ® 68 Acquérir et intégrer des données géographiques L’intégration de données géographiques Différents aspects de l’hétérogénéité des données: Hétérogénéité cognitive Différentes modélisations pour un même concept Transport d’énergie et de fluides Hydrographie Canalisation Tronçon hydrographique BDTOPO ® Aqueduc BDCARTO ® Acquérir et intégrer des données géographiques L’intégration de données géographiques Différents aspects de l’hétérogénéité des données: Hétérogénéité syntaxique Hétérogénéité schématique Hétérogénéité terminologique Hétérogénéité cognitive Hétérogénéité sémantique 69 Acquérir et intégrer des données géographiques L’intégration de données géographiques Combiner les informations issues de bases indépendantes suppose de résoudre ces types d’hétérogénéité… Acquérir et intégrer des données géographiques L’intégration de données géographiques Le processus global d’intégration des BDG [Sheeren, 2005] Préparation Appariement Intégration Appariement des schémas Intégration des schémas Appariement des données Intégration des données BD1 Étude des schémas, des données et des spécifications BD2 BD1 BD Intégrée BD2 Se fait par analyse des spécifications, des schémas et des données 70 Acquérir et intégrer des données géographiques L’intégration de données géographiques 1. Analyse et préparation des BDG: • Utilisation de formats d’échanges (normes) et d’outils de conversion •Traduction des schémas dans un langage de modélisation commun • Rapprochement des structurations • Explicitation de l’implicite • Transformation des géométries dans une projection commune Acquérir et intégrer des données géographiques L’intégration de données géographiques 2. Appariement des schémas conceptuels de données des BGD: « Quelles classes des deux bases à intégrer représentent un même type d’entité géographique du monde réel? » •Mise en correspondance des éléments du schéma • classes • attributs et valeurs d’attributs • relations • Se fait par analyse : • des schémas • des spécifications • des données 71 Acquérir et intégrer des données géographiques L’intégration de données géographiques Mise en correspondance des classes des deux jeux de données Mise en correspondance des attributs des classes des deux jeux de données 72 BDTOPO® Classe Hydronyme Hydronyme Hydronyme Point d’eau Nature Nature Nature Nature Point d’eau Nature Canalisation Nature Tronçon de laisse Surface d’eau BDCARTO® Attribut Valeur Valeur Baie Baie, golfe, anse, crique, calanque, espace marin divers Banc Banc, haut-fond Glacier Glacier Lac Etang, lac Marais Marais, marécage, saline Marais Marais, tourbière Marais Marais salant Glacier Glacier, Névé Cascade Chute d’eau, cascade remarquable Embouchure Embouchure, estuaire, delta, perte Perte Embouchure, estuaire, delta, perte Point d’eau Source simple, confluent Station de pompage Station de pompage Source Source simple, confluent Source Source d’intérêt touristique Eau Aqueduc, conduite forcée Hautes mers Limite des plus hautes eaux Basses mers Limite des plus basses eaux Surface d’eau Eau libre Bassin Eau libre Nature Nature Attribut Classe Nature Toponyme d’hydrographie surfacique Nature Zone d’occupation du sol Nature Nœud hydrographique Nature Point d’eau isolé Nature Noeud hydrographique Nature Tronçon hydrographique Nature Laisse Nature Zone d’occupation du sol Acquérir et intégrer des données géographiques L’intégration de données géographiques 3. Définition du schéma intégré, avec ou sans représentation multiple Bases de données indépendantes Fusion Rivière Nom Largeur Débit Rivière 1 Nom Largeur Rivière 2 Nom Débit Représentation multiple Correspondance Rivière 1 Nom Largeur Pivot Rivière Rivière 2 Nom Débit Nom Rivière 1 Largeur Rivière 2 Débit 73 Acquérir et intégrer des données géographiques L’intégration de données géographiques 4. Appariement des données: « Quels objets des deux bases représentent une même entité géographique du monde réel? » (objets homologues) Acquérir et intégrer des données géographiques L’intégration de données géographiques 5. Intégration des données: (réconciliation de références) •Traitement des redondances • Traitement des incohérences • Représenter les liens de correspondance en fonction des besoins OU 74 Appariement de schémas Acquérir et intégrer des données géographiques L'intégration des bases de données géographiques Thèse de Nils Gesbert (2005): Etude de la formalisation des spécifications de bases de données géographiques en vue de leur intégration. But: Appariement de schémas de bases de données géographiques à l’aide d’une ontologie commune. Problèmes d'interopérabilité sémantique: que contiennent réellement les classes de chaque base de données? 75 Acquérir et intégrer des données géographiques L'intégration des bases de données géographiques En philosophie: “Etude de l’Être en tant qu’Être” En IA: “Spécification explicite d’une conceptualisation” (Gruber, 1993) Acquérir et intégrer des données géographiques L'intégration des bases de données géographiques “[…] une ontologie implique ou comprend une certaine vue du monde vis à vis d'un domaine donné. Cette vue est souvent conçue comme un ensemble de concepts (par exemple, des entités, des attributs et des processus), leurs définitions et les relations qui existent entre eux. On appelle cela une conceptualisation. [...] l'usage le plus fréquent, et c'est pourquoi nous allons l'adopter, est qu'une ontologie est une représentation explicite d'une conceptualisation (ou d'une partie d'une conceptualisation). [...] Une ontologie peut prendre différentes formes mais elle inclura nécessairement un vocabulaire de termes et une spécification de leur signification (i.e. des définitions).” (Uschold et Gruninger, 1996) 76 Acquérir et intégrer des données géographiques L’intégration de données géographiques [Gesbert 2005] Data 1 Data 2 Acquérir et intégrer des données géographiques L’intégration de données géographiques [Gesbert 2005] Data 1 Data 2 77 Acquérir et intégrer des données géographiques L'intégration des bases de données géographiques Acquérir et intégrer des données géographiques [Gesbert 2005] Data 1 L’intégration de données géographiques Data 2 78 Acquérir et intégrer des données géographiques L'intégration des bases de données géographiques • Ce langage formel : – Etablit les liens entre: • les concepts géographiques de l’ontologie du domaine • les classes des SCD des bases de données géographiques qui les représentent – Décrit de façon formelle les règles de: • « sélection », • « agrégation », • « découpage », • « instanciation »… des entités du monde réel au sein de la base, qui sont décrites en langage naturel dans les spécifications. • Pour un type d’entités géographiques donné (i.e. pour un concept de l’ontologie du domaine), l’ensemble de ces règles formalisées est appelé « procédure de représentation » Acquérir et intégrer des données géographiques L'intégration des bases de données géographiques Extrait de la grammaire BNF du langage formel défini par Nils Gesbert 79 Acquérir et intégrer des données géographiques L'intégration des bases de données géographiques Acquérir et intégrer des données géographiques [Gesbert 2005] L’intégration de données géographiques <?xml version="1.0" encoding=« UTF8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDTOPO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Échangeur </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation>x <?xml version="1.0" encoding=« UTF8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDCARTO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Place </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation> Data 1 Data 2 80 Acquérir et intégrer des données géographiques Intégration des bases de données à partir de la formalisation de leurs spécifications <?xml version="1.0" encoding=« UTF- L’intégration de données géographiques <?xml version="1.0" encoding=« UTF8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDCARTO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Place </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation> 8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDTOPO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Échangeur </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation>x Data 1 Data 2 Acquérir et intégrer des données géographiques Intégration des bases de données à partir de la formalisation de leurs spécifications <?xml version="1.0" encoding=« UTF- L’intégration de données géographiques <?xml version="1.0" encoding=« UTF8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDCARTO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Place </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation> 8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDTOPO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Échangeur </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation>x Data 1 Data 2 81 Acquérir et intégrer des données géographiques L’intégration de données géographiques <?xml version="1.0" encoding=« UTF8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDTOPO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Échangeur </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation>x <?xml version="1.0" encoding=« UTF8 »?> <modelisation> <nom>Procedure "carrefour"</nom> <nomSchema> Catalogue BDCARTO </nomSchema> <entiteGenerale> Carrefour </entiteGenerale> <entitesModelisees> rond-point </entitesModelisees> <entitesModelisees> Place </entitesModelisees> <eltModelisation xsi:type="selection"> ... </modelisation> Data 1 Data 2 Acquérir et intégrer des données géographiques Forage Puits Pompage Abreuvoir Bassin Lavoir Citerne Exurgence Fontaine Résurgence Source 82 Acquérir et intégrer des données géographiques Structurées Acquérir et intégrer des données géographiques Point d’eau isA Source isA isA Résurgence Exurgence 83 Appariement de données Acquérir et intégrer des données géographiques Appariement de données Le thème « administratif » BDCarto® BDTopo® 84 Acquérir et intégrer des données géographiques Appariement de données Le thème « administratif » Critère d’appariement possible: C’est un des rares thèmes où les objets possèdent un identifiant (le code INSEE) Difficultés: • Les deux bases peuvent présenter des différences d’actualité: des regroupements, des scissions, ou des modification de limite peuvent avoir eu lieu… Il va falloir gérer des liens d’appariement de type 1:n • Les deux bases présentent des niveaux de détail différents: des écarts géométriques importants peuvent intervenir Comment définir les limites géométriques du découpage administratif? Quelle référence respecter? Acquérir et intégrer des données géographiques Appariement de données Le thème « routier » BDCarto® BDTopo® 85 Acquérir et intégrer des données géographiques Le thème « routier » Appariement de données Critères d’appariement possibles: distance, orientation, nature, relations topologiques, numéros de routes… Difficultés: • Les deux bases présentent des niveaux de détail différents: découpages différents, carrefours complexes, routes à chaussées séparées, etc. On n’apparie pas nécessairement à l’objet le plus proche! Il va falloir gérer des liens d’appariement de type 1:n ou n:m en tenant compte de la logique de réseau • Les deux bases présentent des différences sémantiques importantes: Il va falloir tenir compte de la signification exacte de chaque attribut (ex: BDTOPO® : chemin/route/piste cyclable (fonction) contre BDCARTO® : revêtu/non revêtu (nature)) (cf. appariement de schémas) • La BDTOPO® présente des objets implicites: Il va falloir apparier les « Nœuds routiers » de la BDCARTO® avec les extrémités des « Tronçons de route » de la BDTOPO® Acquérir et intégrer des données géographiques Appariement de données Le thème « hydrographie » BDCarto® BDTopo® 86 Acquérir et intégrer des données géographiques Le thème « hydrographie »: Appariement de données Critères d’appariement possibles: distance, orientation, nature, relations topologiques, toponymes… Difficultés: • Les deux bases peuvent présenter des différences d’actualité (PdV à différentes dates) En raison du caractère changeant des entités géographiques représentées, on pourra avoir à gérer des différences géométriques notables • Les deux bases présentent des différences sémantiques importantes Il va falloir gérer des différences de conceptualisations du monde réel (ex: les aqueducs sont des « Tronçons hydrographiques » dans la BDCARTO® et des « Canalisations » dans la BDTOPO®) • La BDTOPO® présente des objets implicites: Il va falloir apparier les « Nœuds hydrographiques » de la BDCARTO® avec les extrémités des « Tronçons hydrographiques » de la BDTOPO® Acquérir et intégrer des données géographiques Appariement de données Le thème « Transport d’énergie » Réseau électrique BDCarto® BDTopo® 87 Acquérir et intégrer des données géographiques Appariement de données Le thème « Transport d’énergie » - Réseau électrique Critères d’appariement possibles: distance, relations topologiques Difficultés: • Les deux bases présentent des niveaux de détail différents: découpages différents, postes de transformations avec des géométries différentes, etc. On n’apparie pas nécessairement à l’objet le plus proche! Il va falloir gérer des liens d’appariement de type 1:n ou n:m en tenant compte de la logique de réseau • Les tronçons aériens et souterrains sont représentés ensembles dans les deux bases Il va falloir distinguer les deux cas! • La BDCARTO® présente des objets implicites: Il va falloir apparier les « Poste de transformation » (surface) de la BDTOPO® avec les extrémités de « Tronçons de ligne électrique » (nœud) de la BDCARTO® Acquérir et intégrer des données géographiques Appariement de données Dans tous les cas on peut être confrontés à des incohérences: • Objet présent dans une base et pas dans l’autre en dépit des spécifications, • Valeurs d’attributs manquantes, • Valeurs d’attributs inexactes, • etc. 88 Acquérir et intégrer des données géographiques Appariement de données Incohérences de valeurs d’attributs sur le réseau électrique BDCarto 63 kv 90 kv 150 kv 225 kv 400 kv Total 63 kv 169 28 0 2 0 199 90 kv 8 12 0 0 0 20 150 kv 0 0 17 0 0 17 225 kv 0 0 0 32 0 32 400 kv 0 0 0 0 9 9 Inconnu 1 0 0 2 0 0 Total 178 40 17 36 9 280 BDTopo Acquérir et intégrer des données géographiques Appariement de données: principes de base L’appariement de données est guidé par l’appariement de schémas. Mais on dispose de peu d’identifiants communs aux différentes bases. L’appariement se fait par une analyse multicritère des données: • nature des objets • attributs descriptifs • géométrie : formes, positions • relations topologiques ou autres 89 Acquérir et intégrer des données géographiques Appariement de données: cardinalité des liens d’appariement 1-1 : différences de sélection, points de vue proches, niveaux de détail proche… 1-n : différence de segmentation, niveaux de détail différents… n-m : différences de segmentation, différents points de vue (BDC/BDG) Acquérir et intégrer des données géographiques Appariement de données: comparer les noms Les toponymes sont parfois un pseudo-identifiant mais: • Noms utilisés et officiels : « Place Daumesnil », « Place Felix Eboué » • Différences de langue « London », « Londres » • Renommage : « Côtes du nord », « Côtes d’Armor » • Un toponyme pour plusieurs lieux : « Beaulieu », « Av De Gaulle » • Différentes interprétations de la prononciation: « Munhoa », « Monhoa » • Différentes règles de transcription : « Pékin », « Beijing » • Différentes règles d’écriture dans la base : « col de XXX », « XXX », « Xxx » • Erreurs de saisie 90 Acquérir et intégrer des données géographiques Appariement de données: comparer les noms Calcul de dissimilarité entre chaînes de caractères: Distance de Levenshtein ou distance d’édition Cette distance est fondée sur le nombre minimal de suppressions, d’ajouts et de remplacements de caractères nécessaires pour passer d’une chaîne à une autre. Exemple: d(« liste », « livre ») = 2 d(« liste », « listes ») = 1 d(« liste », « lustre ») = 2 Acquérir et intégrer des données géographiques Appariement de données: comparer les noms [Grosso,05] • Distance de Levenshtein • Mesure de ressemblance pour évaluer l’écart sémantique entre deux chaînes de caractères: r = 1− distance de Levenshtein (toponyme1,toponyme2) max( longueur toponyme 1, longueur toponyme2) • Seuils sur r : • pas d’écart sémantique • écart sémantique faible • écart sémantique important 91 Acquérir et intégrer des données géographiques Appariement de données: comparer les noms [Samal 04] •Tokenization (découpage des chaînes de caractères en tokens, c’est-à-dire en unités lexicales) •Élimination de signes de ponctuation : ". , ; ! # $ / : ? ‘ () [] _ -& {}" •Calcul de distance de Levenshtein pour chaque paire de tokens issus des deux chaînes à comparer •Calcul du coefficient de similarité et remplissage d’une matrice « token-token »: r = 1− DamLev(i, j ) max(longueur(i), longueur( j )) Acquérir et intégrer des données géographiques Appariement de données: comparer les noms • Mesure de similarité des deux chaînes calculée à partir des valeurs de la matrice de coefficients de similarité token-token: nbLignes ∑ valMax i Similarité = i =1 nbTokens / 2 92 Acquérir et intégrer des données géographiques Appariement de données: comparer les noms Permet de gérer les types d’erreurs (au niveau de la chaîne et au niveau des tokens): • Omissions : « Boulevard du Général Charles de Gaulle » « Boulevard du Général de Gaulle », • Substitutions : « Aéroport Charles de Gaulle » - « Aéroport de Paris», • Transpositions : « Institut Géographique National » - « Institut National Géographique », • Abréviations : « Boulevard de Général Charles de Gaulle » « Bld du Gal de Gaulle », • Erreurs de frappe : « monhoa », « munhoa » Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries • Outils pour sélectionner les objets candidats : – Le but est de définir « grossièrement » un espace de candidats à l’appariement probables en se basant sur leur proximité par rapport à l’objet cible: On va raisonner soit sur la distance soit sur la zone d’influence distance minimale, distance moyenne, distance de Hausdorff (objets linéaires) rectangle englobant, périmètre englobant, diagramme de Voronoï zone tampon et bande epsilon (objets ponctuels et linéaires) distance surfacique (objets surfaciques) Un objet de la base à apparier est candidat si sa géométrie intersecte l’espace de sélection ainsi défini. 93 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des écarts de position: Distance euclidienne minimale dmin1 dmin2 dmin1 =dmin2 Mais cette distance n’est pas toujours très significative pour les objets linéaires et surfaciques… Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des écarts de position: Distance de Hausdorff (écart maximal) K2 K1 d2 d1 d1 = max min [dist ( p1 , p2 )] p1∈K1 p2 ∈K 2 d 2 = max min[dist ( p2 , p1 )] p2 ∈K 2 p1∈K1 d H = max(d1 , d 2 ) 94 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des écarts de position: Distance de Hausdorff (écart maximal) Evaluer la précision L2 d1 d2 Détecter le niveau de généralisation L1 DH L1-> L2 > DH L2-> L1 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des écarts de position: Distance de Hausdorff (écart maximal) Ne met pas bien en évidence les différences de forme Longueurs différentes : choisir une seule composante (demi-distance de Hausdorff) Fausse indication : la distance maximale est portée sur les extremités on garde la distance minimale 95 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des écarts de position: Écart moyen entre deux lignes : surface / longueur 2.S L1 L1+L2 = S L2 On divise par la moyenne des longueurs des arc pour rendre cette mesure Indépendante de la longueur des lignes Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des écarts de position: xx xx Écart de position entre deux surfaces : distance surfacique 1− S ( A ∩ B) S ( A ∪ B) A x 0 : égalité, 1 : disjoint Utilisée pour tester l’égalité entre deux surfaces B x ds11(A,B) = 96 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des zones d’influence: Buffer Buffer symétrique Un objet dont la distance à un point de la géométrie est inférieure à d appartient à cette zone tampon Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Calcul des zones d’influence: Zones tampon de largeur variable Buffer asymétrique 97 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Comparaison des formes des objets: Dsurfacique (A,B) < Dsurfacique (A,B) Ici la distance surfacique n’est pas une solution satisfaisante Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Comparaison des formes des objets: Fonction à distance radiale (ou signature polygonale) : • Fonction décrivant une entité surfacique par les mesures des distances séparant le centre de masse du polygone aux points composant son contour, en le parcourant dans le sens trigonométrique. • Rapporter les points sur une représentation graphique en fonction de l’abscisse curviligne normalisée par le périmètre du polygone. Cette fonction est invariante par translation et rotation. SP : [0;1] → ℜ, SP( s) = ( xc − x( s ))2 + ( yc − y ( s))2 Avec xc et yc coordonnées du centre de masses de l’objet Et x(s) et y(s) coordonnées du point d’abscisse curviligne s •Choix d’un point « origine des mesures » pour la construction de la signature Source : [Bel Hadj Ali 2001] 98 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Comparaison des formes des objets: 80 125 70 Sp (m) 100 75 50 60 50 40 30 20 25 10 0 0 0 25 50 75 100 125 150 175 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,4 0,5 0,8 0,9 1 s 14 14 12 12 10 8 10 d(m) d(m) tAB 16 8 6 6 4 4 2 2 0 0 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 Arc-length (s) 0 0,1 0,2 0,3 0,6 0,7 0,8 0,9 1 Arc-length (s) La métrique associée permet de comparer les formes en minimisant le déphasage entre les deux fonctions. Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Comparaison des formes des objets: Turning Function (fonction angulaire) • Fonction décrivant une entité surfacique à travers les angles formés par les segments qui composent son contour avec une demi-droite horizontale orientée selon l’axe des abscisses. La métrique associée permet de comparer les formes. • Choix d’une direction de référence et d’un point de référence 0. • Abscisse curviligne normalisée par le périmètre du polygone. • Fonction invariante par translation et homothétie. La rotation d’un angle alpha se traduit par l’ajout de la valeur de cet angle aux valeurs prises par la fonction angulaire Source : [Bel Hadj Ali 2001] 99 Acquérir et intégrer des données géographiques Appariement de données: comparer les géométries Comparaison des formes des objets: θ(s) a Turning Function ν ν +2 π O b e O e d c d ν b c Oa 1 0 "Turning function" de l'objet A 2π π 0 0 0 objet (A) "Turning function" de l'objet B 2π π s 0,2 0,4 0,6 0,8 0 1 0,2 0,4 0,6 0,8 1 objet (B) Source : [Bel Hadj Ali 2001] Acquérir et intégrer des données géographiques Appariement de données: apparier des points Méthode du plus proche voisin dans les deux sens Étant donnés deux objets: obji∈BD1, i=1..n et objk∈BD2, k=1..m, obji ⇔ objk , si est seulement si obji = Ppv(objk) et objk = Ppv(obji) • Calcul de confiance : confiance = 1 − d (obji − objk ) ' ' min(d (obji − objk ), d (obji − objk )) obj’i = second Ppv(objk)et obj’k = second Ppv(obji) Source : [Beeri et al 2003] 100 Acquérir et intégrer des données géographiques Appariement de données: apparier des points Méthode probabiliste Étant donnés deux objets: obji∈BD1, i=1..n et objk∈BD2, k=1..m, d (obji , objk ) −α obji ,i=1..n ∈ BD1, Pobji (objk ) = ∑ d (obji , objl ) −α l =1.. m α > 0 : plus la distance entre obji et objk diminue, plus leur probabilité d’appariement augmente • Calcul de confiance : confiance(obji , objk ) = Pobji (objk ) × Pobjk (obji ) Source : [Beeri et al 2003] Acquérir et intégrer des données géographiques Appariement de données: apparier des réseaux Pré-appariement des noeuds Fondé sur la distance Euclidienne entre les noeuds. Utilise un critère sémantique, si possible, (ex : Route N20 avec route N20). Source : [Mustière 2006] - Sélection des candidats : on sélectionne les nœuds BDComp les plus proches des noeuds BDRef (buffer + seuil). 101 Acquérir et intégrer des données géographiques Appariement de données: apparier des réseaux Pré-appariement des arcs Fondé sur la distance entre les arcs (distance de Hausdorff) Utilise un critère sémantique sur les arcs pour empêcher un appariement faux Source : [Mustière 2006] - Sélection des candidats : on sélectionne les arcs BDComp les plus proches des arcs BDRef (distance de Hausdorff + seuil). Acquérir et intégrer des données géographiques Appariement de données: apparier des réseaux Appariement des noeuds Fondé sur la comparaison de l’organisation topologique des réseaux Dépend des pré-appariements des nœuds et des arcs Crée des liens 1-1 et 1-n. Source : [Mustière 2006] 102 Acquérir et intégrer des données géographiques Appariement de données: apparier des réseaux Appariement des arcs Dépend de l’appariement des nœuds et de l’étape de pré-appariement des arcs Source : [Mustière 2006] Acquérir et intégrer des données géographiques Appariement de données: apparier des surfaces Détection des liens d’association Suppression des liens parasites Détection des liens multiples Affinement des liens n:m Source : [Bel Hadj Ali, 00] 103 Acquérir et intégrer des données géographiques Appariement de données: apparier des surfaces A 5 1 D E 6 C 3 2 4 F 7 Jeu de données #1 Jeu de données #2 Calcul de l’intersection des deux JDD 1 B Calcul du graphe d’associations 1 1 2 A B 3 4 C 5 6 D E 7 F Graphe « bipartite incomplet » Croisement des jeux de données Acquérir et intégrer des données géographiques Appariement de données: apparier des surfaces B 6 C 4 D E 3 2 2 A 5 1 F 7 Jeu de données #1 Jeu de données #2 Suppression des liens parasites si DistSurf > Seuil Calcul de la matrice d’association: détection des liens n:m 1 2 3 4 5 6 3 1 2 3 4 5 7 A B A B C D Filtrage du graphe E F C D 6 7 Simple 1:1 {5}{D} {6}{E} Multiple 4:3 {1,2,3,4}{A,B,C} E F 104 Acquérir et intégrer des données géographiques Appariement de données: apparier des surfaces 4 Filtrage des liens n:m: on recherche le meilleur groupe càd celui qui minimise la distance surfacique. Pour deux groupes G1et G2: Recherche des meilleurs sous-groupes SG1et SG2 dS((A, B ),(1,2)) dS((A,),(1,2)) dS((B ),(1,2)) dS((A, B ),(1)) … Min dS Acquérir et intégrer des données géographiques Appariement de données: apparier des surfaces Types de liens d’appariement surfacique Liens de type 1:0 ou 0:1 Simple Liens de type 1:1 Particulier Liens de type n:m (1:m, n:1) 105 Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision La localisation des objets géographiques présente: • des imprécisions au sein de chaque base • des précisions différentes d’une base à l’autre • BD CARTO = référence +BD TOPO = comparaison Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision Les toponymes attribués aux objets géographiques présentent: • des différences entre noms d’usage et noms officiels, • des redondances, • des omissions, • des interprétations différentes de leur prononciation, • des incertitudes, • des incomplétudes. l’ouesque Vallée de Valentin col de l’ouesque Vallée de Valentin Munhoa Monhoa col de peyrelue col de peyrelue ou port vieux sallent • BD CARTO = reference +BD TOPO = comparison 106 Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision Il faut pouvoir modéliser et prendre en compte toutes ces incertitudes, imperfections et incomplétudes: théorie de l’évidence 1) Pour chaque objet de la BDG1, on sélectionne les objets les plus proches dans la BDG2. Pour un obj1i, le cadre de discernement est un ensemble d’hypothèses selon lesquelles « le candidat Cj est l’homologue de l’objet obj1i ». Θ obj 1i = { appC 1 , appC 2 , appC 3 ,... appC N , NA } 2) Le référentiel de définition contient toutes les combinaisons possibles de hypothèses définies dans le cadre de discernement: Θ 2 obj 1i = { appC1 , appC2 ,...{appC1 , appC2 },...{appC1 , ...appC N , NA}, NA} Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision 3) Parmi ces hypothèses, on conserve: • appCj = l’objet obj1i est apparié à Cj • ¬appCj = {appC1, appC2, …appCj-1, appCj+1, …appCN, NA} = l’objet obj1i est apparié à un autre candidat que Cj • Θ = {appC1, appC2, …appCj…appCN, NA} = on ne sait pas Et pour chaque critère d’appariement (géométrie, toponymie, etc) que l’on souhaite utiliser, on calcule les masses de Θ croyance de ces hypothèses, telles que: m(appCj) + m(¬appCj) + m( ) = 1 107 Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision Exemple: o X X o X C3 C5 o = RDB2, objet de référence X = CDB1, objet de comparaison o RF X o C4 X C2 X C1 Θ = { C , C , C , C , C , NA} 1 2 3 4 5 2Θ = {{C1}, {C 2 }, {C1 , C 2 } , . . ., Θ} Acquérir et intégrer des données géographiques Critère Géométrique 1 m(Ci) Critère Toponymique dE=50 m m(Ci) 1 Critère sémantique [Mustière et al., 2006] dT=5 characters m(Ci) dS=0.3 m(Ci) dS m(Θ) dS 1 0.5 0.1 1 dE m(Ci) dT m(Ci) 1 1 0.8 0.5 0.25 1 dE m(Θ) m(Θ) dT 1 1 0.5 0.25 0.1 T1 T2 dE T 1 dT T 1 dS 108 Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision Critère sémantique: calcul de similarité sémantique (similarité de Wu-Palmer) sur une taxonomie du domaine Sim (C1, C2) = (2*prof(C)) / (profc(C1)+profc(C2)) Abadie et al, 2007 Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision 4) Fusion des critères: Pour chaque candidat Cj, on fusionne les critères d’appariement avec l’opérateur de Dempster.(Présenté ici pour deux critères) m( H ) = m(φ ) 1 ∑ m1 ( H ' )m2 ( H " ) 1 − m(φ ) H '∩ H "= H Représente la contradiction entre les critères d’appariement 109 Acquérir et intégrer des données géographiques Critère Géométrique 1 Critère sémantique Critère Toponymique [Mustière et al., 2006] m(Ci) m(Ci) m(Ci) 1 dS=0.3 1 0.5 0.1 1 dE m(Ci) dT m(Ci) m123(Ci) 1 m12(Ci) 0.8 1 m(Ci) dS m(Θ) dS 0.5 0.25 1 dE m(Θ) m(Θ) dT 1 1 0.5 0.25 0.1 T1 T2 dE T 1 dT T 1 dS Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision 5) Fusion des candidats: Cette étape est nécessaire pour faire apparaître les cas où l’ojb1i n’a pas d’homologue. On utilise de nouveau l’opérateur de Dempster. On obtient ainsi: m1..N(appC1), m1..N(appC2)… m1..N(¬appC1), m1..N(¬appC2)… Θ m1..N(NA), m1..N( ), m1..N(Ø) 110 Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision 6) Prise de décision: il s’agit de décider quel candidat à l’appariement est le meilleur (on pourra éventuellement obtenir le cas NA). Calcul de la probabilité pignistique (privilégie les hypothèses simples on cherche à obtenir des liens 1:1) P ( B) = ∑ m( A) A∈2 Θ B∩ A A |A| = nombre d’hypothèses simples contenus dans la proposition A Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision Quelques résultats • BD CARTO = référence Source : [Olteanu 2007] +BD TOPO = comparaison 111 Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision Quelques résultats + + Cas où l’hypothèse NA l’emporte • + • BD CARTO = référence +BD TOPO = comparaison Source : [Olteanu 2007] Acquérir et intégrer des données géographiques Appariement de données: prise en compte de l’imprécision Quelques résultats Source : [Olteanu 2007] + + + + BDCarto : sommet BDTopo: col • BD CARTO = référence +BD TOPO = comparaison 112 Acquérir et intégrer des données géographiques ? 113