Ajouter des événements (Location Referencing)

Disponible avec la licence Location Referencing.

Synthèse

Ajoute des enregistrements d’événement supplémentaires à partir d’une table, d’une couche ou d’une classe d’entités à une classe d’entités d’événement LRS existante.

Remarque :

Lorsque la couche cible est une couche de service d’entités, les résultats de validation sont écrits sur un fichier dans le répertoire ArcGIS Server. Par défaut, ce fichier est nettoyé automatiquement au bout de 10 minutes, ce qui risque de ne pas laisser suffisamment de temps pour le traitement de toutes les validations et leur écriture sur le poste de travail exécutant ArcGIS Pro Pour des charges de données plus importantes, il est recommandé de régler l’âge maximal du fichier sur une heure, au minimum. Vous pouvez mettre à jour un répertoire de serveur dans ArcGIS Server Manager pour ajuster ce paramètre.

Utilisation

  • Un jeu de données LRS est requis pour exécuter cet outil.

  • La valeur du paramètre Événement en entrée peut être une table, une couche ou une classe d’entités.

  • La valeur du paramètre Événement cible doit correspondre à une couche ou une classe d’entités inscrite auprès d’un LRS.

  • Les ensembles de sélection et les ensembles de définition indiqués dans le paramètre Événement cible seront ignorés.

  • Cet outil prend en charge les entités ponctuelles et linéaires. Les types d’entités dans les paramètres Événement en entrée et Événement cible doivent concorder.

  • Lorsque vous ajoutez de nouveaux événements à l’aide de l’option Ajouter du paramètre Type de charge, si la valeur Événement cible contient un champ RouteName configuré, il est possible d’ajouter des événements avec le champ RouteName.

    • Si les enregistrements Événement en entrée comportent des champs RouteID nuls mais des champs RouteName renseignés, il est possible d’ajouter des événements avec le champ RouteName. RouteID Des champs sont ensuite automatiquement générés pour ces événements ajoutés.
    • Si les enregistrements Événement en entrée comportent à la fois des champs RouteID nuls et des champs RouteName renseignés, il est possible d’ajouter des événements avec le champ RouteID.
  • Si le paramètre Générer les GUID d’ID d’événement pour les événements chargés est sélectionné, n’appariez pas le champ EventID dans le paramètre Appariement des champs ou assurez-vous que des valeurs nulles sont présentes dans le champ EventID de l’événement en entrée. Si le champ EventID dans un enregistrement d’événement source est renseigné et que le paramètre Générer les GUID d’ID d’événement pour les événements chargés est sélectionné, la valeur dans le champ EventID de l’enregistrement d’événement source sera chargée dans l’événement cible.

  • Si le paramètre Ajouter des événements à des itinéraires dominants est activé, les enregistrements de la valeur du paramètre Événement en entrée sont ajoutés aux itinéraires dominants en cas de coïncidence d’itinéraires. Si l’itinéraire présente plusieurs coïncidences, les enregistrements Événement en entrée sont fractionnés et ajoutés à l’itinéraire dominant pour chaque section d’itinéraire concurrent. En l’absence de coïncidence d’itinéraires, les enregistrements de la valeur du paramètre Événement en entrée continuent d’être ajoutés aux itinéraires spécifiés dans le jeu de données en entrée.

    • L’outil fournit un fichier texte avec les enregistrements d’événement qui diffèrent des itinéraires spécifiés dans le jeu de données en entrée et sont ajoutés aux itinéraires dominants.

  • Cet outil prend en charge la prévention des conflits et tente d’acquérir des verrous et de les transférer.

  • Lorsque la prévention des conflits est activée, les conditions suivantes sont prises en charge :

    • Les événements qui doivent être ajoutés acquièrent automatiquement des verrous d’événement, le cas échéant. Si les verrous ne peuvent pas être acquis, l’outil renvoie une erreur et fournit un fichier texte des verrous fautifs.
    • Si le paramètre Ajouter des événements à des itinéraires dominants est activé, les verrous d’événement sont activés sur les itinéraires cibles uniquement, qui sont les itinéraires les plus dominants auxquels les événements sont ajoutés. Si les verrous ne peuvent pas être acquis pour les itinéraires cibles, l’outil renvoie une erreur et fournit un fichier texte des verrous fautifs.
    • Si vous utilisez la version par défaut, les verrous acquis sont automatiquement libérés une fois l’outil exécuté.
    • Si vous utilisez une version nommée, les verrous acquis conservent le statut Sur réinjection une fois l’outil exécuté. Vous devez réinjecter ou supprimer la version pour libérer les verrous.
    • Si vous utilisez une version nommée et que le traitement de l’outil est annulé, les verrous acquis conservent le statut libérable.

  • Le calibrage d’itinéraire sur des itinéraires discontinus physiquement affecte les événements ajoutés des façons suivantes :

    • Si la différence de calibrage d’itinéraire sur l’interruption n’est pas égale à zéro, les événements ajoutés sont fractionnés aux interruptions.
    • Si la différence de calibrage d’itinéraire sur l’interruption est égale à zéro, les événements ajoutés sont des événements multi-parties.

  • Vous pouvez utiliser un fichier .csv au format ASCII pour ajouter des événement lorsque vous l’utilisez avec un fichier d’initialisation (schema.ini) qui définit les champs séparés par une virgule dans le fichier .csv. Le fichier d’initialisation de la structure doit inclure les éléments suivants :

    • Nom de fichier .csv et format
    • Nom et type de données pour chaque colonne
    • Largeur maximale à utiliser si les données sont de type Texte

    L’exemple d’initialisation suivant déclare le nom de fichier .csv et le format à utiliser, le nom de champ et le type de données à utiliser pour chaque colonne (de gauche à droite) et une largeur maximale pour les champs de texte :

    schema.ini
    
    [source_events.csv]
    Format=CSVDelimited
    ColNameHeader=True
    Col1=FromDate Date
    Col2=ToDate Date
    Col3=RouteID Text width 255
    Col4=RouteName Text width 255
    Col5=FromMeasure Double
    Col6=ToMeasure Double
    Col7=RdType Long
    Col8=EventID Text width 50

    En savoir plus sur l’ajout d’une table ASCII ou d’une table de fichier texte

  • Héritage :

    Le paramètre Générer des formes n’est plus pris en charge.

