23/12/2021

Аэрофотосьемка. Часть третья. Ручная обработка фотографий, и центров фотографирования, создание списка фото с уточненными координатами центров фотографирования

По тексту предполагается, что вы уже выполнили аэрофотосьемку, и обработали сырые данные GNSS с геодезического приемника дрона.

Вот архив, его желательно распаковать в папку windows (содержит утилиты sed, extiftool, скрипты для sed)
Для дальнейших действий удобно поставить https://mridgers.github.io/clink/ ,это замена командной строки windows, cmd.exe, только запоминает команды (например по стрелке вверх вылезают предыдущие введенные команды, по tab подсказывает папку или команду по первым буквам)
Также рекомендую поставить https://cygwin.com/ (хотя и не обязательно).

Все дальнейшие действия из того, что уже обработал в Emlid Studio или RTKLIB файлы ubx коптера и сырые данные базовой станции GNSS и у меня появился файлы событий (время)_events.pos. (например gnss_123839_events.pos).

Удобно отсортировать данные: один полет - одна папка с фото. Я, например разбрасываю так:
Папка day1 - день полета
в ней папка GNSS - в ней все файлы ubx с коптера и база. Там все считаю, добрасываю в папку PPP данные, что помогут вытянуть FIX в RTKLIB. Потом копирую файл событий (время)_events.pos в папку day1
папка d1_p1 - в ней фотографии с коптера,  день первый, полет первый.

Теперь по обработке:
например фотографии в папке C:\Copter\day1\d1_p1\
пуск - выполнить - cmd
появиться командная строка
в ней набрать
cd C:\Copter\day1
потом набрать
to_csv.bat d1_p1

Содержимое файла bat
exiftool.exe -csv -r %1 -c "%%+.7f" -GPSLatitude -GPSLongitude -GPSAltitude >%1.csv
sed -i -f %WINDIR%\exif2excel.script %1.csv

Первая команда выгружает в файл csv списком папку,имяфайла, координаты из данных фотографии.
Вторая  команда файл csv почистит и подготовит содержимое для команды Копировать-вставить в Excel
Вот что вышло в итоге:


Вот содержимое файла после работы скрипта to_csv.bat - это данные из фотографий, высоты округленные до 0,1 метра, координаты 6 знаков после запятой

Теперь берем файлы событий (время)_events.pos, их можно положить сюда же C:\Copter\day1\
тогда в cmd пишем
cd C:\Copter\day1
sed -i -f %WINDIR%\events_pos.script *_events.pos 
(Эта команда чистит ВСЕ файлы событий, те, что лежат в папке, от избыточной информации, то, что не нужно потом, для Excel, оставит только список из координат и высот. 

А вот содержимое файла событий с GPS после чистки, высоты до 4 знаков после запятой, координаты 9 знаков после запятой.

Теперь я беру Excel и открываю этот файл
Следом, открываю в notepad файл .csv, (список фотографий и неточных координат фотографий) выделить все, скопировать.
В Excel вставляю данные в ячейку A3.
Видно будет только имена файлов, так как столбцы BCD с координатами неточными скрыты. 
В столбцах KLM появятся отклонения, но по факту это будут неточные координаты от фото.

открываю в notepad файл событий (время)_events.pos, выделить все, скопировать.

Вставляю в ячейку F2 (если у меня первое событие в файле включение на земле, это видно по высотам, например первое событие высота 200 метров, второе событие 300 метров = коптер стоял на земле 200 м - первое событие, коптер взлетел и сделал первое фото 300 м - второе событие).



Теперь в столбцах KLM появятся отклонения от координат фото и координат расчета GPS.
Как правило, по XY отклонения 0,0001-0,0002, это нормально.
Тут я проматываю файл Excel вниз и смотрю, совпало ли у меня количество событий и количество фото.
Бывает что не совпадает, тогда по отклонениям можно найти сбой, но в 90% случаев количество событий (кроме первого, на земле) и количество фотографий совпадает.
Тогда я беру и выделяю ячейки A3-H3 - и вниз до конца, копировать, вставить в пустой файл, файл сохранить,теперь это файл с именами фото, и верными координатами, и его принимает Agisoft Photoscan.

Результирующий файл. Содержимое Папка/файл, точные координаты, точные высоты.


Комментариев нет: