Mam DEM o wymiarach 1x1 metra i oryginalną chmurę punktów LiDAR w .las, z której jest wykonana DEM. Muszę wydobyć groble rzeczne (najwyższe punkty grobli) do funkcji wektorowej (punkt, polilinia).
Masz pomysł na algorytm lub istniejące narzędzie?
Groble mają jasnoszare kolory na 1. zdjęciu, a poniżej znajduje się obraz chmury punktów dla przykładowego obszaru z groblami. Linia środkowa rzeki w kolorze niebieskim.
Jakieś narzędzie do wyciągania cech liniowych z DEM?
Myślę, że potrzebuję czegoś takiego jak moduł ekstrakcji cech przestrzennych ENVI (strona 7), ale bez udziału ENVI, ponieważ nie stać mnie na to :)
Odpowiedzi:
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.
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).
źródło
Czytam o różnych algorytmach dla zadania (tj. Zgodnie z linkiem @ Horbydds ).
Wypróbowałem kilka metod, a najlepsze wyniki w moim przypadku dają Standardową analizę terenu od SAGA. Oto co zrobiłem i dlaczego:
Groble są zwykle najwyższą cechą w pobliżu koryta rzeki, więc zamieniłem je w kanały, odwracając DEM (MapAlgebra DEM * -1 lub przesadzając zbocza -10). Od tego momentu mogłem korzystać z dowolnego zestawu narzędzi hydrologicznych (ArcHydro, HEC-GeoRas lub SAGA narzędzia wodne). Wybrałem SAGA / Analiza terenu - analiza złożona / Standardowa analiza terenu, ponieważ produkuje River Network za pomocą kilku kliknięć. River Network to to, co chciałem osiągnąć, ponieważ produkuje polilinie, które wskazują najlepszą drogę przepływu wody, co w przypadku odwróconych wałów przeciwpowodziowych daje im najwyższy punkt.
Wytworzony plik kształtu jest nieco niechlujny (wiele mniejszych polilinii), ale po pewnych poprawkach wyniki są zadowalające. Kolejną irytacją jest to, że 1 grobla jest wykonana z 300 krótkich polilinii, ale myślę, że znajdę sposób, aby sobie z tym poradzić.
Oto przykład wyników:
Oczywiście jest to dość trudne rozwiązanie i prawdopodobnie będę dalej badał ten problem, ale pomyślałem, że warto się nim podzielić.
źródło
Niektóre kombinacje poniższych elementów z oryginalnym DEM powinny pomóc podświetlić żądane informacje rastrowe i odrzucić resztę. Można je wykonać w różnych skalach i rozmiarach sąsiedztwa, aby poprawić efekt.
Po wykonaniu tego przeklasyfikowanie i kontury powinny dać dość dobry zarys samego grobli. Jeśli groble mają płaskie nachylenie i chcesz uzyskać szerszy zasięg, możesz również spróbować czegoś takiego jak suma krzywizny i nachylenia, przeskalowana o określoną wartość, a nawet wykonać kontury nachylenia osobno i połączyć je ze sobą.
Oto samouczek na temat wyciągania grzbietów wektorowych z rastrowego DEM za pomocą Spatial Analyst, który powinien mieć duże zastosowanie:
źródło
Myślę, że może to być tylko część odpowiedzi, ale być może możesz zacząć od tworzenia konturów / wielokątów z twoich obrazów w określonych odstępach czasu / w oparciu o wartości wysokości. Myślałem, że wały powinny mieć wyższe wartości wysokości, a zatem jeśli przekształcisz DEM w wielokąty, może się okazać, że obszary, które Cię interesują, są reprezentowane przez wielokąty centain. Możesz także zacząć od przeklasyfikowania DEM i sprawdzić, czy to przyniesie oczekiwane rezultaty. Jeśli masz inne dane obrazu obejmujące obszar, który Cię interesuje, spróbuj dodać je do swojej klasyfikacji obrazów i sprawdź, czy to pomaga. Powodzenia!!
źródło