Wszystko zależy od tego, gdzie narysujesz linię. Niezależnie od tego problem ten wygląda na to, że można go łatwo rozwiązać za pomocą funkcji morfologicznych dostępnych w programie Spatial Analyst, zwłaszcza progowania (wykonywanego za pomocą operacji lokalnych „<” i „>”) oraz „RegionGroup” w celu identyfikacji i wyodrębnienia komponentów.
Chociaż nie mam dostępu do DEM do zilustrowania, pierwszy obraz jest prawie wystarczająco dobry, aby wykonać zadanie. Na przykład, oto sekwencja zgrupowanych według regionu wersji czerwonego paska (z wartościami skalowanymi od 0,0 = czarny do 1,0 = biały), zaczynając od progu 0 i przechodząc od lewej do prawej, od góry do dołu, w przyrostach co 0,02:
(Te obrazy zostały tutaj zmniejszone w celu odtworzenia: cała analiza została wykonana w rozdzielczości oryginalnego obrazu).
Groble pojawiają się wokół granicy czarnego regionu na początku drugiego rzędu (próg = 0,08). Na początku trzeciego rzędu (próg = 0,16) groble tworzą własne komponenty (w kolorze ciemnoniebieskim) iw tym momencie można je łatwo wyodrębnić jako osobne siatki lub wielokąty (a ich granice można wyodrębnić jako polilinie po etapie wykrywania krawędzi ). Tylko najszersze groble pozostają w ostatnim rzędzie (próg = 0,24 i więcej). Musisz wybrać odpowiedni próg , aby uzyskać dokładnie to, czego chcesz.
W oryginalnym DEM elewacje odgrywają rolę intensywności, dlatego te procedury powinny być podobnie skuteczne z samym DEM. Jeśli DEM ma duży zasięg (w tym obiekty daleko od rzeki lub wału), odpowiednie elementy można wybrać jako sąsiadujące z komponentem, w którym znajduje się element rzeki.
Cienkie niechciane regiony znalezione przez RegionGroup można wyeliminować przez zastosowanie niewielkiej erozji (bufor ujemny), a następnie równoważne rozszerzenie (bufor dodatni). Małe niechciane regiony można wykluczyć według kryterium wielkości (całkowita liczba komórek lub obszar). Najwyższe punkty na każdym grobli (jeśli jest to naprawdę potrzebne) można znaleźć, porównując DEM z strefowymi maksymalnymi siatkami (używając grobli jako stref).
Nawiasem mówiąc, ta sekwencja obrazów została stworzona w Mathematica 8. Oto polecenia dla tych, którzy mogą chcieć skorzystać z tej opcji.
original = Import["http://i.stack.imgur.com/gV7Du.jpg"];
{r, g, b} = ColorSeparate[original];
frames = ParallelTable[Colorize[MorphologicalComponents[Binarize[r, t/100]],
ColorFunction -> "ThermometerColors"], {t, 0, 30, 2}];
Rasterize @ TableForm[Partition[frames, 4]]
Całkowity czas zegara (po zaimportowaniu obrazu) wynosił 0,94 sekundy, z czego połowa potrzebna była do zmniejszenia i wyeksportowania wszystkich 16 obrazów: operacje morfologiczne są zwykle szybkie (co jest dobre, ponieważ LIDAR DEM może być ogromny).