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 ArcGIS Location Referencing 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 Manager pour ajuster ce paramètre.

Utilisation

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

    En savoir plus sur la création d’un jeu de données LRS dans ArcGIS Pipeline Referencing ou la création d’un jeu de données LRS dans ArcGIS Roads and Highways.

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

    En savoir plus sur les champs requis par le modèle de données d’événements ArcGIS Pipeline Referencing

    En savoir plus sur les champs requis par le modèle de données d’événements Roads and Highways

  • La valeur Événement cible doit être une couche ou une classe d’entités inscrite auprès de Location Referencing.

  • Cet outil prend en charge les entités points et polylignes en entrée. Les types d’entités dans les paramètres de l’événement en entrée et de l’événement cible doivent concorder.

  • Lorsque vous ajoutez de nouveaux événements à l’aide de la valeur Ajouter du paramètre Type de chargement, 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, 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 et RouteName, 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 la section d’appariement de champs ou assurez-vous que des enregistrements nuls sont présents dans la colonne EventID des données relatives à l’événement source. 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.

  • 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 le 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 enfant, les verrous acquis conservent le statut de 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 enfant et que le traitement de l’outil est annulé par interruption, les verrous sont acquis et 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 CSV
    • 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 CSV (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

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 Location Referencing à laquelle ajouter les enregistrements d’événement source.

Feature Layer
Appariement des champs

Contrôle le mode de transfert des informations attributaires des champs de la valeur du paramètre Événement en entrée vers la valeur du paramètre Événement cible.

Comme la valeur du paramètre Événement en entrée est ajoutée à un événement existant qui a une structure (définitions de champ) prédéfinie, les champs ne peuvent pas être ajoutés ou supprimés dans le jeu de données 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 la classe d’entités d’événement cible.

  • AjouterLes enregistrements Événement en entrée sont ajoutés à la classe d’entités d’événement cible spécifiée.
  • Retirer les superpositionsLes enregistrements Événement en entrée sont ajoutés à la classe d’entités d’événement cible spécifiée, 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 la classe d’entités d’événement cible spécifiée, l’enregistrement d’événement cible est supprimé. Utilisez cette option pour les événements linéaires uniquement.
  • Retirer par ID d’événementLes enregistrements Événement en entrée sont ajoutés à la classe d’entités d’événement cible spécifiée, et tous les enregistrements qui portent le même ID d’événement et présentent les mêmes superpositions 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 Événement en entrée sont ajoutés à la classe d’entités d’événement cible spécifiée, 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 seront générés pour les enregistrements Événement en entrée en cours d’ajout. La génération d’ID d’événement sera uniquement appliquée aux enregistrements Événement en entrée avec une valeur nulle pour le champ Event ID.

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

Indique si les formes des enregistrements en cours d’ajout seront régénérées. Ce paramètre est actif uniquement lorsque la valeur Événement en entrée est une couche d’entités ou une classe d’entités.

  • Activé : les formes des entités d’événement en entrée seront régénérées. Il s’agit de l’option par défaut.
  • Désactivé : les formes des entités d’événement en entrée ne seront pas régénérées.
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 ont été 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})
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 Location Referencing à laquelle ajouter les enregistrements d’événement source.

Feature Layer
field_mapping

Contrôle le mode de transfert des informations attributaires des champs de la valeur du paramètre in_dataset vers la valeur du paramètre in_target_event.

Comme la valeur du paramètre in_dataset est ajoutée à un événement existant qui a une structure (définitions de champ) prédéfinie, les champs ne peuvent pas être ajoutés ou supprimés dans le jeu de données 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 avec des superpositions de mesure ou de temporalité et portant des ID d’événement identiques aux enregistrements in_target_event sont chargés dans la classe d’entités d’événement.

  • ADDLes enregistrements in_dataset sont ajoutés à la classe d’entités d’événement cible spécifiée. Les enregistrements d’événement cible ne sont pas modifiés.
  • RETIRE_OVERLAPSLes enregistrements in_dataset sont ajoutés à la classe d’entités d’événement cible spécifiée, 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 la classe d’entités d’événement cible spécifiée, l’enregistrement d’événement cible est supprimé. Utilisez cette option pour les événements linéaires uniquement.
  • RETIRE_BY_EVENT_IDLes enregistrements in_dataset sont ajoutés à la classe d’entités d’événement cible spécifiée, et tous les enregistrements qui portent le même ID d’événement et présentent les mêmes superpositions 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 in_dataset sont ajoutés à la classe d’entités d’événement cible spécifiée, 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 seront générés pour les enregistrements in_dataset en cours d’ajout. La génération d’ID d’événement sera uniquement appliquée aux enregistrements in_dataset avec une valeur nulle pour le champ Event ID.

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

Indique si les formes des enregistrements en cours d’ajout seront régénérées. Ce paramètre est activé uniquement lorsque la valeur in_dataset est une couche d’entités ou une classe d’entités.

  • GENERATE_SHAPESLes formes des entités d’événement en entrée seront régénérées. Il s’agit de l’option par défaut.
  • NO_SHAPESLes formes des entités d’événement en entrée ne seront pas régénérées.
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 ont été 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 (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"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, generate_shapes)
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.

# 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"

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

# 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"

# 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, generate_shapes)

# 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