Mam „brudne” dane LiDAR zawierające pierwsze i ostatnie zwroty, a także nieuchronnie błędy pod i nad poziomem powierzchni. (zrzut ekranu)
Mam pod ręką SAGA, QGIS, ESRI i FME, ale nie ma prawdziwej metody. Jaki byłby dobry przepływ pracy do wyczyszczenia tych danych? Czy istnieje w pełni zautomatyzowana metoda, czy w jakiś sposób usunęłbym ją ręcznie?
Odpowiedzi:
Wygląda na to, że masz wartości odstające:
W przypadku „i” opcja polega na zastosowaniu algorytmu filtra gruntu, który może uwzględnić „ujemne błędy”, aby uzyskać czystą chmurę punktów ziemi LiDAR. Zobacz algorytm Multiscale Curvature Classification (MCC) autorstwa Evansa i Hudaka (2007). Na stronie 4 jest powiedziane:
Poniżej znajduje się post z przykładem użycia MCC-LIDAR:
Po uzyskaniu dokładnej chmury punktów naziemnych LiDAR w celu wykonania dokładnej DEM można znormalizować chmurę punktów i wykluczyć punkty znajdujące się pod powierzchnią DEM (te o wartościach ujemnych). Stosując to samo podejście, można również zająć się punktem o numerze „iii” usuwającym punkty powyżej pewnego stałego progu. Zobacz na przykład:
Następnie pozostawia nam „ii”, na co odpowiada odpowiedź
lasnoise
AlecZ zalecana przez LAStools. Będzie również obsługiwał „iii”, a być może także część „i” (LAStools wymaga licencji). Przytoczono tu także inne narzędzia stworzone specjalnie do sprawdzania / usuwania wartości odstających:filters.outlier
narzędzie PDAL w odpowiedzi Charliego Parra, które zawiera szczegółowe wyjaśnienie sposobu działania tego narzędzia, i z tą zaletą, że PDAL jest wolnym oprogramowaniem.Następnie to, co zostało z zautomatyzowanego procesu (jeśli występuje wartość odstająca), można usunąć ręcznie. Na przykład:
Evans, Jeffrey S. .; Hudak, Andrew T. 2007. Wieloskalowy algorytm krzywizny do klasyfikowania dyskretnego powrotu LiDAR w środowiskach leśnych . Transakcje IEEE dotyczące geologii i teledetekcji. 45 (4): 1029–1038.
źródło
Ja polecam Pdal punkt abstratction danych biblioteki. Miałem dobry sukces przy użyciu PDAL do podobnego problemu z filtrowaniem. Lubię PDAL, ponieważ jest to oprogramowanie typu open source, zapewnia obsługę języka Python i ułatwia mi odtwarzanie przetwarzania i śledzenie moich parametrów filtrowania. Podoba mi się również, ponieważ ma „potoki”, w których można połączyć kilka kroków (np. Przyciąć, odfiltrować, a następnie wyeksportować) i wykonać je jednocześnie. Zauważ, że jeśli masz naprawdę duże chmury punktów, PDAL może nie być tak szybki jak niektóre inne rozwiązania (LASTools, QTM itp.).
Możesz rozwiązać problem odległych punktów za pomocą potoku PDAL podobnego do następującego:
Ten potok odczytuje LAS, przycina go do określonego zakresu UTM, następnie wykonuje filtr, który zaznacza wszystkie odległe punkty, a następnie wykonuje drugi filtr, który zachowuje tylko niepozostałe punkty (tj. Flaga klasyfikacji! = 7), a następnie eksportuje do GeoTIFF o rozdzielczości 1 m. Filtr statystyczny oblicza średnią odległość najbliższego sąsiada, aby sprawdzić, czy punkt jest „zbyt daleko” od sąsiadów, a zatem jest wartością odstającą.
Z dokumentacji :
źródło
Ponieważ OP nie ograniczyło rozwiązań do oprogramowania typu open source, sugerowałbym Quick Terrain Modeler ( QT Modeler ). To wymaga licencji. Załaduj chmurę punktów w QT, a zasadniczo przechylisz ją, aby uzyskać żądany widok profilu, opasujesz klaster, który chcesz usunąć, i po prostu naciśnij klawisz Delete.
źródło
Miałem szczęście po prostu stosując zmienność ogniskową na interpolowanym rastrze. Następnie przypisujesz wartości wariancji do swoich punktów i używasz progu, aby usunąć lokalnie wysokie wariancje, reprezentujące duże odstępstwa od oszacowania lokalnego jądra.
Musisz upewnić się, że rozdzielczość interpolowanej powierzchni jest wystarczająco mała, aby uchwycić lokalną zmienność na poziomie punktu (ów). Rozmiar jądra również będzie miał wpływ, ale dla pojedynczych wartości odstających powinno wystarczyć okno 3x3. Możesz stracić kilka dodatkowych punktów słysząc i tam, ale z lidar masz dużo danych do stracenia.
źródło
Lastools zapewnia dokładnie to, czego potrzebujesz - automatyczne skrypty, które usuną wszystkie te punkty za Ciebie. Jest to jednak koszt licencji, ale jeśli jest to proces, który chcesz szybko wykonać jako zwykłe zadanie, użycie skryptu lasnoise z zestawu narzędzi jest idealną opcją.
Jak zauważył @Andre Silva, ArcGIS ma zestaw narzędzi lasów, z których można korzystać po uruchomieniu narzędzia do geoprzetwarzania Utwórz zestaw danych LAS. Stamtąd możesz przejść ręcznie, aby przeklasyfikować lub usunąć te punkty szumu. Wadą jest to, że nie jest tak intuicyjny ani skuteczny jak QT Modeler (sugerowany przez @auslander), prawdopodobnie najlepszy program do ręcznej wizualizacji / analizy / manipulacji plikami lasów, a także z kosztem licencji. ArcMap ograniczy liczbę widocznych punktów podczas edycji chmury punktów, co oznacza, że prawdopodobnie będziesz musiał powiększyć obszary z hałasem, usunąć je lub przeklasyfikować, a następnie przejść w ramach ręcznego czyszczenia. Ale to załatwi sprawę.
źródło
Jak powiedział Andre Silva , MCC-LIDAR jest dobrą opcją do wyodrębnienia punktów naziemnych, ale z mojego doświadczenia będzie walczył, jeśli masz bardzo dużą chmurę punktów (500 milionów punktów lub nawet mniej). Innymi słowy, zwróci błąd i nie uruchomi algorytmu, nawet jeśli zmienisz ustawienia (parametry skali i krzywizny). Z mojego doświadczenia wynika, że zachowuje niektóre „negatywne błędy” w danych.
Moją alternatywą jest odwrócenie chmury punktów (punkty pod ziemią wzrosną, a ziemia nad ziemią spadnie). Aby to uzyskać, ładuję dane do R i odwracam wysokość, a następnie uruchamiam MCC-LIDAR i ponownie odwracam dane. Prawdopodobnie możesz to zrobić w QGIS lub ArcGIS, ale w zależności od rozmiaru zestawu danych może to zająć trochę czasu.
Narzędzie PDAL ziemia jest również opcja dobre, jak to działa lepiej z większych zbiorów danych, ale ponownie, niektóre z punktów ryczeć ziemia nadal będzie zachowany. Odwrócenie zestawu danych ponownie pomoże rozwiązać ten problem.
Jeśli chodzi o punkty nad ziemią, moim najlepszym podejściem jest ręczne czyszczenie, a najlepsze narzędzie typu open source, jakie znalazłem, jest w CloudCompare. Wybierz
Segment
w menu górnego paska i możesz usunąć wybrane punkty lub wszystkie pozostałe. Użyłem LAStools wcześniej (lasview
narzędzie) do tego, ale sposób działania interfejsu 3D nie jest tak przyjazny dla użytkownika.źródło
Jestem wsparciem technicznym GreenValley International, narzędzie do usuwania wartości odstających w naszym flagowym oprogramowaniu LiDAR360 może być użyte do maksymalnego usunięcia tych błędów, a tym samym do poprawy jakości danych.
Algorytm najpierw wyszuka sąsiednie punkty każdego punktu w sąsiedztwie zdefiniowanym przez użytkownika i obliczy średnią odległość od tego punktu do jego sąsiednich punktów. Następnie oblicza się średnią i standardowe odchylenie tych średnich odległości dla wszystkich punktów. Jeśli średnia odległość punktu od sąsiadów jest większa niż maksymalna odległość (maksymalna odległość = średnia + n * odchylenie standardowe, gdzie n jest liczbą wielokrotną zdefiniowaną przez użytkownika), zostanie uznana za wartość odstającą i zostanie usunięta z oryginału chmura punktów.
źródło
Jako opcja Open Source, 3D Forest ma kilka fajnych narzędzi do automatycznego filtrowania, a także ręczne narzędzia do czyszczenia chmur punktów. Być może będziesz musiał wypróbować różne parametry filtrów, aby uzyskać wymagany wynik. Mimo że jest zorientowany na leśne chmury punktów, wiele narzędzi jest przydatnych w dowolnej chmurze punktów.
źródło