Fotos nach Zeit zu Zeilen zuordnen (Datenmanagement)

Zusammenfassung

Gleicht Fotodateien nach den Foto- und Zeilenzeitstempeln mit Tabellen- oder Feature-Class-Zeilen ab. Die Zeile mit dem Zeitstempel der der Erfassungszeit eines Fotos am nächsten liegt, wird mit diesem Foto abgeglichen. Erstellt eine neue Tabelle, die die ObjectIDs aus den Eingabezeilen und die entsprechenden Fotopfade enthält. Fügt den Zeilen der Eingabetabelle optional als Geodatabase-Anlagen entsprechende Fotodateien hinzu.

Abbildung

Abbildung "Fotos nach Zeit zu Zeilen zuordnen"
Eingabezeile 5 wird mit keinem Foto verglichen, da andere Zeilen Zeitstempel haben, die näher an den Zeitstempeln der Fotodateien liegen.

Verwendung

  • Dieses Werkzeug kann verwendet werden, um GPS-erfasste Features mit digitalen Fotos zu vergleichen, die zur gleichen Zeit wie das GPS-Feature aufgenommen wurden.

  • Die Ausgabetabelle enthält vier Attributfelder:

    • IN_FID: Die Objekt-ID einer Eingabezeile, deren Zeitstempel dem Zeitstempel eines Fotos entspricht.
    • Photo_Path: Der vollständige Pfad zu einer Fotodatei, deren Zeitstempel dem Zeitstempel der Eingabezeile entspricht, die im Feld IN_FID identifiziert wurde.
    • Photo_Name: Der Kurzname der Fotodatei.
    • Match_Diff: Der Unterschied zwischen den Zeitstempeln einer Fotodatei und der entsprechenden Eingabezeile. Dieser numerische Wert ist in der Einheit angegeben, die im Parameter Zeitdifferenz festgelegt wurde.

  • Shapefile- und dBASE-Daten werden für die Eingabetabelle unterstützt; es wird jedoch empfohlen, Geodatabase-Daten zu verwenden, da ein Datumsfeld in einer Shapefile- oder dBASE-Tabelle nicht sowohl Datums- als auch Uhrzeitinformationen speichern kann.

    Weitere Informationen zu Einschränkungen bei Shapefiles

  • Da eine einzelne Eingabezeile möglicherweise einen Zeitstempel hat, der dem Zeitstempel von mehreren Fotos entspricht, kann die Ausgabetabelle mehrere Zeilen mit der selben IN_FID enthalten (jede Zeile in der Ausgabe verweist auf eine Übereinstimmung zwischen einem Foto und einer Eingabezeile).

  • Die Ausgabetabelle kann mithilfe des Ausgabefeldes IN_FID und der OBJECTID der Eingabe mit der Eingabetabelle verbunden werden. Wenn die Ausgabetabelle mehrere Zeilen mit der selben IN_FID enthält (einer Eingabezeile entsprechen mehrere Fotos), verwenden Sie eine Verbindung oder eine Beziehungsklasse, um die Ausgabe mit der Eingabe zu verknüpfen.

  • Das Zeitfeld muss vom Typ Date sein. Zum Konvertieren der Text- oder numerischen Felder in ein Feld vom Typ Date verwenden Sie das Werkzeug Zeitfeld konvertieren.

  • Auch wenn ein GPS-Punkt und ein digitales Foto genau zur gleichen Zeit erfasst werden, entsprechen die von den Geräten aufgezeichneten Zeiten möglicherweise verschiedenen Zeitzonen. Zum Beispiel zeichnen GPS-Geräte oft Zeiten in koordinierter Weltzeit (UTC) oder Greenwich Mean Time (GMT) auf, während digitale Kameras oft Zeiten in einer lokalen Zeitzone aufzeichnen. Um Zeitstempelunterschiede abzugleichen, die sich aus verschiedenen Zeitzonen ergeben, verwenden Sie das Werkzeug Zeitzone konvertieren, um das Zeitfeld der Eingabetabelle zu ändern und an die Zeitzone des Fotodateizeitstempels anzupassen.

    Ebenso kann es sein, dass die Uhr der GPS-Einheit nicht mit der Uhr der Digitalkamera synchron ist. Damit Foto und GPS-Punkt einander zugeordnet werden können, wenn diese Uhren nicht synchron sind, bestimmen Sie die Differenz zwischen den beiden Uhren, und geben Sie diesen Wert für den Parameter Zeitdifferenz ein.

  • Die Parameter Zeittoleranz und Zeitdifferenz müssen in Sekunden angegeben werden. Im Internet sind verschiedene Dienstprogramme zu finden, mit denen berechnet werden kann, wie vielen Sekunden eine andere Zeiteinheit entspricht. So entsprechen 3 Minuten und 12 Sekunden z. B. 192 Sekunden.

