Przeprowadziłem mały eksperyment:
- wygenerował 900 losowych punktów
- połączono je za pomocą drzewa opinającego o minimalnym rozmiarze
- wybrałem zlew gdzieś pośrodku
- przerzucił łącza, aby utworzyć wykres kierunkowy, tj. każdy węzeł ostatecznie wyładowuje się do tego samego zlewu
- uruchomiłem skrypt, którego używam do agregowania mniejszych zlewni w większe, próbując uzyskać średni „rozmiar” 30.
WYNIK:
Daj mi znać, jeśli jest to interesujące, mogę wykopać skrypt (jest już opublikowany gdzieś na tej stronie) lub wyjaśnić przebieg pracy bardziej szczegółowo. Użyłem ArcGIS.
-------------------------------------
** AKTUALIZACJA wrzesień 2017 r
Jest bardzo podobny do powyższego, ale używa narzędzi podejścia rastrowego, Odległości i Hydrologii firmy ArcGIS. Niełatwa część polega na stworzeniu minimalnego drzewa opinającego i znalezieniu gniazd „zlewni” w formacie rastrowym.
Oto kroki, które wykonałem:
- Węzły triangulacyjne (punkty do klastra), ekstrakcja trójkątnych krawędzi sieci, konwersja węzłów do rastra WAGA :
- Oblicz pole w tabeli krawędzi: używam (ShapeLength ^ 3 / 1e6). Konwertuj na raster, wypełnij luki o bardzo wysokiej wartości, aby utworzyć raster KOSZT . To zachęca do przepływu między punktami blisko siebie. Oczekuje się, że ścieżki przepływu będą wyglądać podobnie do minimalnego drzewa opinającego (MST) zamiast znajdować się w pobliżu linii prostych zmierzających w kierunku zlewu.
- Wybierz dowolny węzeł (OUTLET / SINK) i utwórz raster kosztu zwrotnego, używając powierzchni KOSZT i ZLEW jako źródła. Konwertuj raster linku wstecznego na przyzwoity raster kierunku przepływu za pomocą
Int(Power(2,"backlink"-1))
. Kumulować przepływ przy użyciu kierunku przepływu i rastra masy. Jak widać sztuczka z przypisaniem kosztów naprawdę daje coś podobnego do MST:
Postanowiłem pogrupować punkty po 50. Mając na uwadze fraktalną strukturę sieci, ustaliłem limit nieco niższych punktów INLET na początku „High Flow Streams”, tj. Con („FlowAccum”> 45,1). Wloty zdefiniowane jako komórki gdzie
Istnieje wysoki przepływ i statystyki ogniskowej = 2, a komórka nie jest SINK (brak wartości danych w kierunku przepływu) :
Użyj punktów wlotowych jako punktów krzepnięcia i kierunku przepływu w celu zdefiniowania zlewni. Zdjęcie pokazuje 115 zlewni:
Ich statystyki: średnia = 50,33, min = 46 i max = 74.
Aby uzyskać drugi zestaw zlewni, wystarczy wymazać WAGA rastra pod już zdefiniowanymi zlewniami, obliczyć próżnię przepływu itp.
Metoda będzie działać dla milionów punktów, ponieważ jest oparta na rastrze, triangulacja tej liczby punktów również nie będzie problemem.