修改 LRS 网络 (位置参考)

适用于 Location Referencing 许可。

摘要

Location Referencing 线性参考系统 (LRS) 中修改 LRS 网络。

使用情况

  • 输入要素类必须表示 Location Referencing LRS 网络。

  • 此工具不会删除任何 LRS 网络、要素类、字段或数据。

  • 此工具更新存储有关输入 LRS 网络信息的内部元数据表。

  • 此工具允许重新映射 LRS 网络字段,例如路径 ID、路径名称、日期和测量字段。 如果启用线支持,线 ID、线名称和线顺序字段也可以重新映射。

  • 在使用此工具之前,应在基础 LRS 网络要素类中创建将用于字段映射的任何新字段。

  • 可以使用此工具添加或删除 LRS 网络的线支持设置(例如工程网络)。

  • 如果输入 LRS 网络的地理数据库工作空间中存在支持线的网络,则可以使用此工具配置 LRS 派生网络。 现有的 LRS 派生网络也可以从 LRS 线网络中注销并在不同的 LRS 线网络中注册。

  • 来自输入 LRS 网络的字段只能映射到单个 LRS 网络字段。

  • 路径 ID 字段可以是单个字段或多个字段的串联。 如果网络使用串联路径 ID,则构成路径 ID 的所有字段都应该存在于网络要素类中。

  • 可以使用此工具添加或删除 LRS 网络对用户生成路径 ID 网络的支持。

参数

标注说明数据类型
LRS 网络要素类

要更改的输入 LRS 网络要素类。

Feature Layer
路径 ID 字段
(可选)

输入要素类中将映射为 LRS 网络路径 ID 的字段。 字段类型必须与 Centerline_Sequence 表的 RouteId 字段类型匹配,并且必须是字符串或 GUID 字段类型。

Field
路径名称字段
(可选)

输入要素类中将映射为 LRS 网络路径名称的字符串字段。

Field
开始日期字段
(可选)

输入要素类中的日期字段,将映射为 LRS 网络的开始日期。

Field
结束日期字段
(可选)

输入要素类中的日期字段,将映射为 LRS 网络的结束日期。

Field
从线网络派生
(可选)

确定是否将当前 LRS 网络配置为 LRS 派生网络。

  • 保留原样当前的 LRS 网络派生属性不会更改。 这是默认设置。
  • 派生输入的 LRS 派生网络将被修改为 LRS 派生网络。 还必须提供 line network name 参数以指定从哪个 LRS 网络派生。
  • 不派生输入的 LRS 派生网络将不被修改为 LRS 派生网络。
String
线网络名称
(可选)

输入 LRS 派生网络将注册到的 LRS 线网络的名称。 该输入 LRS 线网络必须与 LRS 网络要素类位于同一地理数据库工作空间和 LRS 中。 此参数仅在将从线网络派生参数设置为派生时使用。

String
包含字段以支持线
(可选)

确定是否将当前 LRS 网络配置为支持线。

  • 保留原样当前的 LRS 网络线支持属性不会更改。 这是默认设置。
  • 包括将修改输入 LRS 网络以添加对线的支持。 还必须提供线 ID 字段、线名称字段和线顺序字段参数,并且映射到这些参数的有效字段必须存在于 LRS 网络要素类中。
  • 不包括将修改输入 LRS 网络以删除对线的支持。
String
线 ID 字段
(可选)

输入要素类中将映射为 LRS 网络线 ID 的字段。 此参数仅在将包括字段以支持线参数设置为包括时使用。 字段类型必须与 Centerline_Sequence 表的 RouteId 字段类型匹配,并且必须是 38 个字符的字符串或 GUID 字段类型。

Field
线名称字段
(可选)

输入要素类中将映射为 LRS 网络线名称的字符串字段。 此参数仅在将包括字段以支持线参数设置为包括时使用。

Field
线顺序字段
(可选)

输入要素类中将映射为 LRS 网络线顺序的字段。 此参数仅在将包括字段以支持线参数设置为包括时使用。 该字段必须是长整型字段类型。

