Fotos mit Geo-Tags in Punkte (Data Management)
Zusammenfassung
Erstellt Punkte aus den X-, Y- und Z-Koordinateninformationen, die in Fotos mit Geo-Tags gespeichert sind. Fügt optional Features in der Ausgabe-Feature-Class Fotodateien als Geodatabase-Anlagen hinzu.
Bild
Verwendung
Dieses Werkzeug liest die Informationen der Längengrad-, Breitengrad- und Höhenkoordinaten von JPEG- und TIFF-Fotodateien mit gültigen Exif-Metadaten (austauschbares Bilddateiformat) und schreibt diese Koordinaten und zugeordnete Attribute in eine Ausgabe-Point-Feature-Class. Diese Fotos werden oft mit digitalen Kameras mit integrierten oder zusätzlichen GPS-Einheiten oder Smartphones erfasst.
-
Die Ausgabe-Feature-Class enthält drei Attributfelder:
- Pfad - der vollständige Pfad zur Fotodatei, die zum Generieren des Punktes verwendet wurde, z. B. C:\data\photos\Pic0001.jpg
- Name – der Kurzname der Fotodatei, z. B. Pic0001.jpg
- DateTime – das ursprüngliche Erfassungsdatum und die Uhrzeit der Fotodatei, z. B. 2010:11:21 15:23:34
Das Ausgabefeld DateTime ist ein Textfeld mit dem Zeitstempel im Format jjjj:MM:tt HH:mm:ss. Verwenden Sie das Werkzeug Zeitfeld konvertieren, um dieses Textfeld in ein echtes Datums-/Uhrzeitfeld zu konvertieren, das verwendet werden kann, um die Daten mit Zeit zu analysieren und darzustellen.
Wenn die Ausgabe des Feldes DateTime einen leeren oder NULL-Wert hat, kann dies ein Hinweis sein, dass das Gerät keinen verwendbaren Zeitstempel mit dem Geo-Tag-Foto erfasst. Fotodateien können das Aufnahmedatum oder das Änderungsdatum enthalten, aber diese stellen häufig nicht Datum und Uhrzeit der Aufnahme dar.
Wenn die XY-Koordinaten eines Fotos 0,0sind, wird kein Punkt für dieses Foto generiert. Diese leeren Koordinaten treten oft auf, weil das Kamera-GPS kein ausreichendes Signal erhält, um tatsächliche Koordinaten aufzuzeichnen. Wenn der Parameter Fotos ohne Geo-Tags einbeziehen (ALL_PHOTOS bei der Skripterstellung) aktiviert ist, wird das Foto als Ausgabedatensatz mit einer NULL-Geometrie hinzugefügt.
Die Ausgabe-Feature-Class weist den Raumbezug "GCS_WGS_1984" auf, da dieses Koordinatensystem von GPS-Empfängern verwendet wird.
Syntax
Parameter | Erläuterung | Datentyp |
Input_Folder |
Die Ordner, in denen sich die Fotodateien 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 |
Output_Feature_Class |
Die Ausgabe-Point-Feature-Class. | Feature Class |
Invalid_Photos_Table (optional) |
Die optionale Ausgabetabelle, die alle Fotodateien im Eingabeordner mit ungültigen Exif-Metadaten oder leeren GPS-Koordinaten auflistet. Wenn kein Pfad angegeben wird, wird diese Tabelle nicht erstellt. | Table |
Include_Non-GeoTagged_Photos (optional) |
Gibt an, ob der Ausgabe-Feature-Class alle Fotodateien oder nur diejenigen mit gültigen GPS-Koordinaten als Datensätze hinzugefügt werden sollen.
| Boolean |
Add_Photos_As_Attachments (optional) |
Gibt an, ob Fotodateien der Ausgabe-Feature-Class als Geodatabase-Anlagen hinzugefügt werden. Lizenz: Wenn Sie Anlagen hinzufügen möchten, benötigen Sie mindestens eine Lizenz für ArcGIS for Desktop Standard, und die Ausgabe-Feature-Class muss in der Geodatabase-Version 10 oder höher vorliegen.
| Boolean |
Codebeispiel
Das folgende Snippet im Python-Fenster veranschaulicht, wie das Werkzeug "GeoTaggedPhotosToPoints" verwendet wird.
import arcpy
arcpy.GeoTaggedPhotosToPoints_management("c:/data/photos", "c:/data/city.gdb/photo_points", "", "ONLY_GEOTAGGED", "ADD_ATTACHMENTS")
Das folgende Skript veranschaulicht, wie das Werkzeug "GeoTaggedPhotosToPoints" verwendet wird.
"""Name: GeoTaggedPhotosToPoints example
Description: Convert a folder of photos to points, then perform a buffer
"""
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inFolder = "photos"
outFeatures = "city.gdb/photos_points"
badPhotosList = "city.gdb/photos_noGPS"
photoOption = "ONLY_GEOTAGGED"
attachmentsOption = "ADD_ATTACHMENTS"
buffers = "city.gdb/photos_points_buffer"
bufferDist = "1 Miles"
arcpy.GeoTaggedPhotosToPoints_management(inFolder, outFeatures, badPhotosList, photoOption, attachmentsOption)
arcpy.Buffer_analaysis(outFeatures, buffers, bufferDist)