時間による写真と行のマッチング(Match Photos To Rows By Time) (データの管理)

ライセンス レベル:BasicStandardAdvanced

サマリ

写真および行のタイム スタンプに従って、写真ファイルとテーブルまたはフィーチャクラスの行を対応付けます。写真の撮影時刻に最も近いタイム スタンプを持つ行が、その写真に対応付けられます。入力行の ObjectID および行に対応する写真のパスを含む、新しいテーブルが作成されます。対応する写真ファイルを、ジオデータベース アタッチメントとして入力テーブルの行に追加することもできます。

Match Photos To Rows By Time illustration

使用法

構文

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

各行が取得または作成された日時を表す入力行の日付/時刻フィールド。このフィールドは、Date 型のフィールドである必要があります。文字列または数値フィールドは指定できません。

Field
Output_Table

写真に対応する入力行の OBJECTID と、対応する写真のパスを含む出力テーブル。対応する写真が見つかった入力行の OBJECTID のみが、出力テーブルに含まれます。

Table
Unmatched_Photos_Table
(オプション)

オプションの出力テーブル。入力フォルダにあるタイム スタンプが無効な写真ファイルと、写真のタイム スタンプの時間許容値内にタイム スタンプが収まる入力行がないために対応付けることができない写真がリストで示されます。

パスが指定されていない場合、このテーブルは作成されません。

Table
Add_Photos_As_Attachments
(オプション)

写真ファイルを、ジオデータベース アタッチメントとして入力テーブルの行に追加するかどうかを指定します。

ライセンスライセンス:

アタッチメントを追加するには、最低でも ArcGIS for Desktop Standard ライセンスが必要です。また、出力フィーチャクラスは、バージョン 10 以上に含まれている必要があります。

  • ADD_ATTACHMENTS 写真ファイルをジオデータベース アタッチメントとして入力テーブルの行に追加します。ジオデータベース アタッチメントは、ジオデータベースに内部的にコピーされます。これがデフォルトです。
  • NO_ATTACHMENTS 写真ファイルをジオデータベース アタッチメントとして入力テーブルの行に追加しません。
Boolean
Time_Tolerance
(オプション)

入力行と対応する写真ファイルとの日付/時刻の最大差(秒)。入力行と写真ファイルのタイム スタンプの差がこの許容値よりも大きい場合は、対応付けが行われません。日付/時刻の差の大きさにかかわらず、写真ファイルを最も近いタイム スタンプを持つ行に対応付ける場合は、許容値を 0 に設定します。この値では符号(- または +)は無関係で、指定された値の絶対値が使用されます。

このパラメータは、GPS およびデジタル カメラで記録された時刻の間で一定のシフトまたはオフセットを調整する目的で使用しないでください。入力行のタイムスタンプをシフトして写真のタイム スタンプと一致させる場合は、[クロック オフセット] パラメータを使用するか、[タイム ゾーンの変換(Convert Time Zone)] ツールを使用します。

Double
Clock_Offset
(オプション)

写真の撮影に使用するデジタル カメラと GPS ユニットの内部時計の時間差(秒)。デジタル カメラの時計が GPS ユニットの時計より遅れている場合は、正の値を指定します。デジタル カメラの時計が GPS ユニットの時計より進んでいる場合は、負の値を指定します。

たとえば、タイム スタンプが 11:35:17 である写真を、タイム スタンプが 11:35:32 である行と対応付ける場合は、[クロック オフセット] に「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 for Desktop Basic: 制限付き
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
7/28/2014