Field
路径 ID 字段配置
(可选)

确定 LRS 网络的路径 ID 配置。

  • 保留原样当前 LRS 网络路径 ID 配置不会更改。 这是默认设置。
  • 自动生成的路径 ID路径 ID 字段将为自动生成的 GUID 字段,并且可以将路径名称配置为 LRS 字段。
  • 单字段路径 ID仅支持非线网络。
  • 多字段路径 ID仅支持非线网络。 要形成串联路径 ID,需要多个字段。
String
字段
(可选)

LRS 网络要素类中用于组成路径 ID 的各个字段。 此参数仅在路径 ID 字段配置参数设置为多字段路径 ID 时使用。 字段必须是字符串或整数字段类型。

Field

派生输出

标注说明数据类型
输出网络要素类

更新的网络要素图层。

Feature Layer

arcpy.locref.ModifyLRSNetwork(in_feature_class, {route_id_field}, {route_name_field}, {from_date_field}, {to_date_field}, {derive_from_line_network}, {line_network_name}, {include_fields_to_support_lines}, {line_id_field}, {line_name_field}, {line_order_field}, {route_id_configuration}, {individual_route_id_fields})
名称说明数据类型
in_feature_class

要更改的输入 LRS 网络要素类。

Feature Layer
route_id_field
(可选)

输入要素类中将映射为 LRS 网络路径 ID 的字段。 字段类型必须与 Centerline_Sequence 表的 RouteId 字段类型匹配,并且必须是字符串或 GUID 字段类型。

Field
route_name_field
(可选)

输入要素类中将映射为 LRS 网络路径名称的字符串字段。

Field
from_date_field
(可选)

输入要素类中的日期字段,将映射为 LRS 网络的开始日期。

Field
to_date_field
(可选)

输入要素类中的日期字段,将映射为 LRS 网络的结束日期。

Field
derive_from_line_network
(可选)

确定是否将当前 LRS 网络配置为 LRS 派生网络。

  • AS_IS当前的 LRS 网络派生属性不会更改。 这是默认设置。
  • DERIVE输入的 LRS 派生网络将被修改为 LRS 派生网络。 还必须提供 line network name 参数以指定从哪个 LRS 网络派生。
  • DO_NOT_DERIVE输入的 LRS 派生网络将不被修改为 LRS 派生网络。
String
line_network_name
(可选)

输入 LRS 派生网络将注册到的 LRS 线网络的名称。 该输入 LRS 线网络必须与 LRS 网络要素类位于同一地理数据库工作空间和 LRS 中。 只能在将 derive_from_line_network 参数设置为 DERIVE 时,才能使用此参数。

String
include_fields_to_support_lines
(可选)

确定是否将当前 LRS 网络配置为支持线。

  • AS_IS当前的 LRS 网络线支持属性不会更改。 这是默认设置。
  • INCLUDE将修改输入 LRS 网络以添加对线的支持。 还必须提供线 ID 字段、线名称字段和线顺序字段参数,并且映射到这些参数的有效字段必须存在于 LRS 网络要素类中。
  • DO_NOT_INCLUDE将修改输入 LRS 网络以删除对线的支持。
String
line_id_field
(可选)

输入要素类中将映射为 LRS 网络线 ID 的字段。 只能在将 include_fields_to_support_lines 参数设置为 INCLUDE 时,才能使用此参数。 字段类型必须与 Centerline_Sequence 表的 RouteId 字段类型匹配,并且必须是 38 个字符的字符串或 GUID 字段类型。

Field
line_name_field
(可选)

输入要素类中将映射为 LRS 网络线名称的字符串字段。 只能在将 include_fields_to_support_lines 参数设置为 INCLUDE 时,才能使用此参数。

Field
line_order_field
(可选)

输入要素类中将映射为 LRS 网络线顺序的字段。 只能在将 include_fields_to_support_lines 参数设置为 INCLUDE 时,才能使用此参数。 该字段必须是长整型字段类型。

Field
route_id_configuration
(可选)

