从 LRS 更新测量值 (位置参考)

适用于 Location Referencing 许可。

摘要

用于填充或更新任何点或线要素上的路径和测量值属性,其中包括诸如管道、设备和交汇点等 Utility Network 要素,或者诸如事件和交叉点等 LRS 要素。

将更新的属性包括路径 ID、路径名称(如果已配置)和测量值。

使用情况

  • 此工具支持来自文件地理数据库、企业级地理数据库(分支版本化连接)或要素服务(根据分支版本化数据发布)的数据。

  • 输入要素LRS 网络参数值的空间参考、x,y 分辨率和 x,y 容差必须匹配。

  • 路径止于 ID 字段路径止于名称字段参数为可选项,适用于跨路径的要素。

  • 如果输入要素与路径不一致,则需要使用搜索容差参数来更新路径并确定输入要素的属性。

    • 将使用搜索容差范围内最近路径的路径和测量值来更新输入要素。
    • 如果两条或多条路径与输入要素的距离相等,则其中任意一条路径将用于更新。
    • 如果输入要素为线要素,则仅当线要素的起点和终点位于路径的搜索容差范围内时,才会填充路径和测量值属性。
  • 以下图表和表格显示了点和线输入要素的更新方式:

    更新线要素的路径 ID 和测量值的示例

    要素类型路径 ID测量始于测量止于注释

    线

    Route1

    11

    17

    线要素的几何与 Route1 具有几何匹配。

    输入图层中已更新的路径和测量值属性

    更新点要素的路径 ID 和测量的示例

    要素类型路径 ID测量注释

    Route1

    21

    该点要素位于 Route1 上。

    输入图层中已更新的路径和测量值属性

    提供搜索容差后,更新点要素的路径 ID 和测量值的示例

    要素类型路径 ID测量注释

    Route1

    21

    该点要素不在 Route1 上。 通过提供搜索容差,将从最近的路径更新路径和测量值属性。

    输入图层中已更新的路径和测量值属性

    更新跨路径要素的示例

    要素类型路径 ID路径名称测量始于路径止于 ID路径止于名称测量止于注释

    线

    Route1

    L1R1

    11

    Route2

    L1R2

    28

    该线要素的几何与属于同一条线的路径 L1R1 和 L1R2 具有几何匹配。

    输入图层中已更新的路径和测量值属性

参数

标注说明数据类型
LRS 网络

包含路径、路径 ID、路径名称(如果已配置)和测量值的要素图层。

Feature Layer
LRS 日期

定义网络时态视图的日期。

Date
输入要素

点或线要素,将根据与 LRS 网络中的路径相关的要素几何对其进行更新。

Feature Layer
路径 ID 字段

输入要素参数值中包含路径 ID 属性的字段。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
测量字段

输入要素参数值中包含点要素测量值或线要素起始测量值的字段。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
测量止于字段
(可选)

输入要素参数值中包含线要素终止测量值的字段。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
路径止于 ID 字段
(可选)

输入要素参数值中包含止于路径 ID 属性的字段。

仅当输入要素参数值为线要素图层时,此参数才可用。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
路径名称字段
(可选)

输入要素参数值中包含路径名称属性的字段。

仅当 LRS 网络已配置路径名称时,此参数才可用。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
路径止于名称字段
(可选)

输入要素参数值中包含路径止于名称属性的字段。

仅当 LRS 网络已配置路径名称并且输入要素参数值为线要素图层时,此参数才可用。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
搜索容差
(可选)

将标识输入要素搜索容差范围内的路径。 将使用搜索容差范围内最近路径的路径和测量值来更新输入要素。

搜索容差单位基于 LRS 网络的 x,y 单位。

Double

派生输出

标注说明数据类型
输出详细信息文件

用于列出已更新输入要素的输出 .csv 文件。 此 .csv 文件包含路径 ID、路径名称(如果已配置)以及更新前后每个已更新要素的测量值属性。

File
输出要素

更新的要素图层。

注:

此工具的验证结果将写入 ArcGIS Server 目录。 默认情况下,此文件会在 10 分钟内自动清除,这可能不足以处理所有验证并将其写入正在运行 ArcGIS Pro 的工作站。 对于较大的数据负载,建议您将文件最长保留期限调整为至少一小时。

Feature Layer

arcpy.locref.UpdateMeasuresFromLRS(lrs_network, lrs_date, in_features, route_id_field, from_measure_field, {to_measure_field}, {to_route_id_field}, {route_name_field}, {to_route_name_field}, {search_tolerance})
名称说明数据类型
lrs_network

包含路径、路径 ID、路径名称(如果已配置)和测量值的要素图层。

Feature Layer
lrs_date

定义网络时态视图的日期。

Date
in_features

点或线要素,将根据与 LRS 网络中的路径相关的要素几何对其进行更新。

Feature Layer
route_id_field

in_features 参数值中包含路径 ID 属性的字段。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
from_measure_field

in_features 参数值中包含点要素测量值或线要素起始测量值的字段。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
to_measure_field
(可选)

in_features 参数值中包含线要素终止测量值的字段。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
to_route_id_field
(可选)

in_features 参数值中包含路径 ID 属性的字段。

仅当 in_features 参数值为线要素图层时,此参数才可用。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
route_name_field
(可选)

in_features 参数值中包含路径名称属性的字段。

仅当 LRS 网络已配置路径名称时,此参数才可用。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
to_route_name_field
(可选)

in_features 参数值中包含路径止于名称属性的字段。

仅当 LRS 网络已配置路径名称并且 in_features 参数值为线要素图层时,此参数才可用。

该字段的数据类型和长度必须与 LRS 网络中相应字段的数据类型和长度相匹配。

Field
search_tolerance
(可选)

