Étiquette | Explication | Type de données |
Dossier en entrée | Dossier contenant les fichiers photo (.jpg ou .tif). Ce dossier est analysé itérativement à la recherche de fichiers photo. Toutes les photos présentes dans le niveau de base du dossier, ainsi que dans tous les sous-dossiers, seront ajoutées à la sortie. | Folder |
Table en entrée | La table ou la classe d’entités dont les lignes seront appariées avec les fichiers photo. La table en entrée est habituellement une classe d'entités ponctuelles représentant les enregistrements du GPS. | Table View |
Champ temporel | Champ de date de la table en entrée qui indique à quel moment chaque ligne a été capturée ou créée. Il doit être de type Date et ne peut pas être une chaîne ou un nombre. | Field |
Table en sortie | Table en sortie contenant les valeurs d’ID d’objet de la table en entrée appariées à une photo et chemin d’accès à la photo appariée. Seules les valeurs d’ID d’objet de la table en entrée appariées à une photo sont incluses dans la table en sortie. | Table |
Table des photos non appariées (Facultatif) | Table en sortie facultative qui répertorie tous les fichiers photo du dossier en entrée dont l'horodatage est incorrect ou toutes les photos sans correspondance, car il n'existe aucune ligne en entrée dans la tolérance temporelle. Si aucun chemin d’accès n’est spécifié, cette table ne sera pas créée. | Table |
Ajouter des photos en tant que pièces jointes (Facultatif) |
| Boolean |
Tolérance temporelle (Facultatif) | La différence maximale (en secondes) entre la date/l’heure d’une ligne en entrée et d’un fichier photo allant être apparié. Si une ligne en entrée et un fichier photo ont des horodatages dont la différence est supérieure à cette tolérance, aucun appariement n’a lieu. Pour apparier un fichier photo à une ligne avec l’horodatage le plus proche, quelle que soit la différence de date/heure, définissez la tolérance sur 0. Le signe de cette valeur (- ou +) n’est pas pertinent ; la valeur absolue du chiffre spécifié sera utilisée. N’utilisez pas ce paramètre pour ajuster en vue de décalages cohérents entre les heures enregistrées par le GPS et la caméra numérique. Utilisez le paramètre Décalage de l’horloge ou l’outil Convertir le fuseau horaire pour décaler les horodatages des lignes en entrée afin qu’ils correspondent à ceux des photos. | Double |
Décalage de l’horloge (Facultatif) | La différence (en secondes) entre l’horloge interne de la caméra numérique utilisée pour capturer les photos et l’unité GPS. Si l'horloge de l'appareil photo numérique est en retard par rapport à l'horloge de l'unité GPS, utilisez une valeur positive. Si elle est en avance, utilisez une valeur négative. Par exemple, si une photo ayant l’horodatage 11:35:17 doit être appariée à une ligne dont l’horodatage est 11:35:32, utilisez un Décalage d’horloge de 15. | Double |
Synthèse
Apparie les fichiers photo aux lignes de table ou de classe d’entités en fonction des horodatages des photos et des lignes. La ligne ayant l’horodatage le plus proche de la date/heure de capture d’une photo sera appariée à cette photo. Une nouvelle table est créée. Elle contient les valeurs d’ID d’objet des lignes en entrée et les chemins d’accès aux photos appariées. Vous pouvez aussi utiliser cet outil pour ajouter des fichiers photo appariés aux lignes de la table en entrée sous la forme de pièces jointes à la géodatabase.
Illustration
Utilisation
Cet outil permet de faire correspondre des entités capturées par GPS avec des photographies numériques prises en même temps.
La table en sortie contiendra les champs attributaires suivants :
- IN_FID–ID d’objet d’une ligne en entrée dont l’horodatage correspond à l’horodatage d’une photo.
- Photo_Path–Chemin d’accès entier à un fichier photo dont l’horodatage correspond à l’horodatage de la ligne en entrée identifiée dans le champ IN_FID.
- Photo_Name–Nom court du fichier photo.
- Match_Diff–Différence entre les horodatages d’un fichier photo et la ligne en entrée appariée. Cette valeur numérique est exprimée dans l’unité spécifiée dans le paramètre Unité de différence de date/heure.
Même si les données de shapefile et dBASE sont prises en charge pour la table en entrée, nous vous recommandons d’utiliser des données de géodatabase, parce que le champ de date d’un shapefile ou d’une table dBASE ne peut pas stocker d’informations concernant la date et l’heure.
Puisqu’une ligne en entrée unique peut comporter un horodatage qui correspond à celui de plusieurs photos, la table en sortie peut comporter plusieurs lignes ayant la même valeur IN_FID (chaque ligne de la sortie se réfère à un appariement entre une photo et une ligne en entrée).
La table en sortie peut être jointe à la table en entrée à l’aide du champ IN_FID en sortie et de la valeur d’ID d’objet de l’entrée. Lorsque la table en sortie comporte plusieurs lignes ayant la même valeur IN_FID (une ligne en entrée appariée à plusieurs photos), utilisez une relation ou une classe de relations pour relier la sortie à l’entrée.
Le champ d’heure doit être de type Date. Pour convertir des champs de texte ou numériques en un champ de type Date, utilisez l’outil Convertir le champ heure.
Même si un point GPS et une photographie numérique sont capturés à exactement la même heure, les heures enregistrées par les appareils peuvent être dans des fuseaux horaires différents. Par exemple, les appareils GPS enregistrent souvent les heures dans le temps universel coordonné (UTC) ou le temps moyen de Greenwich (GMT), tandis que les caméras numériques les enregistrent souvent dans un fuseau horaire local. Pour réconcilier les différences d’horodatage résultant de fuseaux horaires différents, utilisez l’outil Convertir le fuseau horaire pour modifier le champ d’heure de la table en entrée afin qu’il corresponde au fuseau horaire de l’horodatage du fichier photo.
De même, l’horloge du GPS peut ne pas être synchronisée avec l’horloge de la caméra numérique. Pour bien apparier la photo et le point GPS lorsque ces horloges ne sont pas synchronisées, déterminez la différence entre les deux horloges, puis utilisez cette valeur avec le paramètre Décalage de l’horloge.
Les paramètres Time Tolerance (Tolérance temporelle) et Clock Offset (Décalage de l’horloge) doivent être spécifiés en secondes. Plusieurs utilitaires sur Internet permettent de calculer à combien de secondes est égale une unité de temps différente. Par exemple, 3 minutes et 12 secondes équivalent à 192 secondes.
Paramètres
arcpy.management.MatchPhotosToRowsByTime(Input_Folder, Input_Table, Time_Field, Output_Table, {Unmatched_Photos_Table}, {Add_Photos_As_Attachments}, {Time_Tolerance}, {Clock_Offset})
Nom | Explication | Type de données |
Input_Folder | Dossier contenant les fichiers photo (.jpg ou .tif). Ce dossier est analysé itérativement à la recherche de fichiers photo. Toutes les photos présentes dans le niveau de base du dossier, ainsi que dans tous les sous-dossiers, seront ajoutées à la sortie. | Folder |
Input_Table | La table ou la classe d’entités dont les lignes seront appariées avec les fichiers photo. La table en entrée est habituellement une classe d'entités ponctuelles représentant les enregistrements du GPS. | Table View |
Time_Field | Champ de date de la table en entrée qui indique à quel moment chaque ligne a été capturée ou créée. Il doit être de type Date et ne peut pas être une chaîne ou un nombre. | Field |
Output_Table | Table en sortie contenant les valeurs d’ID d’objet de la table en entrée appariées à une photo et chemin d’accès à la photo appariée. Seules les valeurs d’ID d’objet de la table en entrée appariées à une photo sont incluses dans la table en sortie. | Table |
Unmatched_Photos_Table (Facultatif) | Table en sortie facultative qui répertorie tous les fichiers photo du dossier en entrée dont l'horodatage est incorrect ou toutes les photos sans correspondance, car il n'existe aucune ligne en entrée dans la tolérance temporelle. Si aucun chemin d’accès n’est spécifié, cette table ne sera pas créée. | Table |
Add_Photos_As_Attachments (Facultatif) | Spécifie si les fichiers photo seront ajoutés aux lignes de la table en entrée en tant que pièces jointes de géodatabase. Remarque :Pour ajouter des pièces jointes, la classe d’entités en sortie doit figurer dans une géodatabase version 10 ou ultérieure.
| Boolean |
Time_Tolerance (Facultatif) | La différence maximale (en secondes) entre la date/l’heure d’une ligne en entrée et d’un fichier photo allant être apparié. Si une ligne en entrée et un fichier photo ont des horodatages dont la différence est supérieure à cette tolérance, aucun appariement n’a lieu. Pour apparier un fichier photo à une ligne avec l’horodatage le plus proche, quelle que soit la différence de date/heure, définissez la tolérance sur 0. Le signe de cette valeur (- ou +) n’est pas pertinent ; la valeur absolue du chiffre spécifié sera utilisée. N’utilisez pas ce paramètre pour ajuster en vue de décalages cohérents entre les heures enregistrées par le GPS et la caméra numérique. Utilisez le paramètre Décalage de l’horloge ou l’outil Convertir le fuseau horaire pour décaler les horodatages des lignes en entrée afin qu’ils correspondent à ceux des photos. | Double |
Clock_Offset (Facultatif) | La différence (en secondes) entre l’horloge interne de la caméra numérique utilisée pour capturer les photos et l’unité GPS. Si l'horloge de l'appareil photo numérique est en retard par rapport à l'horloge de l'unité GPS, utilisez une valeur positive. Si elle est en avance, utilisez une valeur négative. Par exemple, si une photo ayant l’horodatage 11:35:17 doit être appariée à une ligne dont l’horodatage est 11:35:32, utilisez un Décalage d’horloge de 15. | Double |
Exemple de code
L’extrait de la fenêtre Python ci-dessous illustre l’utilisation de la fonction 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)
Le script suivant montre comment utiliser la fonction 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"])
Environnements
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?