确定 LRS 网络的路径 ID 配置。

  • AS_IS当前 LRS 网络路径 ID 配置不会更改。 这是默认设置。
  • AUTOGENERATED_ROUTE_ID路径 ID 字段将为自动生成的 GUID 字段,并且可以将路径名称配置为 LRS 字段。
  • SINGLE_FIELD_ROUTE_ID仅支持非线网络。
  • MULTI_FIELD_ROUTE_ID仅支持非线网络。 要形成串联路径 ID,需要多个字段。
String
individual_route_id_fields
[individual_route_id_fields,...]
(可选)

in_feature_class 中用于组成路径 ID 的各个字段。 只能在将 route_id_configuration 参数设置为 MULTI_FIELD_ROUTE_ID 选项后使用此参数。 字段必须是字符串或整数字段类型。

Field

派生输出

名称说明数据类型
out_feature_class

更新的网络要素图层。

Feature Layer

代码示例

ModifyLRSNetwork 示例 1(Python 窗口)

演示了如何在 Python 窗口中使用 ModifyLRSNetwork 工具。

# Name: Modify_LRS_Network_ex1.py
# Description: Modifies an existing linear referencing system (LRS) in the specified workspace.
# Requires: ArcGIS Location Referencing

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

# Tool variables
in_feature_class = r"C:\UPDM_Data\LRS.gdb\LRS\DerivedNetwork"
route_id_field = "RouteId"
route_name_field = "RouteName"
from_date_field = "FromDate"
to_date_field = "ToDate"
derive_from_line_network = "DO_NOT_DERIVE"
line_network_name = "EngineeringNetwork"

# Set current workspace
arcpy.env.workspace = "C:\UPDM_Data\LRS.gdb"

# Execute the tool
arcpy.locref.ModifyLRSNetwork(in_feature_class, route_id_field, route_name_field, from_date_field, to_date_field,
                              derive_from_line_network, line_network_name)
                              
# Check in license
arcpy.CheckInExtension('LocationReferencing')
ModifyLRSNetwork 示例 2(独立脚本)

演示如何使用 ModifyLRSNetwork 工具作为独立 Python 脚本。

# Name: Modify_LRS_Network_ex2.py
# Description: Modify an LRS Network to change field mapping for date fields. All other parameters will remain as is.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy
 
# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Local variables:
Input_Network = r"C:\UPDM_Data\LRS.gdb\LRS\EngineeringNetwork"
Route_ID = "RouteId"
Route_Name = "RouteName"
From_Date = "FromDate_New"
To_Date = "ToDate_New"
Derive = "DO_NOT_DERIVE"
Derive_From = None
Line_Support = "INCLUDE"
Line_ID = "LineId"
Line_Name = "LineName"
Line_Order = "LineOrder"

# Execute the tool
arcpy.locref.ModifyLRSNetwork(Input_Network, Route_ID, Route_Name, From_Date, To_Date, Derive, Derive_From,
                              Line_Support, Line_ID, Line_Name, Line_Order)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
ModifyLRSNetwork 示例 3(Python 窗口)

演示如何使用 Python 窗口中的 ModifyLRSNetwork 工具修改路径 ID 字段以支持用户生成的单字段路径 ID。

# Name: ModifyLRSNetwork example 3 (Python window)
# Description: ModifyLRSNetwork example 3 (Python window)
# Requires: ArcGIS Location Referencing

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

# Tool variables
in_feature_class = r"C:\UPDM_Data\LRS.gdb\LRS\Network1"
route_id_field = "RouteId"
route_name_field = ""
from_date_field = "FromDate"
to_date_field = "ToDate"
derive_from_line_network = ""
line_network_name = ""
include_fields_to_support_lines =""
line_id_field = ""
line_name_field = ""
line_order_field = ""
route_id_configuration = "SINGLE_FIELD_ROUTE_ID"
individual_route_id_fields = ""

# Set current workspace
arcpy.env.workspace = "C:\UPDM_Data\LRS.gdb"

