Memotong data LAS menggunakan poligon shapefile dan perangkat lunak sumber terbuka?

10

Saya mencoba untuk klip atau filter file LIDAR (.las, .xyz) menggunakan shapefile yang berisi banyak poligon.

Apakah ada perangkat lunak open source yang dapat melakukan operasi spasial ini?

File .las saya sangat besar, dan saya harus mengatakan bahwa saya sangat baru dalam data dan analisis DEM sehingga bantuan apa pun akan sangat diterima.

Allen Bustenai
sumber
1
SAGA GIS juga menawarkan beberapa alat untuk memproses dataset LiDAR, tetapi saya tidak memiliki pengalaman langsung dengan mereka. SAGA sepenuhnya gratis dan opensource jadi coba saja :-)
Juhele
1
+1 untuk SAGA. Aku benar-benar merindukan yang itu. Dalam SAGA, ada modul yang disebut point cloud cutter , yang juga dapat klip berdasarkan bentuk: "Modul ini memungkinkan untuk mengekstrak himpunan bagian dari Cloud Point. Area yang menarik didefinisikan baik dengan mengikat koordinat kotak, sejauh mana suatu sistem grid atau lapisan bentuk, atau dengan poligon dari lapisan bentuk. " Ada modul untuk tugas penyaringan lainnya juga.
lavarider
1
ty untuk waktu andre Anda, tujuan akhir saya adalah untuk mengedit titik-titik terpotong dan membangun las baru
Allen Bustenai
Untuk tanggapan Anda, Anda semua banyak membantu saya dan seperti yang dikatakan michal dan andre, FUSION melakukan trik.
Allen Bustenai

Jawaban:

7

Saya menjawab kedua @Michal Mackiewicz (tentang Fusion / LTK), jadi saya harap contoh ini membantu Anda melewatinya.

Ini adalah PolyCLipDataperintah sintaks (lihat manual manual halaman 110):

PolyClipData [switches] PolyFile OutputFile DataFile

Gunakan editor teks untuk menulis perintah sebelum menjalankannya (seperti NotePad ++). Simpan file dengan ekstensi .bat(file batch). Jangan lupa untuk menyimpan file sebelum menjalankannya.

Anggap Anda memiliki:

  1. Fusion / LTK di bawah drive C :.
  2. file shapefile (shapefile.shp) di bawah C: \ shapefile
  3. dataset las (lasdata.las) di bawah C: \ las

tulis yang berikut ini:

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

gunakan sakelar multifilejika Anda ingin file las yang dihasilkan dari poligon disimpan dalam file terpisah. Sebagai contoh:

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

gunakan shapesakelar bersama dengan multifileuntuk memberi nama beberapa OutputFile Anda dengan nilai yang disematkan di salah satu kolom dbf PolyFile. Misalnya jika Anda ingin memberi nama file dengan informasi ID (misalkan ID ada di kolom pertama shapefile). Menulis:

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

Untuk kliping file las menggunakan PolyClipDatadengan beberapa shapefile bagian tunggal lihat posting berikut:
Memotong data LAS dengan beberapa shapefile

Untuk memotong beberapa file las yang disematkan dalam file .txt sebagai parameter datafile PolyClipData, lihat posting berikut:
Klip beberapa file .las data ke poligon shapefile menggunakan FUSION

Untuk memotong beberapa file las dengan shapefile menggunakan (dengan LAStools Productionkotak alat) lihat posting berikut:
Kliping dari dataset LAS ubin dengan LASTools (untuk ArcGIS)

Andre Silva
sumber
9

FUSION LiDAR Toolkit memiliki kemampuan kliping (alat PolyClipData) dan tidak seperti LASTools, penggunaannya tidak dibatasi. Namun, meskipun ada beberapa repositori SVN di SourceForge, kode sumber yang diterbitkan tidak lengkap dan sangat lama. Jika Anda dapat melanjutkan tanpa mengetahui kode dan hanya menggunakan biner yang dikompilasi, maka FUSION akan baik-baik saja untuk tugas ini.

Michal Mackiewicz
sumber
Namun, ini adalah perangkat lunak yang sangat menarik, dapatkah Anda memberikan tautan ke SVN atau kode sumber yang Anda sebutkan? Saya tidak dapat menemukan pemberitahuan tentang sumber atau informasi lisensi . Baik pada halaman pengembang, maupun dalam manualnya atau pada situs lain yang mempromosikan FUSION (misalnya layanan hutan AS, pusat aplikasi penginderaan jauh ).
lavarider
1
Inilah Anda: sourceforge.net/projects/fusion-lidar
Michal Mackiewicz
ty michal, saya akan mencobanya dan memposting kembali hasilnya.
Allen Bustenai
3