Parameter

BeschriftungErläuterungDatentyp
Eingabeordner

Die Ordner, in denen sich die Fotodateien (.jpg oder .tif) befinden. Dieser Ordner wird rekursiv nach Fotodateien gescannt; alle Fotos auf der Basisebene des Ordners und in allen Unterordnern werden der Ausgabe hinzugefügt.

Folder
Eingabetabelle

Die Tabelle oder Feature-Class, deren Zeilen mit Fotodateien verglichen werden. Die Eingabetabelle ist normalerweise eine Point-Feature-Class, die PPS-Aufnahmen darstellt.

Table View
Zeitfeld

Das Datums-/Uhrzeitfeld in der Eingabetabelle, das angibt, wann jede Zeile aufgezeichnet oder erstellt wurde. Muss ein Datumsfeld sein; kann kein Zeichenfolgen- oder Zahlenfeld sein.

Field
Ausgabetabelle

Die Ausgabentabelle mit den OBJECTIDs aus der Eingabetabelle, die einem Foto entsprechen, sowie der entsprechende Fotopfad. Nur OBJECTIDs aus der Eingabetabelle, die einem Foto entsprechen, werden in die Ausgabetabelle aufgenommen.

Table
Tabelle mit nicht zugeordneten Fotos
(optional)

Die optionale Ausgabetabelle, die alle Fotodateien im Eingabeordner mit einem ungültigen Zeitstempel auflistet, oder alle Fotos, die nicht verglichen werden konnten, da keine Eingabezeile innerhalb der Zeittoleranz vorhanden ist.

Wenn kein Pfad angegeben wird, wird diese Tabelle nicht erstellt.

Table
Fotos als Anlagen hinzufügen
(optional)

Gibt an, ob Fotodateien den entsprechenden Zeilen der Eingabetabelle als Geodatabase-Anlagen hinzugefügt werden. Die Eingabetabelle muss in der Geodatabase-Version 10 oder höher gespeichert werden, damit Fotodateien als Anlagen hinzugefügt werden können.

  • Aktiviert: Fotodateien werden den entsprechenden Zeilen der Eingabetabelle als Geodatabase-Anlagen hinzugefügt. Geodatabase-Anlagen werden intern in die Geodatabase kopiert. Dies ist die Standardeinstellung.
  • Deaktiviert: Fotodateien werden den Zeilen der Eingabetabelle nicht als Geodatabase-Anlagen hinzugefügt.
Boolean
Zeittoleranz
(optional)

Der maximale Unterschied (in Sekunden) zwischen dem Datum/der Uhrzeit einer Eingabezeile und einer Fotodatei, die abgeglichen werden. Wenn eine Eingabezeile und eine Fotodatei Zeitstempel haben, die weiter als diese Toleranz auseinanderliegen, tritt keine Entsprechung auf. Um eine Fotodatei unabhängig von der Größe des Datums-/Uhrzeitunterschieds mit einer Zeile mit dem am nächsten liegenden Zeitstempel zu vergleichen, legen Sie die Toleranz auf 0 fest. Das Zeichen dieses Wertes (- oder +) ist irrelevant; der absolute Wert der angegebenen Zahl wird verwendet.

Verwenden Sie diesen Parameter nicht, um durchgängige Verschiebungen oder Versätze zwischen den vom GPS und der digitalen Kamera aufgezeichneten Zeiten anzupassen. Verwenden Sie den Parameter Zeitdifferenz oder das Werkzeug Zeitzone konvertieren, um die Zeitstempel von den Eingabezeilen zu verlagern, um sie den Zeitstempeln der Fotos anzupassen.

Double
Zeitdifferenz
(optional)

Der Unterschied (in Sekunden) zwischen der internen Uhr der digitalen Kamera, mit der die Fotos aufgenommen wurden, und der GPS-Einheit. Wenn die Uhr der digitalen Kamera im Vergleich zur Uhr der GPS-Einheit nachgeht, verwenden Sie einen positiven Wert; wenn die Uhr der digitalen Kamera im Vergleich zur Uhr der GPS-Einheit vorgeht, verwenden Sie einen negativen Wert.

Wenn z. B. ein Foto mit einem Zeitstempel von 11:35:17 einer Zeile mit einem Zeitstempel von 11:35:32 entsprechen sollte, verwenden Sie eine Zeitdifferenz von 15.

Double

arcpy.management.MatchPhotosToRowsByTime(Input_Folder, Input_Table, Time_Field, Output_Table, {Unmatched_Photos_Table}, {Add_Photos_As_Attachments}, {Time_Tolerance}, {Clock_Offset})
NameErläuterungDatentyp
Input_Folder

