Программа для генерации искусственных отражений в LAS-файлах.
Используется для увеличения плотности ТЛО, в случаях когда имеющейся плотности недостаточно.
Для работы используется laspy.
По умолчанию в config.yaml
следующие значения:
multithreading: True # Использовать потоки
max_threads: 2 # Максимальное количество потоков
multiprocessing: True # Использовать процессы
max_processes: 4 # Максимальное количество процессов
С таким значением одновременно будет обрабатываться 2 файла, а в каждом файле 4 включения.
Таким образом достигается оптимальная производительность.
Не рекомендуется ставить количество потоков или процессов, превышающее количество физических ядер процессора.
Рекомендуемые значения для 64-ядерного процессора:
multithreading: True # Использовать потоки
max_threads: 8 # Максимальное количество потоков
multiprocessing: True # Использовать процессы
max_processes: 32 # Максимальное количество процессов
pip install -r requirements.txt
Все нужные настройки установлены в файле config.yaml
.
Наличие данного файла является обязательным.
При необходимости все настройки можно переопределить в параметрах запуска (см. Пример запуска).
Значения, которые установлены в config.yaml
, взяты из исходной программы IncDen.
- max_distance – максимальное 3D-расстояние в
МЕТРАХ
между двумя соседними точками, между которыми возможна генерация новых точек; - max_angle – максимальный угол в
ГРАДУСАХ
между двумя соседними точками, между которыми возможна генерация новых точек; - angle_distance – расстояние в
МЕТРАХ
в пределах которого угол между двумя соседними точками может игнорироваться; - quantity – сколько точек необходимо сгенерировать между двумя соседними точками;
- point_class – класс для новых точек. Имеет диапазон значений
от 0 до 256
, при значении равным -1 класс точки задается на основании исходных точек, между которыми происходит генерация; - time_diff – максимальная разница в
СЕКУНДАХ
между двумя соседними точками, между которыми возможна генерация новых точек; - ignore_classes – список классов через
ПРОБЕЛ
, для которых не возможна генерация. Причем если в паре точек хотя бы одна имеет класс из данного списка, то генерация не происходит. - test_mode – тестовый режим работы программы (не работает в текущей версии). В этом режиме точки, которые сработали стопорами для генерации изменяются:
- Если сработал стопор по расстоянию – обе точки получают класс
110
; - Если сработал стопор по углу, то обе точки получают класс
111
и в качестве Line задается угол между точками;
- Если сработал стопор по расстоянию – обе точки получают класс
- no_test_mode - отключить тестовый режим;
- multithreading - использовать потоки;
- no_multithreading - не использовать потоки;
- multiprocessing - использовать процессы;
- no_multiprocessing - не использовать процессы;
- max_threads - максимальное количество потоков;
- max_processes - максимальное количество процессов;
- final_sort - сортировать финальные точки по времени;
- no_final_sort - не сортировать финальные точки по времени;
- input_folder - папка с исходными файлами;
- output_folder - папка для результирующих файлов;
- files - список файлов для обработки через
ПРОБЕЛ
, если указан, тоinput_folder
игнорируется. Результирующие файлы будут записаны вoutput_folder
.
Если используются ТОЛЬКО настройки из config.yaml
:
python incden.py
Если используются настройки из my_config.yam
и дополнительно указываются параметры запуска:
python incden.py --config my_config.yaml --max_distance 2.1 --ignore_classes 2 5 8 --max_processes 8 --multiprocessing --no_test_mode --final_sort
Если нужно обработать только выбранные файлы:
python incden.py --files i:\prj\UTM42_WGS84_0008.las i:\prj\UTM42_WGS84_0009.las i:\prj\UTM42_WGS84_0010.las
#### ## ## #### ##### ####### ## ##
## ### ## ## ## ## ## ## # ### ##
## #### ## ## ## ## ## # #### ##
## ## #### ## ## ## #### ## ####
## ## ### ## ## ## ## # ## ###
## ## ## ## ## ## ## ## # ## ##
#### ## ## #### ##### ####### ## ##
Welcome to LAS & LIDAR Processing Tool
Increasing point cloud density with love
💙