Étiquette | Explication | Type de données |
Couche en entrée | Points ou polygones à reconstruire en pistes. L’entrée doit être une couche temporelle représentant un instant donné dans le temps. | Feature Layer |
Classe d’entités en sortie | Nouvelle classe d’entités avec les pistes résultantes. | Feature Class |
Champs de trace | Un ou plusieurs champs utilisés pour identifier des pistes uniques. | Field |
Méthode | Spécifie les critères utilisés pour reconstruire les pistes. Si une zone tampon est utilisée, le paramètre Method (Méthode) détermine son type.
| String |
Type de zone tampon | Indique comment la distance de la zone tampon sera définie.
| String |
Champ de zone tampon (Facultatif) | Champ qui sera utilisé pour mettre en zone tampon les entités en entrée. Les valeurs de champ sont appliquées dans les unités de la référence spatiale de l’entrée à moins que vous utilisiez un système de coordonnées géographiques, auquel cas elles sont exprimées en mètres. | Field |
Expression de zone tampon (Facultatif) | Expression qui sera utilisée pour mettre en zone tampon les entités en entrée. Les champs doivent être numériques et l’expression peut inclure les opérateurs [+ - * / ] et plusieurs champs. Les valeurs calculées sont appliquées dans les unités de la référence spatiale de l’entrée à moins que vous utilisiez un système de coordonnées géographiques auquel cas elles sont exprimées en mètres. Utilisez des expressions Arcade telles que as_kilometers($feature.distance) * 2 + as_meters(15). Si la couche est ajoutée à la carte, les filtres Fields (Champs) et Helpers (Assistants) permettent de construire une expression. | Calculator Expression |
Fraction temporelle (Facultatif) | Les entités plus éloignées les unes des autres dans le temps que la durée de fraction temporelle sont séparées dans des pistes distinctes. | Time Unit |
Fraction spatiale (Facultatif) | Les entités plus éloignées physiquement les unes des autres que la valeur de fraction spatiale sont séparées dans des pistes distinctes. | Linear Unit |
Fraction de limite temporelle (Facultatif) |
Période dans laquelle fractionner les données en entrée pour analyse. Une limite temporelle vous permet d’analyser des valeurs dans une période temporelle définie. Par exemple, si vous utilisez une limite temporelle de 1 jour et que vous définissez la référence de limite temporelle au 1er janvier 1980, les traces seront fractionnées au début de chaque jour. | Time Unit |
Référence de la limite temporelle (Facultatif) |
Référence temporelle dans laquelle fractionner les données en entrée pour analyse. Les limites temporelles seront créées pour toute la plage des données et il n’est pas nécessaire que la référence temporelle se situe au début. Si aucune référence temporelle n’est indiquée, le 1er janvier 1970 est utilisé. | Date |
Champs de récapitulation (Facultatif) | Statistiques qui seront calculées sur les champs spécifiés.
| Value Table |
Expression de fractionnement (Facultatif) | Expression qui divise les traces en fonction de valeurs, de la géométrie ou de valeurs temporelles. Les expressions dont la validation produit la valeur Vrai sont fractionnées. | Calculator Expression |
Type de fractionnement (Facultatif) | Spécifie la façon dont le segment de piste entre deux entités est créé lorsqu’une piste est fractionnée. Le type de fraction est appliqué aux expressions de fractionnement, aux fractions spatiales et aux fractions temporelles.
| String |
Synthèse
Crée des pistes linéaires ou surfaciques à partir de données en entrée temporelles.
Illustration
Utilisation
L’outil Reconstruire les traces est exécuté sur des entités ponctuelles ou surfaciques. La couche en entrée doit être temporelle et comporter des entités représentant un instant donné dans le temps.
Vous pouvez spécifier un ou plusieurs champs pour identifier des pistes. Les traces sont représentées par un ou plusieurs champs de trace. Par exemple, si les champs flightID et Destination sont utilisés comme identifiants de trace, les entités ID007, Solden et ID007, Tokyo se trouvent dans deux traces distinctes, car les valeurs de leur champ Destination sont différentes.
Les entités qui ont une zone tampon appliquée génèrent des pistes polygonales. Les entités ponctuelles en entrée qui n'ont pas de zone tampon appliquée génèrent des pistes polylinéaires.
Les entités en entrée sont constituées d’entités temporelles qui représentent un instant donné dans le temps. Les résultats sont des entités linéaires ou surfaciques représentant un intervalle dans le temps. Le début et la fin de l’intervalle sont déterminés par l’heure des première et dernière entités d’une trace.
Pour obtenir des résultats linéaires, seules les pistes contenant plusieurs points seront renvoyées. Si vous appliquez une zone tampon, toutes les entités seront renvoyées.
Vous pouvez également appliquer une zone tampon à vos entités en entrée. Lorsque vous appliquez une zone tampon, les traces résultantes sont des entités surfaciques.
Lors de la bufférisation des entités en entrée, chaque entité en entrée est bufférisée. Une enveloppe convexe est générée pour la création d’une piste surfacique.
Les champs utilisés dans l’expression de zone tampon doivent être numériques et sont appliqués à l’aide des unités de la référence spatiale en entrée. Reportez-vous à la rubrique Expressions Arcade dans la boîte d’outils GeoAnalytics Desktop pour obtenir plus d’informations. Vous pouvez utiliser des équations de suivi.
Par défaut, seul le nombre de points ou de polygones d'une piste est calculé. Vous pouvez calculer des statistiques supplémentaires en indiquant une valeur pour le paramètre Summary Fields (Champs de récapitulation).
Par défaut, les pistes sont créées à l’aide de la méthode géodésique. Elle est appliquée aux deux composants suivants de l’analyse :
- Les pistes croisent la liste internationale de changement de date : lorsque vous utilisez la méthode géodésique, les couches en entrée qui croisent la ligne internationale de changement de date comporteront des pistes qui croisent correctement la ligne internationale de changement de date. Il s’agit de l’option par défaut. Votre couche en entrée ou la référence spatiale de traitement doit être définie sur une référence spatiale qui prend en charge le retour à la ligne de la ligne de changement de date, par exemple, une projection globale de type World Cylindrical Equal Area.
- Zones tampon : les entités en entrée peuvent éventuellement être bufférisées. Pour savoir quand appliquer une zone tampon géodésique ou planaire, reportez-vous à la section Créer des zones tampon.
Vous pouvez fractionner les pistes des manières suivantes :
- Time Split (Fraction temporelle) : en fonction d’une durée entre des entrées. L’application d’une fraction temporelle permet de fractionner n’importe quelle piste lorsque l’éloignement des données en entrée est supérieur à la durée spécifiée. Par exemple, si vous disposez de cinq entités associées au même identifiant de piste et aux heures [01:00, 02:00, 03:30, 06:00, 06:30] et que vous paramétrez une fraction temporelle de 2 heures, les entités mesurées à plus de 2 heures d’intervalle seront fractionnées. Dans cet exemple, le résultat produit une piste comportant [01:00, 02:00, 03:30] et [06:00, 06:30], car la différence entre 03:30 et 6:00 est supérieure à 2 heures.
- Time Boundary Split (Limite de fraction temporelle) : en fonction d’intervalles temporels définis. L’application d’une fraction de limite temporelle segmente les pistes à un intervalle défini. Par exemple, si vous définissez la limite temporelle sur une journée, avec un début le 1er janvier 1990 à 9 h 00 (9:00 a.m.), chaque piste sera tronquée à 9 h 00 tous les jours. Cette fraction réduit le temps de calcul car elle crée des pistes plus petites pour l’analyse. Si le fractionnement en fonction d’une limité temporelle récurrente est pertinent pour votre analyse, il est recommandé pour le traitement de Big Data.
- Distance Split (Fraction spatiale) : en fonction d’une distance entre les entrées. L’application d’une fraction spatiale permet de fractionner n’importe quelle piste lorsque l’éloignement des données en entrée est supérieur à la distance spécifiée. Par exemple, si vous définissez une fraction spatiale de 5 kilomètres, les entités séquentielles éloignées de plus de 5 kilomètres apparaîtront sur des pistes différentes.
- Split Expression (Expression de fractionnement) : basée sur une expression Arcade. L’application d’une expression de fractionnement divise les pistes en fonction de valeurs géométriques ou temporelles. Par exemple, vous pouvez diviser les pistes lorsqu’une valeur de champ est plus de deux fois supérieure à la valeur précédente d’une piste. Pour ce faire, à l’aide d’un champ d’exemple nommé WindSpeed, vous pouvez utiliser l’expression suivante : var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Les traces sont fractionnées lorsque la valeur précédente (speed[0]) est moins de deux fois supérieure à la valeur actuelle.
Vous avez la possibilité de ne choisir aucune option, ou d’appliquer une, deux, trois ou quatre options de fractionnement simultanément. Tous les exemples ci-dessous utilisent un fractionnement avec écart. Si vous appliquez une fraction temporelle de 6 heures, une limite temporelle d’une journée et une fraction spatiale de 16 kilomètres, les résultats sont les suivants :
Option de fractionnement Description Six points en entrée avec une heure et un emplacement
Points en entrée avec le même identifiant. La distance entre les points est marquée au-dessus de la ligne pointillée et l’heure de chaque mesure de point est indiquée sous les points. Quatre fractions marquent la chronologie. Les fractions rouges représentent la fraction de limite temporelle d’une journée avec un début à minuit (12:00 a.m.). La fraction bleue représente la fraction spatiale lorsque la distance entre deux points est supérieure à 16 kilomètres. La fraction violette représente la fraction temporelle lorsque la distance temporelle entre deux points séquentiels est supérieure à 6 heures.
Exemple sans fraction temporelle ni de distance.
Exemple avec une fraction temporelle de 6 heures. Toutes les entités éloignées de plus de 2 heures sont fractionnées dans des pistes distinctes.
Exemple avec une limite temporelle d’une journée et un début à minuit. À chaque intervalle d’une journée commençant à l’heure spécifiée (ici à minuit, 12:00 a.m.), une piste est créée.
Exemple avec une fraction spatiale de 16 kilomètres. Toutes les entités éloignées de plus de 16 kilomètres (les entités à 5 h 00 (05:00 a.m.) et 6 h 00 (06:00 a.m.)) sont fractionnées dans des pistes distinctes.
Exemple avec une fraction temporelle de six heures et une limite temporelle d’un jour à partir de 00 h 00. Les entités éloignées de plus de 6 heures ou qui intersectent la fraction temporelle à 00 h 00 sont fractionnées en traces distinctes.
Exemple avec une fraction temporelle de 6 heures et une fraction spatiale de 16 kilomètres. Toutes les entités éloignées de plus de 6 heures (les entités à 6h00 (06:00 a.m.) et 7h00 (07:00 p.m.)) ou de plus de 16 kilomètres sont fractionnées dans des pistes distinctes.
Exemple avec une fraction spatiale de 16 kilomètres et une limite temporelle d’un jour à partir de 00 h 00. Toutes les entités éloignées de plus de 16 kilomètres ou qui intersectent la fraction temporelle à 00 h 00 sont fractionnées en traces distinctes.
Exemple avec une fraction spatiale de 16 kilomètres, une fraction temporelle de six heures et une limite temporelle d’un jour à partir de 00 h 00. Toutes les entités éloignées de plus de 16 kilomètres ou de plus de six heures ou qui intersectent la fraction temporelle à 00 h 00 sont fractionnées en traces distinctes.
Lorsque vous fractionnez une piste à l’aide d’une fraction temporelle, d’une fraction spatiale ou d’une expression de fractionnement, vous pouvez définir la façon dont les segments entre les fractions seront créés. Les options suivantes s'offrent à vous :
- Gap (Écart) : crée un écart entre les deux entités fractionnées.
- Finish After (Terminer après) : crée un segment qui se termine après la fraction.
- Start Before (Commencer avant) : crée un segment qui se termine et commence avant la fraction.
Le diagramme suivant illustre des exemples de types de fraction :
Trois exemples de fractions temporelles sur les mêmes points en entrée (jaunes) sont ici présentés. Option de fraction temporelle Description Cinq points en entrée avec une heure et un emplacement
Cinq points en entrée avec le même identifiant. L’heure de chaque point est indiquée sous la ligne en pointillés. Il existe une fraction entre 2h00 (2:00 a.m.) et 5h00 (5:00 a.m.) pour tous les exemples. Chaque piste est fractionnée en deux segments entre le troisième et le quatrième point de la piste. La première piste est verte et la seconde est violette. La façon dont les pistes sont fractionnées dépend du type de fraction choisi.
Écart
Exemple d’écart entre les deux points fractionnés. Il s’agit de l’option par défaut.
Finir après
Exemple dans lequel la piste se termine après la fraction, au niveau du quatrième point. La seconde piste commence au quatrième point.
Commencer avant
Exemple dans lequel la piste commence avant la fraction, au niveau du troisième point. La seconde piste commence au troisième point.
Voici quelques exemples de vol aérien où il peut être pertinent de définir des pistes avec les paramètres de fractionnement et le paramètre d’identifiant de champ :
- Une entité avion présente les champs aircraft ID, flight ID, pilot name, start time et flight_maneuver. Le champ flight_maneuver indique si l’avion est au sol, en phase ascendante, descendante ou à une altitude constante.
- Utilisez le champ aircraft ID comme identifiant pour voir les destinations passées de chaque avion.
- Utilisez les champs aircraft ID et flight ID comme identifiants pour comparer différents itinéraires.
- Utilisez le champ aircraft ID et la limite temporelle d’un an pour examiner les vols de chaque avion pour une année à la fois.
- Utilisez les champs pilot name, aircraft ID et start time pour visualiser le vol de chaque pilote.
- Utilisez le champ aircraft ID comme identifiant et fractionnez les distances de plus de 1 000 kilomètres pour déterminer de nouvelles traces, sachant qu’un bond de 1 000 kilomètres dans les mesures ne doit pas appartenir à la même trace.
- Utilisez le champ aircraft ID comme identifiant et utilisez une expression pour fractionner lorsque la valeur du champ flight_maneuver change. Par exemple, var flight_manuever = TrackFieldWindow("maneuver", -1, 1); flight_maneuver[0] != flight_maneuver[1] vérifie si la valeur actuelle d’une trace et la valeur précédente correspondent. Si tel n’est pas le cas, la piste est fractionnée.
- Une entité avion présente les champs aircraft ID, flight ID, pilot name, start time et flight_maneuver. Le champ flight_maneuver indique si l’avion est au sol, en phase ascendante, descendante ou à une altitude constante.
Les traces en sortie renvoient les champs utilisés comme identifiants de trace, le nombre d’entités dans une trace (count), l’heure de début et de fin de chaque trace (start_date et end_date), la durée de la trace en millisecondes (duration) et d’autres statistiques facultatives (au format statisticstype_fieldname)).
Vous pouvez améliorer les performances de l’outil Reconstruire les pistes en suivant les conseils ci-après :
- Définissez l’environnement de l’étendue de manière à analyser uniquement des données d’intérêt.
- Utilisez la méthode planaire au lieu de la méthode géodésique.
- N’appliquez pas de zone tampon.
- Fractionnez vos pistes à l’aide des paramètres Time Split (Fraction temporelle), Time Boundary Split (Limite de fraction temporelle), Distance Split (Fraction spatiale) ou Split Expression (Expression de fractionnement). Le paramètre Time Boundary Split (Limite de fraction temporelle) permet d’obtenir les meilleures performances.
- Utilisez les données locales de l’environnement de l’analyse.
Cet outil de géotraitement est mis en œuvre par Spark. L'analyse est effectuée sur votre ordinateur de bureau à l'aide de plusieurs cœurs en parallèle. Pour en savoir plus sur l'exécution d'une analyse, reportez-vous à la rubrique Remarques sur les outils de GeoAnalytics Desktop.
Lors de l’exécution d’outils de GeoAnalytics Desktop, l’analyse est effectuée sur votre ordinateur de bureau. Pour des performances optimales, les données doivent être disponibles sur votre bureau : Si vous utilisez une couche d’entités hébergée, il est recommandé d'utiliser ArcGIS GeoAnalytics Server. Si vos données ne sont pas locales, l'exécution d'un outil est plus longue. Pour utiliser votre ArcGIS GeoAnalytics Server en vue d'une analyse, reportez-vous à la rubrique GeoAnalytics Tools.
Vous pouvez effectuer une analyse semblable en utilisant :
- L’outil Points vers lignes dans la boîte à outils Gestion des données.
Paramètres
arcpy.geoanalytics.ReconstructTracks(input_layer, out_feature_class, track_fields, method, buffer_type, {buffer_field}, {buffer_expression}, {time_split}, {distance_split}, {time_boundary_split}, {time_boundary_reference}, {summary_fields}, {split_expression}, {split_type})
Nom | Explication | Type de données |
input_layer | Points ou polygones à reconstruire en pistes. L’entrée doit être une couche temporelle représentant un instant donné dans le temps. | Feature Layer |
out_feature_class | Nouvelle classe d’entités avec les pistes résultantes. | Feature Class |
track_fields [track_fields,...] | Un ou plusieurs champs utilisés pour identifier des pistes uniques. | Field |
method | Spécifie les critères utilisés pour reconstruire les pistes. Si une zone tampon est utilisée, le paramètre method détermine son type.
| String |
buffer_type | Indique comment la distance de la zone tampon sera définie.
| String |
buffer_field (Facultatif) | Champ qui sera utilisé pour mettre en zone tampon les entités en entrée. Les valeurs de champ sont appliquées dans les unités de la référence spatiale de l’entrée à moins que vous utilisiez un système de coordonnées géographiques, auquel cas elles sont exprimées en mètres. | Field |
buffer_expression (Facultatif) |
Expression qui sera utilisée pour mettre en zone tampon les entités en entrée. Les champs doivent être numériques et l’expression peut inclure les opérateurs [+ - * / ] et plusieurs champs. Les valeurs calculées sont appliquées dans les unités de la référence spatiale de l’entrée à moins que vous utilisiez un système de coordonnées géographiques auquel cas elles sont exprimées en mètres. Utilisez des expressions Arcade telles que as_kilometers($feature.distance) * 2 + as_meters(15). | Calculator Expression |
time_split (Facultatif) | Les entités plus éloignées les unes des autres dans le temps que la durée de fraction temporelle sont séparées dans des pistes distinctes. | Time Unit |
distance_split (Facultatif) | Les entités plus éloignées physiquement les unes des autres que la valeur de fraction spatiale sont séparées dans des pistes distinctes. | Linear Unit |
time_boundary_split (Facultatif) |
Période dans laquelle fractionner les données en entrée pour analyse. Une limite temporelle vous permet d’analyser des valeurs dans une période temporelle définie. Par exemple, si vous utilisez une limite temporelle de 1 jour et que vous définissez la référence de limite temporelle au 1er janvier 1980, les traces seront fractionnées au début de chaque jour. | Time Unit |
time_boundary_reference (Facultatif) |
Référence temporelle dans laquelle fractionner les données en entrée pour analyse. Les limites temporelles seront créées pour toute la plage des données et il n’est pas nécessaire que la référence temporelle se situe au début. Si aucune référence temporelle n’est indiquée, le 1er janvier 1970 est utilisé. | Date |
summary_fields [summary_fields,...] (Facultatif) | Statistiques qui seront calculées sur les champs spécifiés.
| Value Table |
split_expression (Facultatif) | Expression qui divise les traces en fonction de valeurs, de la géométrie ou de valeurs temporelles. Les expressions dont la validation produit la valeur Vrai sont fractionnées. | Calculator Expression |
split_type (Facultatif) | Spécifie la façon dont le segment de piste entre deux entités est créé lorsqu’une piste est fractionnée. Le type de fraction est appliqué aux expressions de fractionnement, aux fractions spatiales et aux fractions temporelles.
| String |
Exemple de code
Le script autonome ci-dessous illustre l’utilisation de la fonction ReconstructTracks.
# Name: ReconstructTracks.py
# Description: Reconstruct hurricane points into hurricane tracks, where each
# location is buffered by the wind speed * 100.
# Import system modules
import arcpy
# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Hurricanes.lyrx'
# MakeFeatureLayer converts the .lyrx to features
hurricanesLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Hurricanes Layer")
# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(hurricanesLayer, inputLyrx)
# Set local variables
trackIdentifier = "EVENTID"
out = "c:/mydata/OutputDatasets.gdb/HurricaneTracks"
bufferExpression = "WINDSPEED * 100"
statistics = [["PRESSURE", "MEAN"]]
# Run Reconstruct Tracks
arcpy.gapro.ReconstructTracks(hurricanesLayer, out, trackIdentifier,
"GEODESIC", "EXPRESSION", None,
bufferExpression, None, statistics)
Environnements
Vous avez un commentaire à formuler concernant cette rubrique ?