Краткая информация
Сопоставляет файлы фото строкам таблиц или классам пространственных объектов по временным меткам фотографий и строк. Строка с временной меткой, ближайшей ко времени создания фото, сопоставляется с этим фото. Создает новую таблицу, содержащую атрибуты ObjectID из входных строк и сопоставленных им путей к фото файлам. Дополнительно добавляет сопоставляемые файлы фото к строкам во входной таблице в виде вложений базы геоданных.
Иллюстрация
Использование
Этот инструмент можно использовать для сопоставления объектов, полученных с помощью GPS, цифровым фотографиям, снятым в то же время, когда был получен GPS-объект.
Выходная таблица содержит четыре атрибутивных поля:
- IN_FID: ID объекта входной строки, чья временная метка сопоставляется временной метке фотографии.
- Photo_Path: полный путь к файлу фотографии, чья временная метка сопоставляется временной метке входной строки, определенной в поле IN_FID.
- Photo_Name: короткое имя файла фотографии.
- Match_Diff: разница между временными метками файла фотографии и сопоставляемой входной строкой. Это числовое значение содержится в единице, заданной в параметре Единица временной разности (Time Difference Unit).
Несмотря на то, что шейп-файл и данные dBASE поддерживаются для входной таблицы, рекомендуется использовать данные базы геоданных, поскольку поле Date в шейп-файле или в таблице dBASE не может одновременно хранить информацию о дате и времени.
Поскольку одна входная строка может иметь временную метку, которая сопоставляется с временными метками нескольких фотографий, выходная таблица может содержать несколько строк с одинаковым полем IN_FID (каждая строка в выходных данных ссылается на соответствие между одной фотографией и одной строкой).
Выходную таблицу можно связать с входной таблицей с помощью выходного поля IN_FID и идентификатора OBJECTID во входных данных. В случае когда выходная таблица содержит несколько строк с одинаковым полем IN_FID (одна входная строка сопоставляется нескольким фотографиям), для связи выходных данных со входными используйте связь (relate) или класс отношений.
Для поля времени необходимо выбрать тип Date. Чтобы конвертировать текстовые или числовые поля в поле Date, используйте инструмент Конвертировать поле времени (Convert Time Field).
Даже если точка GPS и цифровая фотография были записаны одновременно, значения времени, зафиксированные устройствами, могут отличаться в силу разных часовых поясов. Например, GPS устройства часто записывают время в формате Всемирное координированное время (UTC) или Среднее время по Гринвичу (GMT), в то время как цифровые фотокамеры зачастую используют местный временной пояс. Чтобы согласовать разности во временных отметках, вызванные часовыми поясами, используйте инструмент Конвертировать часовой пояс (Convert Time Zone). Этот инструмент изменяет поле времени входной таблицы для соответствия часовому поясу временной метки файла фото.
Часы GPS также могут не быть синхронизированы с часами цифровой камеры. В целях обеспечения соответствия фотографии точке GPS в тех случаях, когда часы не синхронизированы, необходимо определить разницу между двумя часами, после чего использовать это значение для параметра Сдвиг по часам (Clock Offset).
Значения параметров Допуск по времени (Time Tolerance) и Сдвиг по часам (Clock Offset) необходимо указать с точностью до секунды. В Интернете доступны утилиты для расчета значения различных единиц времени в секундах. Например, 3 минуты и 12 секунд равны 192 секундам.
Синтаксис
MatchPhotosToRowsByTime_management (Input_Folder, Input_Table, Time_Field, Output_Table, {Unmatched_Photos_Table}, {Add_Photos_As_Attachments}, {Time_Tolerance}, {Clock_Offset})
Параметр | Объяснение | Тип данных |
Input_Folder | Папка, в которой расположены файлы изображений. Файлы изображений в этой папке сканируются рекурсивно. Изображения, расположенные на корневом уровне папки, а также в любой подчиненной папке, добавляются в выходные данные. | Folder |
Input_Table | Таблица или класс пространственных объектов, строки которых будут сопоставлены файлу фото. Входная таблица, как правило, является классом точечных объектов, который представляет записи GPS. | TableView |
Time_Field | Поле дата/время из входной таблицы указывает время создания или захвата каждой из строк. Должно быть поле даты; нельзя использовать строковое или числовое поле. | Field |
Output_Table | Выходная таблица, содержащая атрибуты OBJECTID из входной таблицы сопоставляет фото и пути к фото файлам. В выходную таблицу включаются только те атрибуты OBJECTID из входной таблицы, которые соответствуют фотографии. | Table |
Unmatched_Photos_Table (Дополнительный) | Дополнительная выходная таблица для фото файлов из входной папки, которые имеют некорректный временная метка, а также файлов фото, которые имеют некорректную временную метку, а также файлов фото, которые не могут быть сопоставлены по причине отсутствия входной строки с временной меткой в пределах допуска по времени. Если путь не указан, таблица не создается. | Table |
Add_Photos_As_Attachments (Дополнительный) | Устанавливает, добавляются ли строки входной таблицы в виде вложений в базе геоданных.
| Boolean |
Time_Tolerance (Дополнительный) | Максимальная разность (в секундах) между датой/временем входной строки и файлом фото, который сопоставляется. Если разность временных меток входной строки и файла фото превышает данный допуск, соответствие не будет установлено. Чтобы сопоставить файл фото строке с ближайшей временной меткой независимо от разности даты/времени, установите допуск 0. Знак этого значения (- или +) не важен, используется абсолютное значение указанного числа. Не используйте этот параметр для настройки последовательных смещений или смещений значений времени, записанных GPS-устройством или цифровой камерой. Чтобы сдвинуть временные метки входных строк для соответствия временным меткам фото, используйте параметр Сдвиг по часам (Clock Offset) или инструмент Конвертировать часовой пояс (Convert Time Zone). | Double |
Clock_Offset (Дополнительный) | Разность (в секундах) между внутренними часами цифровой камеры, с помощью которой получаются фотографии, и GPS-устройством. Если часы цифровой камеры отстают от GPS-устройства, используйте положительное значение; если часы цифровой камеры опережают часы GPS-устройства, используйте отрицательное значение. Например, если фотографию со временной меткой 11:35:17 требуется сопоставить строке со временной меткой 11:35:32, используйте параметр Сдвиг по часам (Clock Offset) со значением 15 . | Double |
Пример кода
MatchPhotosToRowsByTime, пример (окно Python)
Пример скрипта окна Python для использования функции MatchPhotosToRowsByTime.
import arcpy
arcpy.MatchPhotosToRowsByTime_management("c:/data/photos", "c:/data/city.gdb/gps_points", "DateTime", "c:/data/city.gdb/output_table", "", "ADD_ATTACHMENTS", "", 20)
MatchPhotosToRowsByTime, пример (автономный скрипт)
Пример скрипта для использования функции MatchPhotosToRowsByTime.
"""Name: GeoTaggedPhotosToPoints example
Description: Find the points that match photo time stamps, then join the output table
to the input to see which photos match which points
"""
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inFolder = "photos"
inFC = "city.gdb/gps_points"
timeField = "DateTime"
outTable = "city.gdb/output_table"
outUnmatched = "city.gdb/unmatched_photos"
attachmentsOption = "ADD_ATTACHMENTS"
timeDiff = 0
timeOffset = 20
# Execute MatchPhotosToRowsByTime and JoinField
arcpy.MatchPhotosToRowsByTime_management(inFolder, inFC, timeField, outTable, outUnmatched, attachmentsOption, timeDiff, timeOffset)
arcpy.JoinField_management(inFC, "OBJECTID", outTable, "IN_FID", "Photo_Path;Photo_Name;Match_Diff")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Ограничено
- ArcGIS Desktop Standard: Да
- ArcGIS Desktop Advanced: Да