Die Ordner, in denen sich die Fotodateien (.jpg oder .tif) befinden. Dieser Ordner wird rekursiv nach Fotodateien gescannt; alle Fotos auf der Basisebene des Ordners und in allen Unterordnern werden der Ausgabe hinzugefügt.

Folder
Input_Table

Die Tabelle oder Feature-Class, deren Zeilen mit Fotodateien verglichen werden. Die Eingabetabelle ist normalerweise eine Point-Feature-Class, die PPS-Aufnahmen darstellt.

Table View
Time_Field

Das Datums-/Uhrzeitfeld in der Eingabetabelle, das angibt, wann jede Zeile aufgezeichnet oder erstellt wurde. Muss ein Datumsfeld sein; kann kein Zeichenfolgen- oder Zahlenfeld sein.

Field
Output_Table

Die Ausgabentabelle mit den OBJECTIDs aus der Eingabetabelle, die einem Foto entsprechen, sowie der entsprechende Fotopfad. Nur OBJECTIDs aus der Eingabetabelle, die einem Foto entsprechen, werden in die Ausgabetabelle aufgenommen.

Table
Unmatched_Photos_Table
(optional)

Die optionale Ausgabetabelle, die alle Fotodateien im Eingabeordner mit einem ungültigen Zeitstempel auflistet, oder alle Fotos, die nicht verglichen werden konnten, da keine Eingabezeile innerhalb der Zeittoleranz vorhanden ist.

Wenn kein Pfad angegeben wird, wird diese Tabelle nicht erstellt.

Table
Add_Photos_As_Attachments
(optional)

Gibt an, ob Fotodateien den entsprechenden Zeilen der Eingabetabelle als Geodatabase-Anlagen hinzugefügt werden.

Lizenz:

Wenn Sie Anlagen hinzufügen möchten, benötigen Sie mindestens eine ArcGIS Desktop Standard-Lizenz, und die Ausgabe-Feature-Class muss in der Geodatabase-Version 10 oder höher vorliegen.

  • ADD_ATTACHMENTS Fotodateien werden den entsprechenden Zeilen der Eingabetabelle als Geodatabase-Anlagen hinzugefügt. Geodatabase-Anlagen werden intern in die Geodatabase kopiert. Dies ist die Standardeinstellung.
  • NO_ATTACHMENTS Fotodateien werden den entsprechenden Zeilen der Eingabetabelle nicht als Geodatabase-Anlagen hinzugefügt.
Boolean
Time_Tolerance
(optional)

Der maximale Unterschied (in Sekunden) zwischen dem Datum/der Uhrzeit einer Eingabezeile und einer Fotodatei, die abgeglichen werden. Wenn eine Eingabezeile und eine Fotodatei Zeitstempel haben, die weiter als diese Toleranz auseinanderliegen, tritt keine Entsprechung auf. Um eine Fotodatei unabhängig von der Größe des Datums-/Uhrzeitunterschieds mit einer Zeile mit dem am nächsten liegenden Zeitstempel zu vergleichen, legen Sie die Toleranz auf 0 fest. Das Zeichen dieses Wertes (- oder +) ist irrelevant; der absolute Wert der angegebenen Zahl wird verwendet.

Verwenden Sie diesen Parameter nicht, um durchgängige Verschiebungen oder Versätze zwischen den vom GPS und der digitalen Kamera aufgezeichneten Zeiten anzupassen. Verwenden Sie den Parameter Zeitdifferenz oder das Werkzeug Zeitzone konvertieren, um die Zeitstempel von den Eingabezeilen zu verlagern, um sie den Zeitstempeln der Fotos anzupassen.

Double
Clock_Offset
(optional)

Der Unterschied (in Sekunden) zwischen der internen Uhr der digitalen Kamera, mit der die Fotos aufgenommen wurden, und der GPS-Einheit. Wenn die Uhr der digitalen Kamera im Vergleich zur Uhr der GPS-Einheit nachgeht, verwenden Sie einen positiven Wert; wenn die Uhr der digitalen Kamera im Vergleich zur Uhr der GPS-Einheit vorgeht, verwenden Sie einen negativen Wert.

Wenn z. B. ein Foto mit einem Zeitstempel von 11:35:17 einer Zeile mit einem Zeitstempel von 11:35:32 entsprechen sollte, verwenden Sie eine Zeitdifferenz von 15.

Double

Codebeispiel

MatchPhotosToRowsByTime – Beispiel (Python-Fenster)

Das folgende Snippet im Python-Fenster veranschaulicht, wie das Werkzeug MatchPhotosToRowsByTime verwendet wird.

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 - Beispiel (eigenständiges Skript)

Das folgende Skript veranschaulicht, wie das Werkzeug MatchPhotosToRowsByTime verwendet wird.

"""
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
# 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")