Сопоставить фотографии строкам по времени (Управление данными)

Краткая информация

Сопоставляет файлы фото строкам таблиц или классам пространственных объектов по временным меткам фотографий и строк. Строка с временной меткой, ближайшей ко времени создания фото, сопоставляется с этим фото. Создается новая таблица, содержащая значения ID объектов из входных строк и сопоставленных им путей к файлам фотографий. Также можно использовать этот инструмент для добавления сопоставляемых файлов фотографий к строкам входной таблице в качестве вложений базы геоданных.

Иллюстрация

Иллюстрация инструмента Сопоставить фотографии строкам по времени
Входная строка 5 не сопоставлена ни одной фотографии, потому что другие строки имеют временные метки более близкие к временным меткам файлов фото.

Использование

  • Этот инструмент можно использовать для сопоставления объектов, полученных с помощью GPS, цифровым фотографиям, снятым в то же время, когда был получен GPS-объект.

  • Выходная таблица будет содержать следующие атрибутивные поля:

    • IN_FID- ID объекта входной строки, временная метка которого совпадает с временной меткой фотографии.
    • Photo_Path- полный путь к файлу фотографии, временная метка которой совпадает с временной меткой входной строки, определенной в поле IN_FID.
    • Photo_Name- краткое имя файла фотографии.
    • Match_Diff- разница между временными метками файла фотографии и соответствующей входной строкой. Это числовое значение выражено в единицах, заданных в параметре Единица разницы времени.

  • Несмотря на то, что шейп-файл и данные dBASE поддерживаются для входной таблицы, рекомендуется использовать данные базы геоданных, поскольку поле даты в шейп-файле или в таблице dBASE не может одновременно хранить информацию о дате и времени.

    Более подробно об ограничениях для шейп-файлов

  • Поскольку отдельная входная строка может иметь временную метку, совпадающую с метками времени нескольких фотографий, выходная таблица может содержать несколько строк с одинаковым значением IN_FID (каждая строка в выходных данных соответствует совпадению между одной фотографией и одной входной строкой).

  • Выходную таблицу можно связать с входной таблицей с помощью выходного поля IN_FID и значения ID входных данных. Если выходная таблица содержит несколько строк с одним и тем же значением поля IN_FID (одна входная строка соответствует нескольким фотографиям), для привязки выходных данных к входным используйте отношение или класс отношений.

  • Поле времени должно быть типа Дата. Чтобы конвертировать текстовые или числовые поля в поле даты, используйте инструмент Конвертировать поле времени.

  • Даже если точка GPS и цифровая фотография были записаны одновременно, значения времени, зафиксированные устройствами, могут отличаться в силу разных часовых поясов. Например, GPS устройства часто записывают время в формате Всемирное координированное время (UTC) или Среднее время по Гринвичу (GMT), в то время как цифровые фотокамеры зачастую используют местный временной пояс. Для того, чтобы привести в соответствие метки времени в разных часовых поясах, используйте инструмент Преобразовать часовой пояс, который позволит изменить поле времени входной таблицы, чтобы оно соответствовало часовому поясу метки времени файла фотографии.

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

  • Значения параметров Допуск по времени и Сдвиг по часам должны указываться в секундах. В Интернете доступны утилиты для расчета различных единиц времени в секундах. Например, 3 минуты и 12 секунд равны 192 секундам.

Параметры

ПодписьОписаниеТип данных
Входная папка

Папка, в которой расположены файлы изображений (.jpg и .tif). Файлы изображений в этой папке сканируются рекурсивно. Изображения, расположенные на корневом уровне папки, а также в любой подчиненной папке, добавляются в выходные данные.

Folder
Входная таблица

Таблица или класс пространственных объектов, строки которых будут сопоставлены файлу фото. Входная таблица, как правило, является классом точечных объектов, который представляет записи GPS.

Table View
Поле времени

Поле даты из входной таблицы указывает время создания или захвата каждой из строк. Это должно быть поле даты; оно не может быть строковым или числовым.

Field
Выходная таблица

Выходная таблица, содержащая ID объекта из входной таблицы с соответствующими фотографиями, и пути к этим фото. В выходную таблицу включаются только те значения ID объектов из входной таблицы, которые соответствуют фотографии.

Table
Таблица несопоставленных фотографий
(Дополнительный)

Дополнительная выходная таблица для фото файлов из входной папки, которые имеют некорректный временная метка, а также файлов фото, которые имеют некорректную временную метку, а также файлов фото, которые не могут быть сопоставлены по причине отсутствия входной строки с временной меткой в пределах допуска по времени.

Если путь не указан, таблица не создается.

Table
Добавить фотографии как вложения
(Дополнительный)
  • Отмечено — файлы фото добавляются в строки входной таблицы в виде вложений в базе геоданных. Вложения копируются непосредственно в базу геоданных. Это значение по умолчанию
  • Не отмечено — файлы фото добавляются в строки входной таблицы в виде вложений в базе геоданных.
Boolean
Временной допуск
(Дополнительный)

Максимальная разность (в секундах) между датой/временем входной строки и файлом фото, который сопоставляется. Если метки времени входной строки и файла фото отличаются на величину, большую чем данный допуск, соответствие не будет установлено. Чтобы файл фотографии соответствовал строке с ближайшей отметкой времени, независимо от того, насколько большой может быть разница между по дате и времени, установите допуск 0. Знак этого значения (- или +) не имеет значения; будет использоваться абсолютное значение указанного числа.

