Відсікання даних LAS за допомогою багатокутників формфайлів та програмного забезпечення з відкритим кодом?


10

Я намагаюся обрізати або відфільтрувати файли lidar (.las, .xyz), використовуючи файл форми, який містить кілька полігонів.

Чи є програмне забезпечення з відкритим кодом, яке може виконувати цю просторову операцію?

Мої файли .las величезні, і я можу сказати, що я дуже новачок у даних DEM та аналізі, тому будь-яка допомога буде дуже вітається


1
SAGA GIS також пропонує деякі інструменти для обробки наборів даних LiDAR, але я не маю прямого досвіду роботи з ними. SAGA повністю безкоштовний і з відкритим кодом, тому просто спробуйте :-)
Juhele

1
+1 для SAGA Я цілком пропустив це. У SAGA є модуль під назвою точковий хмароріз , який також може відсікатися за формою: "Цей модуль дозволяє витягувати підмножини з точки хмари. Площа інтересу визначається або обмеженням координатних полів, масштабом сітчаста система або шар фігур, або багатокутники шару фігур. " Є модулі і для інших завдань фільтрації.
lavarider

1
Ти на свій час іще, моя остання мета - відредагувати ці обрізані точки та створити нове місце.
Allen Bustenai

Що стосується ваших відповідей, ви всі мені дуже допомогли, і, як сказав Міхал і Андре, FUSION зробив свою справу.
Аллен Бустенай

Відповіді:


7

Я другий відповідь @Michal Mackiewicz (про Fusion / LTK), тож сподіваюся, що цей приклад допоможе вам пройти його.

Це PolyCLipDataкоманда синтаксису (див. Сторінку керівництва 110):

PolyClipData [switches] PolyFile OutputFile DataFile

Використовуйте текстовий редактор, щоб написати команду перед її запуском (наприклад, NotePad ++). Збережіть файл із розширенням .bat(пакетний файл). Не забудьте зберегти файл перед його запуском.

Припустимо, у вас є:

  1. Fusion / LTK під приводом C: привід.
  2. файл shapefile (shapefile.shp) під C: \ shapefile
  3. набір даних las (lasdata.las) під C: \ las

написати наступне:

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

використовуйте перемикач, multifileякщо ви хочете, щоб лас-файли, створені з полігонів, зберігалися в окремих файлах. Наприклад:

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

використовуйте shapeперемикач разом з, multifileщоб назвати свої декілька OutputFiles зі значеннями, вбудованими в один з dbf стовпців PolyFile. Наприклад, якщо ви хочете назвати файли з інформацією про ідентифікатор (припустимо, ідентифікатор знаходиться у першому стовпці форм-файлу). Написати:

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

Для відсікання Las-файлів із використанням PolyClipDataдекількох форматних файлів однієї частини див. Наступний пост:
Відсікання даних LAS з кількома формами файлів

Для відсікання декількох лас-файлів, які вони вбудовані у файл .txt як параметр файлу даних PolyClipData, див. Наступний пост:
Обрізання даних декількох .las-файлів у форматі багатокутника за допомогою FUSION

Для відсікання декількох лас-файлів у файлів за допомогою (із LAStools Productionпанеллю інструментів) див. Наступний пост:
Відсікання з набору даних LAS з плиткою LASTools (для ArcGIS)


9

FUSION LiDAR Toolkit має можливості відсікання (інструмент PolyClipData), і на відміну від LASTools, його використання не є обмеженим. Однак, незважаючи на те, що існує деякий сховище SVN у SourceForge, опублікований вихідний код є неповним і дуже старим. Якщо ви можете продовжувати, не знаючи коду, і просто використовувати складений двійковий код, тоді FUSION повинен бути добре для цього завдання.


Це дуже цікава частина програмного забезпечення, проте чи можете ви надати посилання на згаданий вами SVN або вихідний код? Я не міг знайти жодного повідомлення про джерела та інформацію про ліцензування . Ні на сторінці розробника, ні в посібнику чи на будь-якому іншому веб-сайті, що рекламує FUSION (наприклад, Служба лісових послуг США, Центр застосувань дистанційного зондування ).
lavarider


