Cắt dữ liệu LAS bằng đa giác shapefile và phần mềm nguồn mở?


10

Tôi đang cố gắng cắt hoặc lọc các tập tin flipar (.las, .xyz) bằng cách sử dụng một shapefile có chứa nhiều đa giác.

Có phần mềm nguồn mở nào có thể thực hiện thao tác không gian này không?

Các tập tin .las của tôi rất lớn và tôi nên nói rằng tôi rất mới đối với dữ liệu và phân tích DEM vì vậy mọi sự trợ giúp đều rất được hoan nghênh.


1
SAGA GIS cũng cung cấp một số công cụ để xử lý bộ dữ liệu LiDAR, nhưng tôi không có kinh nghiệm trực tiếp với chúng. SAGA hoàn toàn miễn phí và mã nguồn mở, vì vậy hãy thử :-)
Juhele

1
+1 cho SAGA. Tôi hoàn toàn bỏ lỡ cái đó Trong SAGA, có một mô-đun gọi là máy cắt đám mây điểm , cũng có thể cắt theo phạm vi hình dạng: "Mô-đun này cho phép trích xuất các tập hợp con từ Đám mây điểm. Vùng quan tâm được xác định bằng tọa độ hộp giới hạn, phạm vi của một hệ thống lưới hoặc một lớp hình dạng, hoặc bằng đa giác của một lớp hình dạng. " Có các mô-đun cho các nhiệm vụ lọc khác là tốt.
lavarider

1
Vì thời gian của bạn, mục tiêu cuối cùng của tôi là chỉnh sửa những điểm bị cắt và xây dựng một tia laser mới.
Allen Bustenai

ty cho câu trả lời của bạn, tất cả các bạn đã giúp tôi rất nhiều và như michal và andre đã nói, FUSION đã làm điều đó.
Allen Bustenai

Câu trả lời:


7

Tôi thứ hai câu trả lời của @Michal Mackiewicz (về Fusion / LTK), vì vậy tôi hy vọng ví dụ này giúp bạn vượt qua nó.

Đây là PolyCLipDatalệnh cú pháp (xem trang 110 của hướng dẫn sử dụng):

PolyClipData [switches] PolyFile OutputFile DataFile

Sử dụng trình soạn thảo văn bản để viết lệnh trước khi chạy nó (chẳng hạn như NotePad ++). Lưu tệp với phần mở rộng .bat(tệp bó). Đừng quên lưu tập tin trước khi chạy nó.

Giả sử bạn có:

  1. Fusion / LTK theo ổ C :.
  2. tệp shapefile (shapefile.shp) trong C: \ shapefile
  3. bộ dữ liệu las (lasdata.las) trong C: \ las

Viết như sau:

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

sử dụng công tắc multifilenếu bạn muốn các tệp las được tạo từ đa giác được lưu trữ trong các tệp riêng biệt. Ví dụ:

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

sử dụng công shapetắc cùng với multifileđể đặt tên cho nhiều Đầu ra của bạn với các giá trị được nhúng trong một cột dbf của PolyFile. Ví dụ: nếu bạn muốn đặt tên cho các tệp bằng thông tin ID (giả sử ID nằm trong cột đầu tiên của shapefile). Viết:

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

Để cắt các tập tin las bằng cách sử dụng PolyClipDatanhiều shapefile một phần, hãy xem bài sau:
Cắt dữ liệu LAS bằng nhiều shapefile

Để cắt nhiều tệp las có chúng được nhúng trong tệp .txt làm tham số datafile cho PolyClipData, hãy tham khảo bài sau:
Cắt nhiều dữ liệu tệp .las sang shapefile đa giác bằng FUSION

Để cắt nhiều tệp las bằng shapefiles bằng (với LAStools Productionhộp công cụ), hãy tham khảo bài sau:
Cắt từ bộ dữ liệu LAS được lát gạch với LASTools (cho ArcGIS)


9

FUSION LiDAR Toolkit có khả năng cắt (công cụ PolyClipData) và không giống như LASTools, việc sử dụng nó không bị hạn chế. Tuy nhiên, mặc dù thực tế là một số kho lưu trữ SVN trên SourceForge tồn tại, mã nguồn được xuất bản không đầy đủ và rất cũ. Nếu bạn có thể tiến hành mà không biết mã và chỉ sử dụng nhị phân được biên dịch, thì FUSION sẽ ổn cho tác vụ này.


Đây là phần mềm rất thú vị, tuy nhiên, bạn có thể cung cấp một liên kết đến SVN hoặc mã nguồn bạn đã đề cập không? Tôi không thể tìm thấy bất kỳ thông báo nào về nguồn hoặc thông tin cấp phép . Không phải trên trang của nhà phát triển, cũng như trong hướng dẫn sử dụng hoặc trên bất kỳ trang web nào quảng bá FUSION (ví dụ: dịch vụ lâm nghiệp Hoa Kỳ, trung tâm ứng dụng viễn thám ).
lavarider


