Terrasolid TerraScan. Часть третья. Траектории.
Мы с вами уже немного рассмотрели TerraScan в двух небольших постах (тыц и тыц), хотя так и не приблизились к его практическому применения.
Сегодня я предлагаю вам очередной пост об этой замечательной программе, который конечно ближе к применению, хотя и посвящен траекториям.
Для начала запомним, что траектории не отделимы от самих точек лазерных данных, хотя большинство людей, которые работают с TerraScan, с самими траекториями зачастую (а если честно, то вообще никогда) не сталкиваются.
Работа с траекториями в TerraScan организована через Manage Trajectories, о котором очень подробно написано в TerraScan User’s Guide, поэтому в этом посте будут затронуты лишь основные моменты, а все подробности можно узнать в официальной документации.
Итак, как мы уже заметили выше траектории неотделимы от лазерных данных. Они применяются для очень многих этапов обработки как в TerraScan, так и в TerraMatch, о которой мы тоже постараемся поговорить, но немного позже.
Формат траекторий
TerraScan умеет импортировать несколько видов траекторий:
Название | Тип файла | Содержимое |
---|---|---|
TYXZRPH | Text | Time Northing Easting Elevation Roll Pitch Heading |
TYXZSSSQSS | Text | Time Northing Easting Elevation Skip Skip Skip Quality Skip Skip |
TYXZQSSSS | Text | Time Northing Easting Elevation Quality Skip Skip Skip Skip |
TTXYZHPR | Text | Time Time Easting Northing Elevation Heading Roll Pitch |
TXYZ | Text | Time Easting Northing Elevation |
SBET.OUT | Binary | Proprietary file format of Applanix |
POF 1.1 | Binary | Proprietary file format of Riegl. |
Но вот работа с траекториями происходит уже в собственном бинарном формате TRJ. Описывать этот формат здесь не имеет смысла, так как это уже больше относится к программированию, но если вам интересно, то его строение вы можете посмотреть в TerraScan User’s Guide в разделе “File formats”.
Параметры траекторий
Каждая траектория хранит в себе не только данные о положении сканера в пространстве, но и целый набор дополнительных параметров:
Параметр | Краткое описание |
---|---|
Number | Trajectory number. |
Group | Group number of the trajectory. |
Quality | Attribute that indicates the quality of the trajectory. |
System | Scanner system assigned to the trajectory. |
File | Name of the trajectory binary file on the hard disk. |
Description | Description of the trajectory given in the Trajectory information dialog. |
Vertical video | Name of the video file defined as Video 1 in the Trajectory information dialog. |
Forward video | Name of the video file defined as Video 2 in the Trajectory information dialog. |
Waveform file | Path and name of a waveform file linked to the trajectory. |
Start time | Time stamp at the start of the trajectory. |
End time | Time stamp at the end of the trajectory. |
Duration | Length of the trajectory in seconds. |
Из всех этих параметров можно выделить основные:
- Number – он в конечном итоге будет определять номер включения (flightline) для лазерных точек;
- Group – позволяет отделить разные группы траекторий друг от друга, что очень часто полезно делать в работе;
- Quality – очень важен при проведении коррекций лазерных данных, хотя его и не обязательно выставлять, но правильное разделение траекторий по качеству может помочь TerraMatch определить параметры коррекции данных;
- Start time и End time – определяют диапазон времени съемки, который относится к конкретной траектории.
Время!
Давайте немного отвлечемся от самих траекторий и вспомним о форматах времени (это очень важно).
Как мы знаем время в TerraScan может храниться в трех форматах:
- GPS seconds-of-week – из названия понятно, что этот формат подразумевается хранение количества секунд в пределах недели. Диапазон значений строго ограничен: от 0 до 604800. Обнуление происходит в полночь с субботы на воскресенье;
- GPS standard time – определяется стандартом LAS, из спутникового GPS времени вычитается 1 миллиард секунд. Не может превышать значение в 1.000.000.000 (1 миллиард).
- GPS time – это формат времени без преобразования (считается непрерывно с 06.01.1980), т.е. GPS time = GPS standard time + 1 000 000 000.
Хорошее описание времени есть тут.
Если вы используете GPS seconds-of-week, то сейчас наверно спрашиваете себя: “А какая польза будет от перехода на GPS time или GPS standard time”.
Ответ будет таким: если у вас небольшой проект, который вы отсняли за пару-тройку дней, то никакой разницы не будет. Да даже на большом проекте ничего плохо может и не произойти. Но все же есть вероятность того, что у вас может случиться ситуация, когда одна и та же территория сканировалась с разницей ровно в неделю и при этом обрабатывать данные вам нужно совместно – что тогда вы будете делать? Самый очевидный вариант действий: мы возьмем данные каждой съемки отдельно и зададим им разные номера включений (flightline), и еще траектории в разные группы поместим. Да, хорошо, а что если вам уже дали данные, слитые в один файл? Все, тупик.
Один пример из личного опыта: переход с одной недели на другую в пределах одного включения сканера при использовании GPS seconds-of-week вызывает (или вызывал, если это исправили) ошибки при работе с TerraMatch.
И еще пример. Представьте, что для вас очень важно знать в какое реальное время проводилась съемка. Причем не просто иметь данные о времени съемки в виде: “Мы начали снимать в 15:00 27 января 2015 года и закончили в 17:37 того же дня”, а иметь возможность определить реальное время в любой точке съемки. Если вы работаете с форматом GPS seconds-of-week, то вы всегда должны знать номера дней или конкретные даты, а также использовать алгоритмы пересчета времени из одного формата в другой. Очевидно, что намного удобнее использовать GPS time или GPS standard time , когда и дату, и номер дня, и точное реальное время вы можете узнать просто из самой отметки времени любой точки без использования дополнительной информации.
Поэтому для того, что бы гарантированно избежать всех этих накладываний данных из разных недель и вечных пересчетов с номерами дней лучше использовать GPS time или GPS standard time и вообще забыть о проблеме времени.
Серьезно мы как-то отвлеклись от траекторий, поэтому давайте вернемся обратно к ним, подведя итог.
Заключение
Почему мы сразу подводим итог, а не рассматриваем все подробно?
Дело в том, что писать о траекториях можно очень долго и нудно. Обработка траекторий это вообще очень большой раздел в подготовке лазерных данных для обработки и его описание потянет не просто на пост, а на целое руководство.
Конкретные примеры, в которых более ли менее рассматривается работа с траекториями, вы всегда сможете найти на сайте TerraSolid в разделе обучения.
Поэтому в качестве итога используем небольшой набор тезисов:
- Траектории очень важны при обработке данных лазерного сканирования. Даже если вы занимаетесь только классификацией данных обратите на них свое внимание, потратьте один день на их изучение (для начала этого будет достаточно);
- Старайтесь использовать современные форматы данных. Отдайте предпочтение FASTBINARY или LAS 1.2 взамен устаревшему SCAN16;
- В работе используйте GPS time или GPS standard time.
Вот теперь про траектории закончили и дальше посмотрим настройки самого TerraScan.
Как быть с центрами фотографирования (event) они ссылаются на trj ? Из за разного время не создадутся IML, как их правильно переименовать?
Координаты фото получаются из сопоставления времени срабатывания затвора камеры, который пишется: 1) в log-файл камеры 2)в файлы POSAV и собственно траектории. не очень понятно про разное время.