Ich habe eine Polygonschicht aus Wasserreservoirs und eine Polylinienschicht aus Kanälen.
In meinen Daten stammen einige Kanäle aus Stauseen und führen zu anderen Kanälen. Auf der anderen Seite gibt es einige Kanäle, die isoliert oder mit nichts verbunden sind. (Wie es dazu kam, ist eine Geschichte für einen anderen Tag)
Ich muss die isolierten Kanäle und die Kanalnetze (dh die verbundenen Kanäle) löschen, die nicht mit einem Reservoir verbunden sind.
Ich gehe davon aus, dass ich eine Art Netzwerk-Tracing verwenden muss, bin mir aber nicht sicher, wo ich anfangen soll.
Ich habe ArcGIS Desktop zusammen mit Network Analyst, um diese Aufgabe zu lösen.
Wie würden Sie diese Aufgabe erledigen?
quelle
Ich würde dies als zwei getrennte Probleme betrachten. Zunächst müssen die einzelnen Liniensegmente in verbundene Komponenten aufgelöst werden; Nur alle auf einem Standardwert aufzulösen, funktioniert nicht. Dies ist ein graphentheoretisches Problem, und wir wollen die "Subgraphen für verbundene Komponenten".
Ich bin mir sicher, dass es eine Möglichkeit gibt, dies mit einem Netzwerkanalysten zu hacken, aber ich würde es vorziehen, es wie das Grafikproblem zu behandeln, das es ist. Erfinden Sie das Rad nicht neu, installieren Sie einfach das hervorragende Networkx-Python-Modul und versuchen Sie Folgendes:
Der zweite Schritt wäre das Auflösen und Auswählen nach Ort, wie von dmahr vorgeschlagen
Ich habe eine ähnliche Technik viele Male erfolgreich angewendet. Die Graphentheorie ist fantastisch und löst viele GIS-Probleme. Networkx ist ein großartiges Tool, um dies in Python zu implementieren.
quelle