Paramètres

ÉtiquetteExplicationType de données
Événement en entrée

Enregistrements d’événement source à ajouter.

Table View
Événement cible

Classe d’entités ou couche d’événements LRS à laquelle les enregistrements d’événement source sont ajoutés.

Feature Layer
Appariement des champs

Contrôle le mode de transfert des informations attributaires des champs de l’événement en entrée vers l’événement cible.

Comme les enregistrements d’événement source sont ajoutés à un événement cible existant qui a une structure (définitions de champs) prédéfinie, les champs ne peuvent pas être ajoutés ou supprimés dans l’événement cible. Même si vous pouvez définir des règles de combinaison pour chaque champ en sortie, l’outil ignore ces règles.

Field Mappings
Type de charge
(Facultatif)

Indique la manière dont les événements ajoutés sont chargés dans l’événement cible.

  • AjouterLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié.
  • Retirer les superpositionsLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié, et tous les enregistrements qui présentent les mêmes superpositions de mesure ou de temporalité que les événements ajoutés sont retirés. Si l’événement ajouté éclipse l’enregistrement d’événement cible spécifié, ce dernier est supprimé. N’utilisez cette option que pour les événements linéaires.
  • Retirer par ID d’événementLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié, et tous les enregistrements qui présentent les mêmes superpositions d’ID d’événement ou de temporalité que les événements ajoutés sont retirés. Si l’événement ajouté éclipse un enregistrement d’événement cible portant le même ID d’événement, l’enregistrement d’événement cible est supprimé.
  • Remplacer par ID d’événementLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié, et tous les enregistrements qui portent le même ID d’événement que les événements ajoutés sont remplacés.
String
Générer les GUID d’ID d’événement pour les événements chargés
(Facultatif)

Indique si des ID d’événement sont générés pour les enregistrements d’événement source en cours d’ajout. La génération d’ID d’événement est uniquement appliquée aux enregistrements d’événement source avec une valeur nulle dans le champ Event ID.

  • Activé : les ID d’événement pour les enregistrements d’événement source en cours d’ajout sont générés.
  • Désactivé : les ID d’événement pour les enregistrements d’événement source en cours d’ajout ne sont pas générés. Il s’agit de l’option par défaut.
Boolean
Générer des formes
(Facultatif)
Remarque :

Ce paramètre n’est plus pris en charge.

Boolean
Ajouter des événements à des itinéraires dominants
(Facultatif)

Indique si les enregistrements d’événement source sont ajoutés aux itinéraires dominants en cas de coïncidence d’itinéraires.

  • Activé : les enregistrements d’événement source sont ajoutés aux itinéraires dominants.
  • Désactivé : les enregistrements d’événement source sont ajoutés aux itinéraires spécifiés dans le jeu de données en entrée, indépendamment de la dominance d’itinéraire. Il s’agit de l’option par défaut.

Ce paramètre fonctionne avec toutes les options du paramètre Type de charge : Ajouter, Supprimer les superpositions, Retirer par ID d’événement et Remplacer par ID d’événement.

Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Événement cible en sortie

Classe d’entités ou couche d’événements à laquelle les enregistrements d’événement source sont ajoutés.

