Czy przycinać dane LAS za pomocą wielokątów kształtu i oprogramowania typu open source?

10

Próbuję przycinać lub filtrować pliki lidar (.las, .xyz) przy użyciu pliku kształtu zawierającego wiele wielokątów.

Czy istnieje oprogramowanie typu open source, które może wykonać tę operację przestrzenną?

Moje pliki .las są ogromne i powinienem powiedzieć, że jestem nowy w zakresie danych i analiz DEM, więc każda pomoc byłaby bardzo mile widziana.

Allen Bustenai
źródło
1
SAGA GIS oferuje również niektóre narzędzia do przetwarzania zestawów danych LiDAR, ale nie mam z nimi bezpośredniego doświadczenia. SAGA jest całkowicie darmowa i otwiera oprogramowanie, więc po prostu spróbuj :-)
Juhele
1
+1 dla SAGA. Całkowicie za tym tęskniłem. W SAGA istnieje moduł zwany obcinaczem chmury punktów , który może również przycinać według zakresu kształtu: „Moduły te pozwalają wyodrębniać podzbiory z chmury punktów. Obszar zainteresowania jest definiowany albo przez współrzędne ramki granicznej, zasięg system siatki lub warstwa kształtów lub wielokąty warstwy kształtów. ” Istnieją również moduły do ​​innych zadań filtrowania.
lavarider
1
Jeśli chodzi o twój czas i jeszcze raz, moim ostatecznym celem jest edycja tych obciętych punktów i zbudowanie nowego lasu.
Allen Bustenai
Jeśli chodzi o wasze odpowiedzi, wszyscy bardzo mi pomogliście, a jak powiedzieli michal andre, FUSION załatwiło sprawę.
Allen Bustenai

Odpowiedzi:

7

Popieram odpowiedź @ Michała Mackiewicza (o Fusion / LTK), więc mam nadzieję, że ten przykład pomoże ci przejść przez to.

To jest PolyCLipDatapolecenie składniowe (patrz strona 110 instrukcji):

PolyClipData [switches] PolyFile OutputFile DataFile

Użyj edytora tekstu, aby napisać polecenie przed jego uruchomieniem (np. NotePad ++). Zapisz plik z rozszerzeniem .bat(plik wsadowy). Nie zapomnij zapisać pliku przed uruchomieniem.

Załóżmy, że masz:

  1. Fusion / LTK pod napędem C:
  2. plik shapefile (shapefile.shp) w ​​folderze C: \ shapefile
  3. zestaw danych las (lasdata.las) w C: \ las

napisz następujące:

c:\fusion\polyclipdata c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las

użyj przełącznika, multifilejeśli chcesz, aby pliki lasów generowane z wielokątów były przechowywane w osobnych plikach. Na przykład:

c:\fusion\polyclipdata /multifile c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las 

użyj shapeprzełącznika razem z, multifileaby nazwać wiele OutputFiles wartościami osadzonymi w jednej z kolumn dbf w PolyFile. Na przykład, jeśli chcesz nazwać pliki informacjami o identyfikatorze (załóżmy, że identyfikator znajduje się w pierwszej kolumnie pliku kształtu). Pisać:

c:\fusion\polyclipdata /multifile /shape:1,* c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las 

Aby przycinać pliki lasów za PolyClipDatapomocą wielu plików kształtów jednoczęściowych, zobacz następujący wpis:
Obcinanie danych LAS za pomocą wielu plików kształtów

Aby przyciąć wiele plików Las, których osadzone są one w pliku .txt jako parametr pliku danych PolyClipData, zapoznaj się z następującym postem:
Przytnij dane wielu plików .las do pliku kształtu wielokąta za pomocą FUSION

Aby przycinać wiele plików za pomocą plików kształtów za pomocą (z LAStools Productionprzybornikiem), zapoznaj się z następującym postem:
Wycinanie z zestawu danych LAS z kafelkami za pomocą LASTools (dla ArcGIS)

Andre Silva
źródło
9

FUSION LiDAR Toolkit ma możliwości przycinania (narzędzie PolyClipData) iw przeciwieństwie do LASTools, jego użycie jest nieograniczone. Jednak pomimo faktu, że istnieje pewne repozytorium SVN na SourceForge, opublikowany kod źródłowy jest niekompletny i bardzo stary. Jeśli możesz kontynuować bez znajomości kodu i po prostu użyć skompilowanego pliku binarnego, FUSION powinno wystarczyć do tego zadania.

Michał Mackiewicz
źródło
To bardzo interesujące oprogramowanie, jednak czy możesz podać link do SVN lub wspomnianego kodu źródłowego? Nie mogłem znaleźć żadnego powiadomienia o źródłach ani informacjach licencyjnych . Ani na stronie programisty, ani w instrukcji, ani na żadnej innej stronie promującej FUSION (np. Amerykańska służba leśna, centrum aplikacji teledetekcji ).
lavarider
1
Oto jesteś: sourceforge.net/projects/fusion-lidar
Michał Mackiewicz
ty michal, spróbuję i opublikuję wyniki.
Allen Bustenai
3