WhiteboxTools dapat klip file LAS ke beberapa poligon yang terkandung dalam Shapefile menggunakan ClipLidarToPolygonalat ini. Menggunakan skrip Python, Anda dapat menggunakan alat ini sebagai berikut:

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")

Atau, jika Anda lebih memilih GUI, Anda dapat menggunakan plugin berbasis QGIS atau WhiteboxTools Runner, yang didistribusikan ( wb_runner.py ) dengan unduhan biner dari perpustakaan:

Alat WhiteboxTools Runner ClipLidarToPolygon

WhiteboxDev
sumber
2

Berbagai tugas penyaringan yang berbeda biasanya diterapkan pada kumpulan data LiDAR (penyaringan berdasarkan titik kerapatan, low pass, penyaringan vegetasi, tugas perataan dan sebagainya). Ketika Anda meminta operasi spasial (melibatkan shapefile), saya berasumsi Anda mencari cara untuk klip dataset Anda , yaitu mengecualikan poin yang berada di luar batas poligon yang ditentukan oleh shapefile .

Secara umum, LAStools adalah paket yang kuat untuk pemrosesan data titik. Ini adalah seperangkat alat baris perintah, tetapi juga membawa GUI sederhana dan terintegrasi dengan QGIS (dan ArcGIS, omong-omong). Anda dapat mengunduh dan mengevaluasi kotak alat secara bebas - namun, hanya sebagian yang merupakan sumber terbuka (lisensi LGPL 2.1) - bagian sumber tertutup memerlukan lisensi tergantung pada tujuan Anda. Anda harus memeriksa ketentuan apa yang berlaku untuk Anda.

Gunakan lasclip dari LASTools (sumber tertutup, periksa lisensi)

Salah satu alat sumber tertutup, lasclip , secara tepat melakukan tugas clip-by-shapefile :

lasclip: mengambil sebagai input file LAS / LAZ / TXT dan file SHP / TXT dengan satu atau banyak poligon (mis: membangun jejak kaki), memotong semua titik yang berada di luar semua poligon (atau di dalam beberapa poligon), dan menyimpan yang masih hidup menunjuk ke file LAS / LAZ / TXT keluaran.

Penggunaannya mudah:

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

(periksa README lasclip untuk perincian lebih lanjut tentang penggunaan, lebih banyak contoh dan persyaratan shapefile)

Gunakan las2las dari LASTools (open-source; tugas kliping dasar saja)

Jika perangkat lunak sumber tertutup bukan pilihan: alat las2las juga dapat melakukan tugas kliping sederhana - namun, Anda tidak dapat memotong ke poligon yang ditentukan oleh bentuk-bentuk. Anda dapat klip dengan persegi panjang, lingkaran, ketinggian, sudut pindai, klasifikasi atau kualitas data misalnya. (Lihat README untuk contoh dan detail penggunaan.)
Sayangnya, saya tidak mengetahui adanya alat open-source yang sama dengan fungsionalitas lasclip.

Gunakan libLAS untuk mengakses file LAS dalam skrip buatan sendiri

LASTools didasarkan pada perpustakaan libLAS sumber terbuka, berlisensi BSD . Anda dapat menggunakan libLAS untuk mengakses file LAS Anda dan memfilternya dengan skrip khusus, misalnya menggunakan Python .

Tentu saja ada kemungkinan lain jika Anda mengubah aliran pemrosesan Anda (mis., Mengkonversi LAS ke raster dan klip nanti), tapi saya pikir cara yang paling mudah adalah tetap bekerja dengan LAS selama mungkin dan melakukan semua penyaringan dengan data cloud titik diri.

lavarider
sumber
tav lavarider untuk merespons, ive lasclip terlihat, itu adalah apa yang saya cari tetapi sumber tertutup bukan pilihan, las2las memaksa saya untuk pergi ke bentuk pada shapefile saya, itu meninggalkan saya dengan liblas, dan dengan solusi lain di sini saya akan memeriksa dan kirim kembali
Allen Bustenai
2

Saya telah menulis tutorial langkah demi langkah PDAL yang menunjukkan bagaimana melakukan tugas ini di lingkungan itu. Silakan lihat tutorial kliping PDAL untuk informasi lebih lanjut.

Howard Butler
sumber
Saya tidak bisa mengakses hyperlink sekarang (telah mengakses sebelumnya), tetapi bahkan jika itu karena perangkat saya; edit setidaknya bagian yang relevan dari kode yang melakukan kliping. Tentu saja memiliki tutorial complente di situs web PDAL itu bagus, tetapi jawabannya tidak hanya didasarkan pada sumber eksternal.
Andre Silva