Feature Layer
Fichier de résultats en sortie

Fichier texte qui détaille les modifications apportées par l’outil.

Text File

arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, {load_type}, {generate_event_ids}, {generate_shapes}, {append_to_dominant_route})
NomExplicationType de données
in_dataset

Enregistrements d’événement source à ajouter.

Table View
in_target_event

Classe d’entités ou couche d’événements LRS à laquelle les enregistrements d’événement source sont ajoutés.

Feature Layer
field_mapping

Contrôle le mode de transfert des informations attributaires des champs de l’événement en entrée vers l’événement cible.

Comme les enregistrements d’événement source sont ajoutés à un événement cible existant qui a une structure (définitions de champs) prédéfinie, les champs ne peuvent pas être ajoutés ou supprimés dans l’événement cible. Même si vous pouvez définir des règles de combinaison pour chaque champ en sortie, l’outil ignore ces règles.

La classe FieldMappings peut permettre de définir ce paramètre.

Field Mappings
load_type
(Facultatif)

Indique la manière dont les événements ajoutés sont chargés dans l’événement cible.

  • ADDLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié.
  • RETIRE_OVERLAPSLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié, et tous les enregistrements qui présentent les mêmes superpositions de mesure ou de temporalité que les événements ajoutés sont retirés. Si l’événement ajouté éclipse l’enregistrement d’événement cible spécifié, ce dernier est supprimé. N’utilisez cette option que pour les événements linéaires.
  • RETIRE_BY_EVENT_IDLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié, et tous les enregistrements qui présentent les mêmes superpositions d’ID d’événement ou de temporalité que les événements ajoutés sont retirés. Si l’événement ajouté éclipse un enregistrement d’événement cible portant le même ID d’événement, l’enregistrement d’événement cible est supprimé.
  • REPLACE_BY_EVENT_IDLes enregistrements d’événement source sont ajoutés à l’événement cible spécifié, et tous les enregistrements qui portent le même ID d’événement que les événements ajoutés sont remplacés.
String
generate_event_ids
(Facultatif)

Indique si des ID d’événement sont générés pour les enregistrements d’événement source en cours d’ajout. La génération d’ID d’événement est uniquement appliquée aux enregistrements d’événement source avec une valeur nulle dans le champ Event ID.

  • GENERATE_EVENT_IDSLes ID d’événement pour les enregistrements d’événement source en cours d’ajout sont générés.
  • NO_GENERATE_EVENT_IDSLes ID d’événement pour les enregistrements d’événement source en cours d’ajout ne sont pas générés. Il s’agit de l’option par défaut.
Boolean
generate_shapes
(Facultatif)
Remarque :

Ce paramètre n’est plus pris en charge.

Boolean
append_to_dominant_route
(Facultatif)

Indique si les enregistrements in_dataset sont ajoutés aux itinéraires dominants en cas de coïncidence d’itinéraires.

  • APPEND_TO_DOMINANT_ROUTELes enregistrements d’événement source sont ajoutés aux itinéraires dominants.
  • NO_APPEND_TO_DOMINANT_ROUTELes enregistrements d’événement source sont ajoutés aux itinéraires spécifiés dans le jeu de données en entrée, indépendamment de la dominance d’itinéraire. Il s’agit de l’option par défaut.

Ce paramètre fonctionne avec toutes les options du paramètre load_type : ADD, RETIRE_OVERLAPS, RETIRE_BY_EVENT_ID et REPLACE_BY_EVENT_ID.

Boolean

Sortie obtenue

NomExplicationType de données
out_target_event

Classe d’entités ou couche d’événements à laquelle les enregistrements d’événement source sont ajoutés.

Feature Layer
out_details_file

Fichier texte qui détaille les modifications apportées par l’outil.

Text File

Exemple de code

Exemple 1 d’utilisation de la fonction AppendEvents (fenêtre Python)

Illustre l’utilisation de la fonction AppendEvents dans la fenêtre Python pour ajouter des enregistrements d’événement à une classe d’entités d’événement existante.

# Name: AppendEvents_ex1_pro.py
# Description: Append event records into an existing Location Referencing event feature class.
# Requires: ArcGIS Location Referencing

# Set current workspace
arcpy.env.workspace= r"C:\Pipeline.gdb"

# Set tool variables
# Source Event Table in fgdb
in_dataset = "PTMS_Add"

# Target Event Feature Class in fgdb
in_target_event = "LRSE_PTMS"

