arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, {load_type}, {generate_event_ids}, {generate_shapes}, {append_to_dominant_route}, {bypass_conflict_prevention})
|
名称
|
说明
|
数据类型
|
|
in_dataset
|
将追加到的源事件记录。
|
Table View
|
|
in_target_event
|
源事件记录将追加到的 LRS 事件图层或要素类。
|
Feature Layer
|
|
field_mapping
|
用于控制将输入事件的字段中的属性信息传输到目标事件的方式。
由于源事件记录将追加到具有预定义方案(字段定义)的现有目标事件,因此不允许在目标事件中添加或移除字段。 虽然可以为每个输出字段设置合并规则,但该工具将忽略这些规则。
FieldMappings 类可用于定义此参数。
|
Field Mappings
|
|
load_type
(可选)
|
用于指定将追加事件加载到目标事件中的方式。
ADD—源事件记录将追加到指定目标事件。
RETIRE_OVERLAPS—源事件记录将追加到指定目标事件,并且将停用任何具有相同测量值或时间性重叠的记录。 如果追加事件超过指定的目标事件记录,则将删除目标事件记录。 仅对线事件使用此选项。
RETIRE_BY_EVENT_ID—源事件记录将追加到指定目标事件,并且将停用任何具有相同事件 ID 和时间性重叠的记录。 如果追加事件超过具有相同事件 ID 的目标事件记录,则将删除目标事件记录。
REPLACE_BY_EVENT_ID—源事件记录将追加到指定目标事件,并且将替换任何具有相同事件 ID 的记录。
|
String
|
|
generate_event_ids
(可选)
|
指定是否将为正在追加的源事件记录生成事件 ID。 事件 ID 的生成将仅适用于 Event ID 字段中具有空值的源事件记录。
|
Boolean
|
|
generate_shapes
(可选)
|
|
Boolean
|
|
append_to_dominant_route
(可选)
|
如果存在路径并发,指定是否将 in_dataset 记录追加到主要路径。
此参数适用于所有 load_type 选项:ADD、RETIRE_OVERLAPS、RETIRE_BY_EVENT_ID 和 REPLACE_BY_EVENT_ID。
|
Boolean
|
|
bypass_conflict_prevention
(可选)
|
指定是否即使存在冲突预防锁也要追加事件。
只有在 LRS 数据集上启用冲突预防时,此参数才可用。
注意:
绕过冲突预防锁可能会导致数据损坏或意外行为。 如果此参数设为 BYPASS_CONFLICT_PREVENTION 选项,请在运行工具前评估潜在后果并创建数据库备份。
|
Boolean
|
派生输出
|
名称
|
说明
|
数据类型
|
|
out_target_event
|
源事件记录将追加到的事件图层或要素类。
|
Feature Layer
|
|
out_details_file
|
详细说明工具所做更改的文本文件。
|
Text File
|
代码示例
AppendEvents 示例 1(Python 窗口)
演示如何使用 Python 窗口中的 AppendEvents 函数将事件记录附加到现有事件要素类中。
# 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"
bypass_conflict_prevention = "NO_BYPASS_CONFLICT_PREVENTION"
# Run the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route, bypass_conflict_prevention)
演示如何使用 Python 脚本中的 AppendEvents 函数将事件记录附加到现有事件要素类中。 将事件追加到主要路径。
# Name: AppendEvents_StandAlonePython_Example.py
# Description: Append event records into an existing event feature class.
# Requires: ArcGIS Location Referencing
# Import arcpy module
import arcpy
# 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"
bypass_conflict_prevention = "NO_BYPASS_CONFLICT_PREVENTION"
# Run the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route, bypass_conflict_prevention)
演示如何在独立 Python 脚本中使用 AppendEvents 函数将事件记录追加到要素服务中。
# 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
# 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"
bypass_conflict_prevention = "NO_BYPASS_CONFLICT_PREVENTION"
# 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"
# Run the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, None, append_to_dominant_route, bypass_conflict_prevention)