Ich habe ein kleines Experiment durchgeführt:
- generierte 900 zufällige Punkte
- verband sie mit minimalem Spanning Tree
- irgendwo in der Mitte ein Waschbecken gepflückt
- drehte die Links um, um einen Richtungsgraphen zu bilden, dh jeder Knoten entlud sich schließlich in dieselbe Senke
- Ausgeführtes Skript, mit dem ich kleinere Einzugsgebiete zu größeren zusammenfasse, um eine durchschnittliche "Größe" von 30 zu erhalten.
ERGEBNIS:
Lassen Sie mich wissen, wenn dies von Interesse ist. Ich kann das Skript ausgraben (es ist bereits irgendwo auf dieser Site veröffentlicht) oder den Workflow ausführlicher erläutern. Ich habe ArcGIS verwendet.
-------------------------------------
** UPDATE September 2017
Es ist dem obigen sehr ähnlich, verwendet jedoch Rasteransatz-, Entfernungs- und Hydrologie-Tools von ArcGIS. Ein schwieriger Teil ist die Erstellung eines minimalen Spannbaums und das Auffinden von Einzugsgebieten im Rasterformat.
Dies sind die Schritte, die ich befolgt habe:
- Triangulieren Sie Knoten (Punkte zum Cluster), extrahieren Sie dreieckige Netzwerkkanten und konvertieren Sie Knoten in das WEIGHT- Raster:
- Feld in der Kantentabelle berechnen: Ich verwende (ShapeLength ^ 3 / 1e6). In Raster konvertieren, Lücken mit sehr hohem Wert füllen, um COST- Raster zu erstellen . Dies fördert den Fluss zwischen nahe beieinander liegenden Punkten. Es ist zu hoffen, dass die Strömungspfade dem Minimum Spanning Tree (MST) ähneln, anstatt sich in der Nähe von geraden Linien in Richtung Senke zu befinden.
- Wählen Sie einen beliebigen Knoten (OUTLET / SINK) aus und erstellen Sie ein Cost Back Link-Raster unter Verwendung der COST-Oberfläche und von SINK als Quelle. Konvertieren Sie das Backlink-Raster mithilfe von in ein anständiges Flow Direction-Raster
Int(Power(2,"backlink"-1))
. Sammeln Sie den Durchfluss mithilfe der Durchflussrichtung und des Gewichtsrasters. Wie man sehen kann, erzeugt der Trick mit der Kostenzuweisung wirklich etwas Ähnliches wie MST:
Ich habe mich entschlossen, Punkte nach 50 zu gruppieren. Unter Berücksichtigung der fraktalen Struktur des Netzwerks habe ich den Grenzwert zu Beginn von 'High Flow Streams', dh Con ("FlowAccum"> 45,1), etwas niedriger als die INLET-Punkte festgelegt. Einlässe definiert als Zellen wo
Hoher Durchfluss vorhanden & Fokusstatistik = 2 & Zelle ist kein SINK (kein Datenwert in Durchflussrichtung) :
Verwenden Sie Einlässe als Stockpunkte und Durchflussrichtung, um Einzugsgebiete zu definieren. Bild zeigt 115 abgeleitete Einzugsgebiete:
Ihre Statistiken: Mittelwert = 50,33, min = 46 und max = 74.
Um einen zweiten Satz von Einzugsgebieten zu erhalten, reicht es aus, das GEWICHTS-Raster unter bereits definierten Einzugsgebieten zu löschen, die Durchflussvakuumierung usw. zu berechnen.
Die Methode funktioniert für Millionen von Punkten, da sie auf Raster basiert. Die Triangulation dieser Anzahl von Punkten wird ebenfalls kein Problem darstellen.