#Map fields between target and source
field_mapping = r'AADT "AADT" true true false 4 Long 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,AADT,-1,-1;YEAR_ "YEAR_" true true false 2 Short 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,YEAR_,-1,-1;Cosite "Cosite" true true false 6 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Cosite,0,6;Classd "Classd" true true false 3 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Classd,0,3;SECTION_ "SECTION_" true true false 8 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,SECTION_,0,8;COMM "COMM" true true false 254 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,COMM,0,254;Active "Active" true true false 1 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Active,0,1;Sitetype "Sitetype" true true false 11 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Sitetype,0,11;KFCTR "KFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,KFCTR,-1,-1;DFCTR "DFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,DFCTR,-1,-1;TFCTR "TFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,TFCTR,-1,-1;LOCATION "LOCATION" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,LOCATION,-1,-1;FromDate "FromDate" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,FromDate,-1,-1;ToDate "ToDate" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,ToDate,-1,-1;EventID "EventID" true true false 50 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,EventID,0,50;RouteName "RouteName" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255'

load_type = "ADD"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

append_to_dominant_route = "NO_APPEND_TO_DOMINANT_ROUTE"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route)
Exemple 2 d’utilisation de la fonction AppendEvents (script autonome)

Illustre l’utilisation de la fonction AppendEvents dans un script Python autonome pour ajouter des enregistrements d’événement à une classe d’entités d’événement existante. Les événements sont ajoutés aux itinéraires dominants.

# Name: AppendEvents_StandAlonePython_Example.py
# Description: Append event records into an existing event feature class.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Set tool variables
# Source Event Table in fgdb
in_dataset = r"C:\Pipeline.gdb\LRS\PTMS_Add"

# Target Event Feature Class in fgdb
in_target_event = r"C:\Pipeline.gdb\LRS\LRSE_PTMS"

#Map fields between target and source
field_mapping = r"AADT \"AADT\" true true false 4 Long 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,AADT,-1,-1;YEAR_ \"YEAR_\" true true false 2 Short 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,YEAR_,-1,-1;Cosite \"Cosite\" true true false 6 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Cosite,0,6;Classd \"Classd\" true true false 3 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Classd,0,3;SECTION_ \"SECTION_\" true true false 8 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,SECTION_,0,8;COMM \"COMM\" true true false 254 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,COMM,0,254;Active \"Active\" true true false 1 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Active,0,1;Sitetype \"Sitetype\" true true false 11 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Sitetype,0,11;KFCTR \"KFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,KFCTR,-1,-1;DFCTR \"DFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,DFCTR,-1,-1;TFCTR \"TFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,TFCTR,-1,-1;LOCATION \"LOCATION\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,LOCATION,-1,-1;FromDate \"FromDate\" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,FromDate,-1,-1;ToDate \"ToDate\" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,ToDate,-1,-1;EventID \"EventID\" true true false 50 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,EventID,0,50;RouteName \"RouteName\" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255"

load_type = "REPLACE_BY_EVENT_ID"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

append_to_dominant_route = "APPEND_TO_DOMINANT_ROUTE"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route)

# Check in license
arcpy.CheckInExtension("LocationReferencing")
Exemple 3 d’utilisation de la fonction AppendEvents (script autonome)

Illustre l’utilisation de la fonction AppendEvents dans un script Python autonome pour ajouter des enregistrements d’événement à un service d’entités.

# Name: AppendEvents_Pro_Ex3.py
# Description: Append events using a feature service. It is recommended to work in a version and post to the default version.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Set tool variables
in_dataset = r"C:\LocationReferencing\LR.gdb\LRS\LineEvent"
field_mapping = r'FROMDATE "From Date" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,FROMDATE,-1,-1;TODATE "To Date" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,TODATE,-1,-1;EVENTID "Event ID" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,EVENTID,0,50;ROUTEID "Route ID" true true false 255 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,ROUTEID,0,255;RouteName "RouteName" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255;FROMMEASURE "From Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,FROMMEASURE,-1,-1;TOMEASURE "To Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,TOMEASURE,-1,-1'
load_type = "ADD"
generate_event_ids = "NO_GENERATE_EVENT_IDS"
generate_shapes = "GENERATE_SHAPES"
append_to_dominant_route = "NO_APPEND_TO_DOMINANT_ROUTE"

# Target event is in a feature service. Sign in to portal is required to access the feature service. 
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

# Map the target event from the feature service. In the feature service, 34 corresponds to the target event.
in_target_event = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/34"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route)

# Check in license
arcpy.CheckInExtension("LocationReferencing")

Informations de licence

  • Basic: Nécessite ArcGIS Location Referencing (ArcGIS Pipeline Referencing ou ArcGIS Roads and Highways)
  • Standard: Nécessite ArcGIS Location Referencing (ArcGIS Pipeline Referencing ou ArcGIS Roads and Highways)
  • Advanced: Nécessite ArcGIS Location Referencing (ArcGIS Pipeline Referencing ou ArcGIS Roads and Highways)

Rubriques connexes