Не используйте этот параметр для настройки последовательных смещений или смещений значений времени, записанных GPS-устройством или цифровой камерой. Чтобы сдвинуть временные метки входных строк так, чтобы они соответствовали временным меткам фото, используйте параметр Сдвиг по часам или инструмент Конвертировать часовой пояс.

Double
Сдвиг часов
(Дополнительный)

Разность (в секундах) между внутренними часами цифровой камеры, с помощью которой получаются фотографии, и GPS-устройством. Если часы цифровой камеры отстают от GPS-устройства, используйте положительное значение; если часы цифровой камеры опережают часы GPS-устройства, используйте отрицательное значение.

Например, если требуется, чтобы фотография с временной меткой 11:35:17 соответствовала строке с временной меткой 11:35:32, используйте Сдвиг по часам со значением 15.

Double

arcpy.management.MatchPhotosToRowsByTime(Input_Folder, Input_Table, Time_Field, Output_Table, {Unmatched_Photos_Table}, {Add_Photos_As_Attachments}, {Time_Tolerance}, {Clock_Offset})
ИмяОписаниеТип данных
Input_Folder

Папка, в которой расположены файлы изображений (.jpg и .tif). Файлы изображений в этой папке сканируются рекурсивно. Изображения, расположенные на корневом уровне папки, а также в любой подчиненной папке, добавляются в выходные данные.

Folder
Input_Table

Таблица или класс пространственных объектов, строки которых будут сопоставлены файлу фото. Входная таблица, как правило, является классом точечных объектов, который представляет записи GPS.

Table View
Time_Field

Поле даты из входной таблицы указывает время создания или захвата каждой из строк. Это должно быть поле даты; оно не может быть строковым или числовым.

Field
Output_Table

Выходная таблица, содержащая ID объекта из входной таблицы с соответствующими фотографиями, и пути к этим фото. В выходную таблицу включаются только те значения ID объектов из входной таблицы, которые соответствуют фотографии.

Table
Unmatched_Photos_Table
(Дополнительный)

Дополнительная выходная таблица для фото файлов из входной папки, которые имеют некорректный временная метка, а также файлов фото, которые имеют некорректную временную метку, а также файлов фото, которые не могут быть сопоставлены по причине отсутствия входной строки с временной меткой в пределах допуска по времени.

Если путь не указан, таблица не создается.

Table
Add_Photos_As_Attachments
(Дополнительный)

Задает, добавляются ли файлы фотографий к строкам входной таблицы в виде вложений базы геоданных.

Примечание:

Для добавления вложений требуется чтобы выходной класс пространственных объектов был в базе геоданных версии 10 или более новой.

  • ADD_ATTACHMENTSНе отмечено: файлы фото не добавляются в строки входной таблицы в виде вложений в базе геоданных. Вложения копируются непосредственно в базу геоданных. Это значение по умолчанию
  • NO_ATTACHMENTSФайлы фото не добавляются в строки входной таблицы в виде вложений в базе геоданных.
Boolean
Time_Tolerance
(Дополнительный)

Максимальная разность (в секундах) между датой/временем входной строки и файлом фото, который сопоставляется. Если метки времени входной строки и файла фото отличаются на величину, большую чем данный допуск, соответствие не будет установлено. Чтобы файл фотографии соответствовал строке с ближайшей отметкой времени, независимо от того, насколько большой может быть разница между по дате и времени, установите допуск 0. Знак этого значения (- или +) не имеет значения; будет использоваться абсолютное значение указанного числа.

Не используйте этот параметр для настройки последовательных смещений или смещений значений времени, записанных GPS-устройством или цифровой камерой. Чтобы сдвинуть временные метки входных строк так, чтобы они соответствовали временным меткам фото, используйте параметр Сдвиг по часам или инструмент Конвертировать часовой пояс.

Double
Clock_Offset
(Дополнительный)

Разность (в секундах) между внутренними часами цифровой камеры, с помощью которой получаются фотографии, и GPS-устройством. Если часы цифровой камеры отстают от GPS-устройства, используйте положительное значение; если часы цифровой камеры опережают часы GPS-устройства, используйте отрицательное значение.

Например, если требуется, чтобы фотография с временной меткой 11:35:17 соответствовала строке с временной меткой 11:35:32, используйте Сдвиг по часам со значением 15.

Double

Пример кода

Пример MatchPhotosToRowsByTime (окно Python)

В следующем сниппете окна Python показано, как использовать функцию MatchPhotosToRowsByTime.

import arcpy
arcpy.management.MatchPhotosToRowsByTime(
    "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
 
# Set environment settings
arcpy.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

# Run MatchPhotosToRowsByTime and JoinField
arcpy.management.MatchPhotosToRowsByTime(inFolder, inFC, timeField, outTable, 
                                         outUnmatched, attachmentsOption, 
                                         timeDiff, timeOffset)
arcpy.management.JoinField(inFC, "OBJECTID", outTable, "IN_FID", 
                           ["Photo_Path", "Photo_Name", "Match_Diff"])

Связанные разделы