Existe-t-il un Open Source équivalent à ArcGIS Integrate (pour la correction de la topologie)?

8

J'ai besoin de transformer un ensemble de polygones pour qu'il forme une partition / tesselation spatiale exacte (pas d'espace - pas de chevauchement). Quelles sont les solutions open source existantes (logiciel ou bibliothèque) pour effectuer cette correction? Idéalement, je recherche des versions open-source de l' intégration d' ArcGIS .

L'intégration est utilisée pour maintenir l'intégrité des limites d'entités partagées en faisant coïncider les entités si elles tombent dans la tolérance x, y spécifiée. Les entités qui se trouvent dans la tolérance x, y spécifiée sont considérées comme identiques ou coïncidentes.

julien
la source
Quel est le format des données?
Simbamangu
quel que soit le format ...
julien
De quel genre de «surfaces» s'agit-il? Des polygones 3D drapés d'une certaine sorte? Ou voulez-vous dire des «zones», c'est-à-dire des polygones 2D?
Simbamangu
Est-ce comme une "fusion de vecteurs"? Voir ensuite gis.stackexchange.com/a/58536/687
markusN
@Simbamangu: par 'surface', je veux dire polygone (correction effectuée).
julien

Réponses:

4

Mise à jour 2018-05-11: dans QGIS 2.18 et 3.0, cela se fait beaucoup plus facilement (pas besoin de configurer un jeu de cartes).

  1. Ouvrez l'outil v.clean dans la boîte à outils Traitement.
  2. Sélectionnez «snap» comme outil de nettoyage.
  3. Définissez la v.in.ogrtolérance selon les instructions ci-dessous (250 dans l'exemple).
  4. Exécutez l'outil et vous obtiendrez deux nouvelles couches - une «erreurs» et une «nettoyée».

Expérimentez pour la bonne quantité de capture à utiliser - voir les notes à la fin.


Vous pouvez utiliser un certain nombre d'outils GRASS pour faire le travail. Il suffit de simplement ajouter les données à un jeu de cartes dans GRASS en utilisant v.in.ogr.qgis. Utilisation de QGIS et GRASS:

Aperçu:

  1. Ouvrez QGIS et assurez-vous que le plug-in GRASS est activé ( Plugins|Manage...) et visible ( View|Toolbars|GRASS).
  2. Ajoutez la couche à QGIS.
  3. Créez un jeu de cartes dans GRASS.
  4. Importez la couche dans GRASS en utilisant un seuil d'accrochage approprié .
  5. Exportez vos données (clic droit et enregistrez-les à partir de QGIS) dans un format dont vous avez besoin.

En détail:

Ajoutez votre couche qui a besoin de nettoyer les espaces / chevauchements (il s'agit d'une couche UTM en mètres):

Aperçu de la géométrie impure

Il y a quelques «mauvais» domaines qui correspondent à votre description ici (chevauchements / lacunes):

entrez la description de l'image ici

Sélectionnez le bouton dans la barre d'outils GRASS pour créer un nouveau jeu de cartes GRASS:

Barre d'outils sélectionnant le jeu de cartes GRASS

Vous pouvez simplement utiliser un dossier temporaire et un nom d'emplacement temporaire ...

Boîtes de dialogue de configuration de GRASS

... et enfin un jeu de cartes:

entrez la description de l'image ici

Importez votre couche depuis QGIS avec le bouton "Ouvrir les outils GRASS" puis accédez à l'outil:

sélection de v.in.ogr.qgis

Sélectionnez votre couche, puis cliquez sur 'avancé' et sélectionnez un seuil d'accrochage approprié (dans ce cas, 250m - dépend de l'apparence de vos données!):

entrez la description de l'image ici

Résultats - original en gris, couche nouvellement cassée en marron:

entrez la description de l'image ici

REMARQUE:

  • Les petits espaces et les chevauchements sont corrigés sans trop modifier les formes, mais plus le «snap» est grand, plus vous pouvez voir de distorsion.
  • Le résultat est une géométrie topologiquement «propre», suivant toutes les règles de GRASS (lisez-la!).
  • Il y a BEAUCOUP d'outils (v.clean pour un) qui peuvent faire toutes sortes de nettoyage et de fixation.
Simbamangu
la source
Cela a-t-il été supprimé de QGIS 3? Je ne le vois pas.
Damien
Cela a été rendu plus simple - voir ma modification.
Simbamangu