Narzędzie WhiteboxTools może przycinać plik LAS do wielu wielokątów zawartych w pliku Shapefile ClipLidarToPolygon. Korzystając ze skryptów Python, możesz użyć tego narzędzia w następujący sposób:

from WBT.whitebox_tools import WhiteboxTools

wbt = WhiteboxTools()

wbt.work_dir = "/path/to/data/"
wbt.clip_lidar_to_polygon(i="input.las", polygons="polygons.shp", ouput="ouput.las")

Lub, jeśli wolisz GUI, możesz użyć wtyczki opartej na QGIS lub WhiteboxTools Runner, który jest dystrybuowany ( wb_runner.py ) wraz z binarnym pobieraniem biblioteki:

Narzędzie WhiteboxTools Runner ClipLidarToPolygon

WhiteboxDev
źródło
2

W zestawach danych LiDAR powszechnie stosuje się różne różne zadania filtrowania (filtrowanie według gęstości punktów, dolnoprzepustowy, filtrowanie roślinności, zadania wygładzania i tak dalej). Gdy pytasz o operację przestrzenną (obejmującą plik kształtu), zakładam, że szukasz sposobu na przycięcie zestawu danych , tj. Wykluczenie punktów, które znajdują się poza granicami wielokąta zdefiniowanymi przez plik kształtu .

Ogólnie LAStools to potężny pakiet do przetwarzania danych punktowych. Jest to zestaw narzędzi wiersza poleceń, ale zapewnia również prosty interfejs GUI i integruje się z QGIS (a propos ArcGIS). Możesz swobodnie pobierać i oceniać zestaw narzędzi - jednak tylko jego części są typu open source (licencja LGPL 2.1) - części z zamkniętym kodem źródłowym wymagają licencji w zależności od celu. Musisz sprawdzić, jakie warunki Cię dotyczą.

Użyj lasclip z LASTools (zamknięte źródło, sprawdź licencje)

Jedno z narzędzi o zamkniętym źródle, lasclip , dokładnie wykonuje zadanie typu klip po pliku :

lasclip: pobiera jako dane wejściowe plik LAS / LAZ / TXT i plik SHP / TXT z jednym lub wieloma wielokątami (np. ślady budynków), odcina wszystkie punkty znajdujące się poza wszystkimi wielokątami (lub wewnątrz niektórych wielokątów) i przechowuje pozostałe przy życiu wskazuje na wyjściowy plik LAS / LAZ / TXT.

Użycie jest proste:

lasclip -i input_file.las -poly polygons.shp -o output_file.las -verbose

(sprawdź plik README dla lasclip, aby uzyskać dodatkowe informacje na temat użytkowania, więcej przykładów i wymagania dotyczące plików kształtów)

Użyj las2las z LASTools (open-source; tylko podstawowe zadania przycinania)

Jeśli oprogramowanie z zamkniętym kodem źródłowym nie jest opcją: narzędzie las2las może również wykonywać proste zadania przycinania - jednak nie można przycinać do wielokąta zdefiniowanego w pliku kształtu. Możesz na przykład przycinać według prostokątów, okręgów, wysokości, kąta skanowania, klasyfikacji lub jakości danych. (Zobacz przykłady użycia i szczegółowe informacje na ten temat w pliku README .)
Niestety, nie znam żadnego narzędzia typu open source, które byłoby porównywalne z funkcją Lasclip.

Użyj libLAS, aby uzyskać dostęp do plików LAS we własnym skrypcie

LASTools oparte są na bibliotece libLAS na licencji open source, licencjonowanej przez BSD . Możesz użyć libLAS, aby uzyskać dostęp do plików LAS i filtrować je za pomocą skryptu niestandardowego, np. Używając Pythona .

Oczywiście istnieją inne możliwości, jeśli zmienisz przepływ przetwarzania (np. Konwersję LAS do rastra i przycinanie później), ale myślę, że najwygodniejszym sposobem jest kontynuowanie pracy z LAS tak długo, jak to możliwe i przeprowadzenie całego filtrowania z danymi chmury punktów samo.

lavarider
źródło
ty lavarider za odpowiadanie, widziałem Lasclip, to jest to, czego szukam, ale zamknięte źródło nie jest opcją, las2las zmusza mnie do przejścia do kształtów na moim pliku kształtu, pozostawia mi liblas, a przy innych rozwiązaniach tutaj sprawdzę i
odeślij
2

Napisałem krok po kroku samouczek PDAL, który pokazuje, jak wykonać to zadanie w tym środowisku. Aby uzyskać więcej informacji, zobacz samouczek przycinania PDAL .

Howard Butler
źródło
Nie mogłem teraz uzyskać dostępu do hiperłącza (już wcześniej), ale nawet jeśli jest to spowodowane moim urządzeniem; edytować przynajmniej odpowiednią część kodu, który wykonuje obcinanie. Oczywiście posiadanie pełnego samouczka na stronie PDAL jest fajne, ale odpowiedzi nie powinny opierać się tylko na źródłach zewnętrznych.
Andre Silva