# Execute the tool
arcpy.locref.ModifyLRSNetwork(in_feature_class, route_id_field, route_name_field, from_date_field, to_date_field, derive_from_line_network, line_network_name, include_fields_to_support_lines, line_id_field, line_name_field, line_order_field, route_id_configuration, individual_route_id_fields)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
ModifyLRSNetwork 示例 4(Python 窗口)

演示如何使用 Python 窗口中的 ModifyLRSNetwork 工具修改路径 ID 字段以支持用户生成的多字段路径 ID。

# Name: ModifyLRSNetwork example 4 (Python window)
# Description: ModifyLRSNetwork example 4 (Python window)
# Requires: ArcGIS Location Referencing

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

# Tool variables
in_feature_class = r"C:\UPDM_Data\LRS.gdb\LRS\Network1"
route_id_field = "RouteId"
route_name_field = ""
from_date_field = "FromDate"
to_date_field = "ToDate"
derive_from_line_network = ""
line_network_name = ""
include_fields_to_support_lines =""
line_id_field = ""
line_name_field = ""
line_order_field = ""
route_id_configuration = "MULTI_FIELD_ROUTE_ID"
individual_route_id_fields = "Field1;Field2;Field3"

# Set current workspace
arcpy.env.workspace = "C:\UPDM_Data\LRS.gdb"

# Execute the tool
arcpy.locref.ModifyLRSNetwork(in_feature_class, route_id_field, route_name_field, from_date_field, to_date_field, derive_from_line_network, line_network_name, include_fields_to_support_lines, line_id_field, line_name_field, line_order_field, route_id_configuration, individual_route_id_fields)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
ModifyLRSNetwork 示例 5(独立脚本)

演示如何使用 Python 独立脚本 ModifyLRSNetwork 工具以修改路径 ID 字段以支持用户生成的单字段路径 ID。

# Name: ModifyLRSNetwork example 5 (stand-alone script)
# Description: ModifyLRSNetwork example 5 (stand-alone script)
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy
 
# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Local variables:
Input_Network = r"C:\UPDM_Data\LRS.gdb\LRS\EngineeringNetwork"
Route_ID = "RouteId"
Route_Name = ""
From_Date = "FromDate"
To_Date = "ToDate"
Derive = ""
Derive_From = ""
Line_Support = ""
Line_ID = ""
Line_Name = ""
Line_Order = ""
route_id_configuration = "SINGLE_FIELD_ROUTE_ID"
individual_route_id_fields = ""

# Execute the tool 
arcpy.locref.ModifyLRSNetwork(Input_Network, Route_ID, Route_Name, From_Date, To_Date, Derive, Derive_From, Line_Support, Line_ID, Line_Name, Line_Order, route_id_configuration, individual_route_id_fields)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
ModifyLRSNetwork 示例 6(独立脚本)

演示如何使用 Python 独立脚本 ModifyLRSNetwork 工具以修改路径 ID 字段以支持用户生成的多字段路径 ID。

# Name: ModifyLRSNetwork example 6 (stand-alone script)
# Description: ModifyLRSNetwork example 6 (stand-alone script)
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy
 
# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Local variables:
Input_Network = r"C:\UPDM_Data\LRS.gdb\LRS\EngineeringNetwork"
Route_ID = "RouteId"
Route_Name = ""
From_Date = "FromDate"
To_Date = "ToDate"
Derive = ""
Derive_From = ""
Line_Support = ""
Line_ID = ""
Line_Name = ""
Line_Order = ""
route_id_configuration = "MULTI_FIELD_ROUTE_ID"
individual_route_id_fields = "Field1;Field2;Field3"

# Execute the tool
arcpy.locref.ModifyLRSNetwork(Input_Network, Route_ID, Route_Name, From_Date, To_Date, Derive, Derive_From, Line_Support, Line_ID, Line_Name, Line_Order, route_id_configuration, individual_route_id_fields)

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

许可信息

  • Basic: 需要 ArcGIS Location Referencing
  • Standard: 需要 ArcGIS Location Referencing
  • Advanced: 需要 ArcGIS Location Referencing

相关主题