Gibt es Open Source, das ArcGIS Integrate entspricht (zur Topologiekorrektur)?

8

Ich muss eine Reihe von Polygonen so transformieren, dass sie eine exakte räumliche Aufteilung / Tesselation bilden (keine Lücke - keine Überlappung). Welche Open-Source-Lösungen (Software oder Bibliothek) sind vorhanden, um diese Korrektur durchzuführen? Im Idealfall suche ich nach Open-Source-Versionen der ArcGIS- Integration .

Integrieren wird verwendet, um die Integrität gemeinsam genutzter Feature-Grenzen aufrechtzuerhalten, indem Features zusammenfallen, wenn sie innerhalb der angegebenen x, y-Toleranz liegen. Merkmale, die innerhalb der angegebenen x, y-Toleranz liegen, werden als identisch oder übereinstimmend betrachtet.

julien
quelle
Wie ist das Format der Daten?
Simbamangu
welches Format auch immer ...
Julien
Was für 'Oberflächen' sind das? Drapierte 3D-Polygone? Oder meinst du "Bereiche", dh 2D-Polygone?
Simbamangu
Ist es wie "Vektorkonflation"? Dann siehe gis.stackexchange.com/a/58536/687
markusN
@ Simbamangu: Mit 'Oberfläche' meine ich Polygon (Korrektur durchgeführt).
Julien

Antworten:

4

Update 2018-05-11: In QGIS 2.18 und 3.0 ist dies viel einfacher (es muss kein Mapset eingerichtet werden).

  1. Öffnen Sie das Tool v.clean in der Toolbox Verarbeitung.
  2. Wählen Sie "Snap" als Reinigungswerkzeug.
  3. Stellen Sie die v.in.ogrToleranz gemäß den folgenden Anweisungen ein (250 im Beispiel).
  4. Führen Sie das Tool aus, und Sie erhalten zwei neue Ebenen - eine "Fehler" und eine "bereinigt".

Experimentieren Sie mit der richtigen Menge an Schnappschüssen - siehe Hinweise am Ende.


Sie können eine Reihe von GRASS-Werkzeugen verwenden, um die Arbeit zu erledigen. v.in.ogr.qgisMöglicherweise müssen Sie nur die Daten zu einem Mapset in GRASS hinzufügen . Verwenden von QGIS und GRASS:

Überblick:

  1. Öffnen Sie QGIS und stellen Sie sicher, dass das GRASS-Plugin aktiviert ( Plugins|Manage...) und sichtbar ( View|Toolbars|GRASS) ist.
  2. Fügen Sie die Ebene zu QGIS hinzu.
  3. Erstellen Sie ein Mapset in GRASS.
  4. Importieren Sie die Ebene mit einem geeigneten Fangschwellenwert in GRASS .
  5. Exportieren Sie Ihre Daten (Rechtsklick und Speichern unter QGIS) zurück in das gewünschte Format.

Im Detail:

Fügen Sie Ihre Ebene hinzu, für die Lücken / Überlappungen bereinigt werden müssen (dies ist eine UTM-Ebene in Metern):

Übersicht über unreine Geometrie

Es gibt einige "schlechte" Bereiche, die Ihrer Beschreibung hier entsprechen (Überlappungen / Lücken):

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf die Schaltfläche in der GRASS-Symbolleiste, um ein neues GRASS-Mapset zu erstellen:

Symbolleiste zur Auswahl des GRASS-Kartensatzes

Sie können einfach einen temporären Ordner und einen temporären Standortnamen verwenden ...

GRASS-Setup-Dialoge

... und schließlich ein Mapset:

Geben Sie hier die Bildbeschreibung ein

Importieren Sie Ihre Ebene aus QGIS mit der Schaltfläche "GRASS-Werkzeuge öffnen" und navigieren Sie zum Werkzeug:

Auswahl von v.in.ogr.qgis

Wählen Sie Ihre Ebene aus, klicken Sie auf "Erweitert" und wählen Sie einen geeigneten Fangschwellenwert aus (in diesem Fall 250 m - hängt davon ab, wie Ihre Daten aussehen!):

Geben Sie hier die Bildbeschreibung ein

Ergebnisse - Original in grauer, neu gerissener Schicht in Kastanienbraun:

Geben Sie hier die Bildbeschreibung ein

HINWEIS:

  • Kleine Lücken und Überlappungen werden behoben, ohne die Formen zu stark zu verändern. Je größer der Schnappschuss, desto mehr Verzerrungen können auftreten.
  • Das Ergebnis ist eine topologisch 'saubere' Geometrie, die allen GRASS-Regeln folgt (lesen Sie das nach!).
  • Es gibt eine Menge Werkzeuge (v.clean für einen), die alle Arten von Reinigung und Reparatur durchführen können.
Simbamangu
quelle
Wurde dies aus QGIS 3 entfernt? Ich sehe es nicht.
Damien
Es wurde einfacher gemacht - siehe meine Bearbeitung.
Simbamangu