Начало работы с libLAS¶
Contents
Обработка¶
Утилиты командной строки libLAS предоставляют много пользовательских функций, при том, что всё это поддерживается одной библиотекой — libLAS. Ниже приведён список стандартных операций, которые могут быть проведены с данными лазерного сканирования местности (LAS), а также средства и методы для решения конкретных задач.
Перепроецирование данных LAS¶
Все данные в формате LAS представлены в определенной системе координат, даже если она не описана в LAS-файле. Для наземных LAS-данных описания систем координат могут быть найдены в базе данных EPSG. Ещё один источник информации о системах координат — сайт http://spatialreference.org.
lasinfo --no-check srs.las
Note
Опция –no-check указывает утилите lasinfo, что нужно выводить только информацию из заголовков, без обработки всех точек в файле. Для файла с 10 точками это, конечно, не так критично, но когда точек 50 или 500 миллионов, не стоит ждать полной обработки ради информации из одних заголовков.
Вывод lasinfo сообщает, что файл srs.las
содержит данные в системе координат
UTM в 17-й зоне.
PROJCS["WGS 84 / UTM zone 17N",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",-81],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","32617"]]
Теперь, когда мы знаем исходную систему координат, мы можем сделать вывод о необходимости перепроецирования данных. В нашем первом примере мы будем использовать систему координат WGS84 Lat/Long EPSG:4326.
las2las srs.las --t_srs EPSG:4326
Процесс завершён, однако, после быстрой проверки данных командой lasinfo output.las
,
мы обнаруживаем проблему:
...
Scale Factor X Y Z: 0.01 0.01 0.01
Offset X Y Z: -0.00 -0.00 -0.00
...
Min X, Y, Z: -83.43, 39.01, 170.58,
Max X, Y, Z: -83.43, 39.01, 170.76,
Файл srs.las
имеет масштаб 0.01 или точность два знака после запятой для координат X, Y, и Z.
Для данных в UTM это нормально, поскольку они подразумевают точность 1 см. В десятичных
градусах системы координат WGS84 Lat/Long это означает большую потерю точности. Нам нужно установить
значение масштаба, сохраняющее нужную точность:
las2las --t_srs EPSG:4326 srs.las --scale 0.000001 0.000001 0.01
Повторная проверка даёт более подходящий результат:
...
Scale Factor X Y Z: 0.000001 0.000001 0.01
Offset X Y Z: -0.000000 -0.000000 -0.00
...
Min X, Y, Z: -83.427598, 39.012599, 170.58
Max X, Y, Z: -83.427548, 39.012618, 170.76
Перевод LAS-файла в текстовый формат¶
las2txt input.las --parse xyzti