FR:JOSM/Plugins/Conflation

From OpenStreetMap Wiki
Jump to navigation Jump to search
Conflation icon Conflation
for conflating (merging) of data
(Josh Doe)

to conflate : confondre

Il s'agit d'un plugin pour combiner (faire correspondre puis fusionner) des objets dans JOSM. Pour l'instant, il se concentre sur les associations individuelles entre POI, comme les adresses et les bâtiments, les parcs, les écoles, les arrêts d'autobus, etc. Il complète la commande Replace Geometry incluse dans utilsplugin2 (requis) qui permet de remplacer ou mettre à jour un objet OSM vers un autre.

Pourquoi l'utiliser

Mises à jour GNIS

En 2009, des données du GNIS ont été importées dans OSM en tant que nœuds. Depuis, certaines ont été converties en zones, déplacées ou même remplacées. Dans ce processus, le gnis:feature_id a parfois été perdu, et le processus de conflation pourrait rétablir l'ID correct. De plus, le GNIS a fourni des mises à jour depuis 2009, qui pourraient être ajoutées à OSM avec cet outil. Le plugin de conflation pourrait fusionner ces données, avec une forte corrélation entre gnis_feature_id=* et name=*.

Remplacement des nœuds d'adresses par des polygones de bâtiment

Imaginez de remplacer des nœuds d'adresses dans OSM par des données de haute qualité sur les bâtiments provenant d'une autorité locale. Si les bâtiments sont associées à des adresses, alors les correspondances seraient fortement corrélées avec addr:housenumber=* et addr:street=*. S'il n'y a pas de telles informations d'adressage, les données peuvent encore être corrélées en fixant un seuil à une distance de 20 mètres.

Mise à jour de l'empreinte du bâtiment

Les bâtiments ont été importés ou tracés à la main. Une source de données externe a été publiée, et vous aimeriez mettre à jour le bâtiment dans OSM pour utiliser la meilleure empreinte de bâtiment des deux sources.

Affectation optimale des places de parking

Assigning parking spaces to houses based on distance (duplicated houses to assign two spaces)

C'est pour l'amusement plutôt que pour fusionner des données avec OSM. Imaginez que vous avez un quartier où vous avez cartographié toutes les places de parking et les maisons. Vous pouvez rapprocher les deux en utilisant uniquement la distance dans le calcul "coût de déplacement" pour déterminer l'affectation optimale des maisons aux places de stationnement. Si chaque maison obtient deux places de stationnement, vous pourriez dupliquer (copier-coller) les nœuds/polygones de la maison, et vous obtiendriez deux places correspondant à chaque maison.

Installation

Suivez ces instructions pour installer automatiquement le plugin conflation. Si vous prévoyez de faire des correspondances avec plus de 500 objets, vous devriez utiliser la VM java 64 bits, pour ne pas manquer de mémoire.

Définitions

  • Reference: le jeu de données qui est présumé avoir la meilleure précision spatiale et l'intégralité des attributs (balises), habituellement un ensemble de données provenant d'un tiers, comme une entité gouvernementale
  • Subject: le jeu de données auquel la géométrie et/ou les attributs de l'ensemble de données de référence seront fusionnés, généralement un ensemble de données à jour téléchargé depuis les serveurs d'OSM

Usage

Préparation des données

Le plugin nécessite que le jeu de données de Reference soit dans un format qui peut être chargé par JOSM (un fichier OSM). Téléchargez d'abord la zone que vous souhaitez éditer, puis utilisez la commande Fichier | Ouvrir pour la charger depuis le fichier OSM externe comme un nouveau calque. Si vous ouvrez d'abord le fichier externe, JOSM téléchargera les données dans la couche existante, ce qui rendra les sélections très difficiles.

Génération des correspondances

  1. Si ce n'est pas déjà fait, activez la boîte de dialogue de conflation à partir du panneau de gauche.
  2. Cliquez sur Configurer, sélectionnez des objets dont la géométrie et/ou les balises sont meilleures et cliquez sur Freeze (geler) dans le panneau Reference.
  3. Faites de même pour certains autres objets du panneau Subject.
  4. Cliquez sur OK.

