Étiquette | Explication | Type de données |
Couche en entrée | Points ou polygones à reconstruire en traces. 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 traces obtenues. | Feature Class |
Champs de piste | Un ou plusieurs champs utilisés pour identifier des traces uniques. | Field |
Méthode | Indique les critères utilisés pour reconstruire les traces. 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 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 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 fractionnées en traces distinctes. | Time Unit |
Fraction spatiale (Facultatif) | Les entités plus éloignées les unes des autres en distance que la valeur de fraction spatiale sont fractionnées en traces distinctes. | Linear Unit |
Fractionnement 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 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 de fractionnement des traces en fonction des valeurs, de la géométrie ou des valeurs temporelles. Les expressions avec la valeur true seront fractionnées. | Calculator Expression |
Type de fractionnement (Facultatif) | Indique comment le segment de trace entre deux entités est créé lors du fractionnement d’une trace. Le type de fractionnement est appliqué aux expressions de fractionnement, aux fractions spatiales et aux fractions temporelles.
| String |
Synthèse
Crée des traces linéaires ou surfaciques à partir de données temporelles en entrée.
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 traces. Les pistes sont représentées par un ou plusieurs champs de piste. Par exemple, si les champs flightID et Destination sont utilisés comme identifiants de trace, les entités ID007, Solden et ID007, Tokyo figurent 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 traces 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 ensuite générée pour créer une trace 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 à Expressions Arcade dans la boîte à outils GeoAnalytics Desktop pour plus d’informations. Vous pouvez utiliser des équations gérant les traces.
Par défaut, seul le nombre de points ou de polygones d'une piste est calculé. Vous pouvez calculer des statistiques supplémentaires en spécifiant la valeur du 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 traces 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 traces 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 bouclage de la ligne de changement de date, comme une projection 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 traces des manières suivantes:
- Time Split (Fraction temporelle) : en fonction d’un intervalle temporel entre les entrées. L’application d’une fraction temporelle permet de fractionner une trace lorsque les données en entrée sont plus éloignées que la durée spécifiée. Par exemple, si vous disposez de cinq entités associées au même identifiant de trace 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 sont fractionnées. Dans cet exemple, le résultat produit une trace 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 (Fraction de limite temporelle) : en fonction d’intervalles temporels définis. L’application d’une fraction de limite temporelle segmente les traces à un intervalle défini. Par exemple, si vous définissez la limite temporelle sur 1 jour, à partir de 09 h 00 à la date du 1er janvier 1990, chaque trace est tronquée à 09 h 00 chaque jour. Ce fractionnement accélère le calcul en générant de plus petites traces à analyser. S’il est pertinent d’appliquer un fractionnement selon une limite temporelle récurrente dans le cadre de l’analyse, il est recommandé d’utiliser cette méthode pour le traitement Big Data.
- Distance Split (Fraction spatiale) : en fonction d’une distance entre les entrées. L’application d’une fraction spatiale permet de fractionner une trace lorsque les données en entrée sont plus éloignées que la distance spécifiée. Par exemple, si vous définissez une fraction spatiale de 5 kilomètres, les entités séquentielles situées au-delà de ces 5 kilomètres font partie d’une trace différente.
- Split Expression (Expression de fractionnement) : en fonction d’une expression Arcade. L’application d’une expression de fractionnement permet de fractionner les traces en fonction des valeurs, de la géométrie ou des valeurs temporelles. Par exemple, vous pouvez fractionner les traces lorsque la valeur d’un champ est supérieure au double de la valeur précédente dans une trace. 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 inférieure à deux fois la valeur actuelle.
Vous pouvez appliquer aucune, une, deux, trois ou quatre options de fractionnement à la fois. Tous les exemples ci-dessous utilisent un fractionnement d’intervalle. Si l’on applique un fractionnement temporel de six heures, une limite temporelle d’un jour 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 une localisation.
Points en entrée avec le même identifiant. La distance entre les points est signalée en haut de la ligne pointillée et l’heure de chaque mesure de point est signalée sous les points. Quatre fractions marquent la chronologie. Les fractions en rouge représentent la fraction de limite temporelle d’un jour, à partir de 00 h 00. La fraction en bleu représente la fraction spatiale, lorsque la distance entre deux points est supérieure à 16 kilomètres. La fraction en violet représente la fraction temporelle, lorsque la distance temporelle entre deux points séquentiels est supérieure à six heures.
Exemple sans fraction temporelle ni de distance.
Exemple avec une fraction temporelle de six heures. Les entités éloignées de plus de deux heures sont fractionnées en traces distinctes.
Exemple avec une limite temporelle d’un jour, à partir de minuit. À chaque intervalle d’un jour à partir de l’heure indiquée (ici 00 h 00), une trace est créée.
Exemple avec une fraction spatiale de 16 kilomètres. Les entités éloignées de plus de 16 kilomètres (situées à 05 h 00 et 06 h 00) sont fractionnées en traces 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 six heures ou qui intersectent la fraction de durée à 00 h 00 sont fractionnées en traces distinctes.
Exemple avec une fraction temporelle de six heures et une fraction spatiale de 16 kilomètres. Les entités éloignées de plus de six heures (situées à 06 h 00 et 19 h 00) ou de plus de 16 kilomètres sont fractionnées en traces distinctes.
Exemple avec une fraction spatiale de 16 kilomètres et une limite temporelle d’un jour à partir de 00 h 00. Les entités éloignées de plus de 16 kilomètres ou qui intersectent la fraction de durée à 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. Les entités éloignées de plus de 16 kilomètres, éloignées de plus de six heures ou qui intersectent la fraction de durée à 00 h 00 sont fractionnées en traces distinctes.
Lorsque vous utilisez une fraction temporelle, spatiale ou une expression de fractionnement pour fractionner une trace, vous pouvez définir la manière dont les segments entre le fractionnement sont créés. Les options suivantes s'offrent à vous :
- Gap (Intervalle) : créez un intervalle entre deux entités fractionnées.
- Finish After (Terminer après) : créez un segment qui se termine après le fractionnement.
- Start Before (Commencer avant) : créez un segment qui finit et commence avant le fractionnement.
Le diagramme suivant présente un exemple des types de fractionnement :
Trois exemples de fractionnement temporel sur les mêmes points en entrée (jaunes) sont affichés. Option de fractionnement temporel Description Cinq points en entrée avec un heure et un emplacement
Cinq points en entrée avec le même identifiant. L’heure de chaque point est marquée sous la ligne pointillée. Il existe un fractionnement entre 02 h 00 et 05 h 00 pour tous les exemples. Chaque trace est fractionnée en deux segments entre le troisième et le quatrième point sur la trace. La première trace est verte et la seconde violette. Le paramètre de type de fractionnement définit de quelle façon les traces sont fractionnées.
Gap (Intervalle)
Exemple avec un intervalle entre les deux points fractionnés. Il s’agit de l’option par défaut.
Finish After (Finir après)
Exemple dans lequel la trace se termine après le fractionnement, au quatrième point. La seconde trace commence au quatrième point.
Start Before (Commencer avant)
Exemple dans lequel la trace est fractionnée avant le fractionnement, au troisième point. La seconde trace commence au troisième point.
Voici des exemples de vol aérien expliquant pourquoi il peut être pertinent de définir des traces à l’aide des paramètres de fractionnement et du paramètre d’identifiant de champ :
- Une entité avion possède 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 l’endroit où chaque avion s’est rendu.
- 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 sur une année à la fois.
- Utilisez les champs pilot name, aircraft ID et start time pour voir le vol de chaque pilote.
- Utilisez le champ aircraft ID comme identifiant et des distances de fractionnement supérieures à 1 000 kilomètres pour définir de nouvelles traces, sachant qu’un saut 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, l’expression var flight_manuever = TrackFieldWindow("maneuver", -1, 1); flight_maneuver[0] != flight_maneuver[1] permet de vérifier si la valeur actuelle et la valeur précédente d’une trace correspondent. Lorsque ce n’est pas le cas, la trace est fractionnée.
- Une entité avion possède 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 renverront 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 traces en effectuant une ou plusieurs des opérations suivantes :
- 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 traces à l’aide des paramètres Time Split (Fraction temporelle), Time Boundary Split (Fraction de limite temporelle), Distance Split (Fraction spatiale) ou Split Expression (Expression de fractionnement). Le paramètre Time Boundary Split (Fraction de limite temporelle) permet d’optimiser davantage les 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 en utilisant plusieurs cœurs en parallèle. Pour en savoir plus sur l’exécution de l’analyse, reportez-vous à la rubrique Remarques relatives aux outils GeoAnalytics Desktop.
Lorsque vous exécutez des outils GeoAnalytics Desktop, l’analyse est effectuée sur votre ordinateur de bureau. Pour des performances optimales, les données doivent être accessibles 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 enregistrées en local, l’exécution des outils prendra plus de temps. 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 :
- Outil Points vers lignes dans la boîte à outils Gestion des données.
Paramètres
arcpy.gapro.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 traces. 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 traces obtenues. | Feature Class |
track_fields [track_fields,...] | Un ou plusieurs champs utilisés pour identifier des traces uniques. | Field |
method | Indique les critères utilisés pour reconstruire les traces. 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 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 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 fractionnées en traces distinctes. | Time Unit |
distance_split (Facultatif) | Les entités plus éloignées les unes des autres en distance que la valeur de fraction spatiale sont fractionnées en traces 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 de fractionnement des traces en fonction des valeurs, de la géométrie ou des valeurs temporelles. Les expressions avec la valeur true seront fractionnées. | Calculator Expression |
split_type (Facultatif) | Indique comment le segment de trace entre deux entités est créé lors du fractionnement d’une trace. Le type de fractionnement 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
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?