ty michal, tôi sẽ thử nó và gửi lại kết quả.
Allen Bustenai

3

WhiteboxTools có thể cắt một tệp LAS thành nhiều đa giác có trong Shapefile bằng ClipLidarToPolygoncông cụ. Sử dụng kịch bản Python, bạn có thể sử dụng công cụ như sau:

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

Hoặc, nếu bạn thích GUI, bạn có thể sử dụng plugin dựa trên QGIS hoặc Trình chạy WhiteboxTools, được phân phối ( wb_runner.py ) với tải xuống nhị phân của thư viện:

Công cụ ClipLidarToPolygon của WhiteboxTools


2

Các tác vụ lọc khác nhau khác nhau thường được áp dụng cho các bộ dữ liệu LiDAR (lọc theo mật độ điểm, thông thấp, lọc thực vật, làm mịn nhiệm vụ, v.v.). Khi bạn yêu cầu một hoạt động không gian (liên quan đến một shapefile), tôi giả sử bạn tìm cách để cắt tập dữ liệu của mình , tức là loại trừ các điểm nằm ngoài ranh giới đa giác được xác định bởi một shapefile .

Nói chung, LAStools là một gói mạnh mẽ để xử lý dữ liệu điểm. Nó là một tập hợp các công cụ dòng lệnh, nhưng cũng mang đến một GUI đơn giản và tích hợp với QGIS (và ArcGIS, nhân tiện). Bạn có thể tự do tải xuống và đánh giá hộp công cụ - tuy nhiên, chỉ một phần của nó là nguồn mở (giấy phép LGPL 2.1) - các phần nguồn đóng yêu cầu cấp phép tùy thuộc vào mục đích của bạn. Bạn phải kiểm tra những điều kiện áp dụng cho bạn.

Sử dụng lasclip từ LASTools (nguồn đóng, kiểm tra cấp phép)

Một trong những công cụ nguồn đóng, lasclip , thực hiện chính xác một tác vụ clip-by-shapefile :

lasclip: lấy đầu vào là tệp LAS / LAZ / TXT và tệp SHP / TXT với một hoặc nhiều đa giác (ví dụ: dấu chân tòa nhà), loại bỏ tất cả các điểm nằm ngoài tất cả các đa giác (hoặc bên trong một số đa giác) trỏ đến tệp LAS / LAZ / TXT đầu ra.

Cách sử dụng rất đơn giản:

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

(kiểm tra lasclip README để biết thêm chi tiết khi sử dụng, thêm ví dụ và yêu cầu shapefile)

Sử dụng las2las từ LASTools (nguồn mở; chỉ các tác vụ cắt cơ bản)

Nếu phần mềm nguồn đóng không phải là một tùy chọn: công cụ las2las cũng có thể thực hiện các tác vụ cắt đơn giản - tuy nhiên, bạn không thể cắt vào một đa giác do shapefile xác định. Bạn có thể cắt theo hình chữ nhật, hình tròn, độ cao, góc quét, phân loại hoặc chất lượng dữ liệu chẳng hạn. (Xem README của nó để biết các ví dụ và chi tiết sử dụng.)
Thật không may, tôi không biết về bất kỳ công cụ nguồn mở nào tương đương với chức năng lasclip.

Sử dụng libLAS để truy cập các tệp LAS trong tập lệnh tự tạo

LASTools dựa trên thư viện libLAS được cấp phép BSD . Bạn có thể sử dụng libLAS để truy cập các tệp LAS của mình và lọc chúng bằng một tập lệnh tùy chỉnh, ví dụ như sử dụng Python .

Tất nhiên, có những khả năng khác nếu bạn thay đổi luồng xử lý của mình (ví dụ: chuyển đổi LAS thành raster và clip sau), nhưng tôi nghĩ cách thuận tiện nhất là tiếp tục làm việc với LAS càng lâu càng tốt và thực hiện tất cả quá trình lọc với dữ liệu đám mây điểm chinh no.


ty lavarider đã trả lời, tôi đã thấy lasclip, đó là những gì tôi đang tìm kiếm nhưng nguồn đóng không phải là một lựa chọn, las2las buộc tôi phải đi qua các hình dạng trên shapefile của mình, nó để lại cho tôi với liblas, và với các giải pháp khác ở đây tôi sẽ kiểm tra nó và gửi lại
Allen Bustenai

2

Tôi đã viết một hướng dẫn PDAL từng bước minh họa cách thực hiện nhiệm vụ này trong môi trường đó. Vui lòng xem hướng dẫn cắt PDAL để biết thêm thông tin.


Bây giờ tôi không thể truy cập siêu liên kết (đã được xác nhận trước đó), nhưng ngay cả khi đó là do thiết bị của tôi; chỉnh sửa ít nhất là phần có liên quan của đoạn mã thực hiện việc cắt. Tất nhiên có một hướng dẫn tuân thủ trong trang web của PDAL là tốt, nhưng câu trả lời không nên chỉ dựa trên các nguồn bên ngoài.
Andre Silva
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.