Sélectionner

Pour effectuer la sélection, vous devrez utiliser la fenêtre Edit | Search (Editer | Rechercher). Si vous combinez des chemins, vous n'avez qu'à sélectionner des chemins et non des points. Inversement, si vous confondez des points, vous ne voulez pas que l'on sélectionne des chemins. Actuellement, le plugin ne supporte pas les relations, donc elles ne devraient jamais être sélectionnées. Par exemple, "building=* type:way", sélectionnera correctement les bâtiments. Le type:way est nécessaire pour s'assurer qu'aucune relation ou point n'est sélectionné. Il n'est pas possible de simplement sélectionner une zone avec la souris.

Combiner

La boîte de dialogue comporte 3 onglets, Matches (faire correspondre) qui liste les correspondances trouvées entre la couche de référence et Reference only et Subject only qui listent les objets non appariés de chaque ensemble de données.

  1. Double-cliquez sur une correspondance ou un objet non apparié pour zoomer et centrer, et sélectionner le ou les objets.
  2. Sélectionnez une ou plusieurs correspondances et cliquez sur Conflate pour exécuter le remplacement de la géométrie. Sélectionnez un ou plusieurs objets dans la liste Reference only pour les copier dans le calque Subject.

Notez que vous pouvez également utiliser la même sélection pour la cible et la source ; l'algorithme affecte un coût très élevé si les deux objets sont identiques, de sorte qu'une correspondance ne doit jamais se produire avec le même objet que la cible et la source.

Implémentation

  • Réutilise les fonctionnalités de recherche et de sélection existantes pour créer des sélections de références et de sujets.
  • Utilise Java Conflation Suite (JCS) et Java Topology Suite (JTS) pour calculer les scores entre les objets de référence et les objets sujets, et générer les correspondances.
  • Utilise Remplacer la géométrie de l'extension utilsplugin2 pour combiner les objets.

Nouvelles fonctionnalités dans les versions v0.4 et v0.5

  • Permet de fusionner seulement les balises, et non la géométrie
    • Ajout de coûts pour la "distance" entre les balises, en utilisant la distance de Levenshtein (mesure de similarité entre deux chaînes de caractère)
  • La sélection d'éléments dans l'éditeur sélectionnera les correspondances de conflation correspondantes dans la liste.
  • En plus de la distance Centroid :
    • Distance standard, qui peut être mieux adaptée lors de l'appariement des nœuds aux polygones.
    • Distance de Hausdorff qui peut être plus appropriée lors de l'appariement de polygones à des polygones.
  • Nouvelle section "configuration avancée" identique à l'outil JCS d'origine (extrait du projet OpenJump), voir explications à la fin de son Manuel utilisateur, page 27 section 7.3

Travaux futurs

C'est une liste incomplète et non ordonnée des tâches auxquelles j'ai pensé. Si celles-ci ou d'autres vous seraient utiles, veuillez créer un billet.

  • Créer une unique meilleure icone
  • Ajouter des seuils et des poids aux coûts individuels (par ex. interdire l'appariement si la distance est supérieure à 100 m).
  • Permettre de cliquer sur la flèche dans la couche de conflation pour sélectionner le candidat correspondant
  • Permettre de déclarer une correspondance invalide et d'utiliser cette information pour régénérer les correspondances.
  • Ajouter des raccourcis clavier pour parcourir rapidement les appariements, avec des touches pour les fonctions Suivant, Précédent, Fusionner, "Discordance", etc.
  • Utilisez des codes de couleur dans les flèches et le tableau pour indiquer la fiabilité de la correspondance.
  • Prise en compte des méthodes de coûts et d'affectation personnalisées


Développement

Initialement créé par User:Joshdoe, mais d'autres développeurs sont bienvenus pour fork it on GitHub. Soumettez vos rapports de bugs et requêtes d'évolutions sur JOSM Trac en utilisant le composant "Plugin conflation".

Voir aussi

Liens externes