将标识输入要素搜索容差范围内的路径。 将使用搜索容差范围内最近路径的路径和测量值来更新输入要素。

搜索容差单位基于 LRS 网络的 x,y 单位。

Double

派生输出

名称说明数据类型
out_details_file

用于列出已更新输入要素的输出 .csv 文件。 此 .csv 文件包含路径 ID、路径名称(如果已配置)以及更新前后每个已更新要素的测量值属性。

File
out_features

更新的要素图层。

注:

此工具的验证结果将写入 ArcGIS Server 目录。 默认情况下,此文件会在 10 分钟内自动清除,这可能不足以处理所有验证并将其写入正在运行 ArcGIS Pro 的工作站。 对于较大的数据负载,建议您将文件最长保留期限调整为至少一小时。

Feature Layer

代码示例

UpdateMeasuresFromLRS 示例 1(Python 窗口)

此代码示例演示如何在 Python 窗口中使用 UpdateMeasuresFromLRS 函数。

# Name: UpdateMeasuresFromLRS_Sample1.py
# Description: This will populate the Route ID and measures in the input layer based on overlapping routes from the network layer. 
# The output is the input layer with the updated Route ID and measure values, and a .csv file with information on the updated features and errors.
# Requires: ArcGIS Location Referencing

# Variables are supported from feature service only. Signing into Portal is required to access the feature service.
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

# Map the lrs network from the feature service. Here, 8 corresponds to the lrs route network.
lrs_network_url =  r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/8"
lrs_network = arcpy.management.MakeFeatureLayer(lrs_network_url, "networkLayer")

# Map the input feature layer from the same feature service. Here, 18 corresponds to the input feature layer.
in_features_url = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/18"
in_features = arcpy.management.MakeFeatureLayer(in_features_url, "inputFeaturesLayer")
lrs_date = "10/8/2019"
route_id_field = "ROUTEID"
from_measure_field = "FROMMEASURE"
to_measure_field = "TOMEASURE"
to_route_id_field = None
route_name_field = None
to_route_name_field = None
search_tolerance = None

# Execute the tool
arcpy.locref.UpdateMeasuresFromLRS(lrs_network, lrs_date, in_features, route_id_field, from_measure_field, to_measure_field, to_route_id_field, route_name_field, to_route_name_field, search_tolerance)
UpdateMeasuresFromLRS 示例 2(独立脚本)

此代码示例演示了如何在独立 Python 脚本中使用 UpdateMeasuresFromLRS 函数。

# Name: UpdateMeasuresFromLRS_Sample2.py
# Description: Populate the route ID and measures in the input layer based on overlapping routes from the network layer. 
# The output is the input layer with the updated route ID and measure values, and a .csv file with information on the updated features and errors.
# Requires: ArcGIS Location Referencing
 
# Import arcpy module
import arcpy
 
# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Variables are supported from feature service only. Portal signin is required to access the feature service.
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

# Initialize variables
# Map the lrs network from the feature service. Here, 8 corresponds to the LRS route network.
lrs_network_url =  r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/8"
lrs_network = arcpy.management.MakeFeatureLayer(lrs_network_url, "networkLayer")

# Map the input feature layer from the same feature service. Here, 18 corresponds to the input feature layer.
in_features_url = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/18"
in_features = arcpy.management.MakeFeatureLayer(in_features_url, "inputFeaturesLayer")
lrs_date= "10/8/2019"
route_id_field = "ROUTEID"
from_measure_field = "FROMMEASURE"
to_measure_field = "TOMEASURE"
to_route_id_field = None
route_name_field = None
to_route_name_field = None
search_tolerance = None

# Execute the tool
arcpy.locref.UpdateMeasuresFromLRS(lrs_network, lrs_date, in_features, route_id_field, from_measure_field, to_measure_field, to_route_id_field, route_name_field, to_route_name_field, search_tolerance)

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

此代码示例演示了如何针对跨越要素在 Python 窗口中使用 UpdateMeasuresFromLRS 函数。

# Name: UpdateMeasuresFromLRS_sample3.py
# Description: This will populate the Route ID, Route Name, and measures in the input layer based on overlapping routes from the network layer. 
# The output is the input layer with the updated Route ID, Route Name and measure values, and a .csv file with information on the updated features and errors.
# Requires: ArcGIS Location Referencing

# Variables are supported from feature service only. Signing into Portal is required to access the feature service.
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

# Map the lrs network from the feature service. Here, 8 corresponds to the lrs route network.
lrs_network_url =  r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/8"
lrs_network = arcpy.management.MakeFeatureLayer(lrs_network_url, "networkLayer")

# Map the input feature layer from the same feature service. Here, 18 corresponds to the input spannning feature layer.
in_features_url = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/18"
in_features = arcpy.management.MakeFeatureLayer(in_features_url, "inputFeaturesLayer")
lrs_date = "12/31/2024"
route_id_field = "ROUTEID"
from_measure_field = "FROMMEASURE"
to_measure_field = "TOMEASURE"
to_route_id_field = "TOROUTEID"
route_name_field = "RteName"
to_route_name_field = "ToRteName"
search_tolerance = None

# Execute the tool
arcpy.locref.UpdateMeasuresFromLRS(lrs_network, lrs_date, in_features, route_id_field, from_measure_field, to_measure_field, to_route_id_field, route_name_field, to_route_name_field, search_tolerance)

许可信息

  • Basic: 需要 ArcGIS Location Referencing(ArcGIS Pipeline Referencing 或 ArcGIS Roads and Highways)
  • Standard: 需要 ArcGIS Location Referencing(ArcGIS Pipeline Referencing 或 ArcGIS Roads and Highways)
  • Advanced: 需要 ArcGIS Location Referencing(ArcGIS Pipeline Referencing 或 ArcGIS Roads and Highways)

相关主题