ty michal, я спробую це і опублікую результати.
Allen Bustenai

3

WhiteboxTools може відрізати файл LAS на декількох полігонах, що містяться у Shapefile, за допомогою ClipLidarToPolygonінструмента. Використовуючи сценарій Python, ви можете використовувати інструмент наступним чином:

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

Або, якщо ви віддаєте перевагу графічний інтерфейс, ви можете використовувати плагін на основі QGIS або WhiteboxTools Runner, який поширюється ( wb_runner.py ) за допомогою бінарного завантаження бібліотеки:

Інструмент WhiteboxTools Runner ClipLidarToPolygon


2

Для наборів даних LiDAR зазвичай застосовуються різні завдання фільтрації (фільтрування за щільністю точок, низьким проходом, рослинністю, фільтрацією, тощо). Оскільки ви запитуєте про просторову операцію (за участю форм-файлу), я припускаю, що ви шукаєте спосіб вирізати ваш набір даних , тобто виключати точки, що знаходяться поза межами полігону, визначеними файлом форми .

Взагалі, LAStools - це потужний пакет для обробки точкових даних. Це набір інструментів командного рядка, але також приносить простий графічний інтерфейс і інтегрується з QGIS (і, до речі, ArcGIS). Ви можете вільно завантажувати та оцінювати панель інструментів - однак, лише її частини є відкритим кодом (ліцензія LGPL 2.1) - частини з закритим кодом вимагають ліцензування залежно від вашої мети. Ви повинні перевірити, які умови стосуються вас.

Використовуйте шкарпетки від LASTools (із закритим кодом, перевіряйте ліцензування)

Один із інструментів із закритим кодом, lasclip , точно виконує завдання кліпу за формою :

lasclip: приймає як вхідний файл LAS / LAZ / TXT і файл SHP / TXT з одним або багатьма полігонами (наприклад, будівництво слідів), відсікає всі точки, що виходять за межі всіх полігонів (або всередині деяких полігонів), і зберігає збережені вказує на вихідний файл LAS / LAZ / TXT.

Використання просте:

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

(Перевірте штрих README для отримання детальної інформації про використання, більше прикладів та вимог до формату)

Використовуйте las2las з LASTools (відкритий код; лише основні завдання з відсіканням)

Якщо програмне забезпечення із закритим кодом не є варіантом: інструмент las2las може виконувати і прості завдання з відсіканням - однак, ви не можете виконати кліп до багатокутника, визначеного форматом. Можна, наприклад, відсікати прямокутники, кола, висоту, кут сканування, класифікацію чи якість даних. (Див. Його README щодо прикладів використання та деталей.)
На жаль, я не знаю жодного інструменту з відкритим кодом, який би дорівнював функціональності шкарпетки.

Використовуйте libLAS для доступу до файлів LAS в саморобному сценарії

LASTools базується на відкритій, BSD-ліцензованій бібліотеці libLAS . Ви можете використовувати libLAS для доступу до своїх файлів LAS і фільтрувати їх за допомогою спеціального сценарію, наприклад, використовуючи Python .

Звичайно, є й інші можливості, якщо ви зміните потік обробки (наприклад, перетворення LAS на растровий і кліп пізніше), але я вважаю, що найзручнішим способом є якнайдовше працювати з LAS і виконувати всю фільтрацію за допомогою даних хмарної точки себе.


ty lavarider для відповіді, я бачив lasclip, це те, що я шукаю, але закрите джерело не є варіантом, las2las змушує мене переходити фігури на моєму форм-файлі, це залишає мене з liblas, і з іншими рішеннями тут я перевірю це та повідомлення назад
Allen Bustenai

2

Я написав покроковий підручник PDAL, який демонструє, як зробити це завдання в цьому середовищі. Для отримання додаткової інформації див. Підручник із відсіканням PDAL .


Я не міг зараз отримати доступ до гіперпосилання (раніше це було доступно), але навіть якщо це через мій пристрій; відредагуйте принаймні відповідну частину коду, що робить відсікання. Звичайно, мати повний підручник на веб-сайті PDAL - це добре, але відповіді не повинні базуватися лише на зовнішніх джерелах.
Андре Сільва
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.