基于现有数据集创建 LRS (位置参考)

摘要

使用现有数据集在指定工作空间中创建线性参考系统 (LRS)。

使用情况

  • 最小模式项目用于中心线、中心线序列、校准点和红线要素类。 确保项目为空,包含在同一地理数据库中且未被地理数据库中的其他 LRS 使用。

  • 中心线、校准点和红线要素类必须位于要素数据集中。

  • 中心线、校准点和红线要素类的空间参考、容差和分辨率必须相同。

  • 中心线和校准点要素类必须启用 z 值并且可以启用 m 值。

  • 红线要素类必须启用 z 值。

  • 使用企业级地理数据库作为此工具的输入时,当前数据库用户不能为 SDE 或 DBO。

参数

标注说明数据类型
LRS 名称

要创建的 LRS 的名称。 该名称不能已存在于地理数据库中。

String
中心线 - 要素类

在 LRS 中用作中心线的要素类。

Feature Layer
中心线 - 中心线 ID 字段

包含中心线 ID 的 GUID 字段。 字段类型必须与中心线序列表中的 centerlineID 字段类型匹配。

Field
中心线序列 - 表

在 LRS 中用作中心线序列的表。

Table View
中心线序列 - 中心线 ID 字段

包含中心线序列 ID 的 GUID 字段。 字段类型必须与中心线要素类中的 centerlineID 字段类型和长度匹配。

Field
中心线序列 - 路径 ID 字段

包含中心线序列路径 ID 的 GUID 或文本字段。 字段类型必须与校准点和红线要素类中的 routeID 字段类型和长度匹配。

Field
中心线序列 - 开始日期字段

包含中心线序列开始日期的日期字段。

Field
中心线序列 - 结束日期字段

包含中心线序列结束日期的日期字段。

Field
中心线序列 - 网络 ID 字段

包含中心线序列网络 ID 的字段。 支持短整型字段类型。

Field
校准点 - 要素类

在 LRS 中用作校准点的要素类。

Feature Layer
校准点 - 测量字段

包含校准点测量值的字段。 支持双精度字段类型。

Field
校准点 - 开始日期字段

包含校准点开始日期的日期字段。

Field
校准点 - 结束日期字段

包含校准点结束日期的日期字段。

Field
校准点 - 路径 ID 字段

包含校准点路径 ID 的字段。 支持 GUID 和文本字段类型。 字段类型必须与中心线序列表和红线要素类中的 routeID 字段类型和长度匹配。

Field
校准点 - 网络 ID 字段

包含校准点网络 ID 的字段。 支持短整型字段类型。

Field
红线 - 要素类

在 LRS 中用作红线的要素类。

Feature Layer
红线 - 测量始于字段

包含红线测量始于的字段。 支持双精度字段类型。

Field
红线 - 测量止于字段

包含红线测量止于的字段。 支持双精度字段类型。

Field
红线 - 路径 ID 字段

包含红线路径 ID 的字段。 支持 GUID 和文本字段类型。 字段类型必须与校准点要素类和中心线序列表中的 routeID 字段类型和长度匹配。

Field
红线 - 路径名称字段

包含红线路径名称的文本字段。

Field
红线 - 生效日期字段

包含红线生效日期的日期字段。

Field
红线 - 活动类型字段

包含红线活动类型的字段。 支持短整型字段类型。

Field
红线 - 网络 ID 字段

包含红线网络 ID 的字段。 支持短整型字段类型。

Field

派生输出

标注说明数据类型
输出位置

新建 LRS 网络的路径。

Workspace

arcpy.locref.CreateLRSFromExistingDataset(lrs_name, centerline_feature_class, centerline_centerline_id_field, centerline_sequence_table, centerline_sequence_centerline_id_field, centerline_sequence_route_id_field, centerline_sequence_from_date_field, centerline_sequence_to_date_field, centerline_sequence_network_id_field, calibration_point_feature_class, calibration_point_measure_field, calibration_point_from_date_field, calibration_point_to_date_field, calibration_point_route_id_field, calibration_point_network_id_field, redline_feature_class, redline_from_measure_field, redline_to_measure_field, redline_route_id_field, redline_route_name_field, redline_effective_date_field, redline_activity_type_field, redline_network_id_field)
名称说明数据类型
lrs_name

要创建的 LRS 的名称。 该名称不能已存在于地理数据库中。

String
centerline_feature_class

在 LRS 中用作中心线的要素类。

Feature Layer
centerline_centerline_id_field

包含中心线 ID 的 GUID 字段。 字段类型必须与中心线序列表中的 centerlineID 字段类型匹配。

Field
centerline_sequence_table

在 LRS 中用作中心线序列的表。

Table View
centerline_sequence_centerline_id_field

包含中心线序列 ID 的 GUID 字段。 字段类型必须与中心线要素类中的 centerlineID 字段类型和长度匹配。

Field
centerline_sequence_route_id_field

包含中心线序列路径 ID 的 GUID 或文本字段。 字段类型必须与校准点和红线要素类中的 routeID 字段类型和长度匹配。

Field
centerline_sequence_from_date_field

包含中心线序列开始日期的日期字段。

Field
centerline_sequence_to_date_field

包含中心线序列结束日期的日期字段。

Field
centerline_sequence_network_id_field

包含中心线序列网络 ID 的字段。 支持短整型字段类型。

Field
calibration_point_feature_class

在 LRS 中用作校准点的要素类。

Feature Layer
calibration_point_measure_field

包含校准点测量值的字段。 支持双精度字段类型。

Field
calibration_point_from_date_field

包含校准点开始日期的日期字段。

Field
calibration_point_to_date_field

包含校准点结束日期的日期字段。

Field
calibration_point_route_id_field

包含校准点路径 ID 的字段。 支持 GUID 和文本字段类型。 字段类型必须与中心线序列表和红线要素类中的 routeID 字段类型和长度匹配。

Field
calibration_point_network_id_field

包含校准点网络 ID 的字段。 支持短整型字段类型。

Field
redline_feature_class

在 LRS 中用作红线的要素类。

Feature Layer
redline_from_measure_field

包含红线测量始于的字段。 支持双精度字段类型。

Field
redline_to_measure_field

包含红线测量止于的字段。 支持双精度字段类型。

Field
redline_route_id_field

包含红线路径 ID 的字段。 支持 GUID 和文本字段类型。 字段类型必须与校准点要素类和中心线序列表中的 routeID 字段类型和长度匹配。

Field
redline_route_name_field

包含红线路径名称的文本字段。

Field
redline_effective_date_field

包含红线生效日期的日期字段。

Field
redline_activity_type_field

包含红线活动类型的字段。 支持短整型字段类型。

Field
redline_network_id_field

包含红线网络 ID 的字段。 支持短整型字段类型。

Field

派生输出

名称说明数据类型
out_path

新建 LRS 网络的路径。

Workspace

代码示例

CreateLRSFromExistingDataset 示例 1(Python 窗口)

此脚本使用 Python 窗口中的 CreateLRSFromExistingDataset 函数创建了具有现有最小模式项目的 LRS。

# Name: Create_LRS_Existing_Dataset_ex1.py
# Description: Create an LRS using existing minimum schema items (Centerline, Centerline Sequence, Calibration Point, Redline) in a file or multiuser geodatabase.
# Requires: ArcGIS Location Referencing

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

# Tool variables
lrs_name = "LRS"
centerline_feature_class = r"C:\Data\PipelineData.sde\LRS\Centerline"
centerline_centerline_id_field = "Centerline_ID"
centerline_sequence_table = r"C:\Data\PipelineData.gdb\CenterlineSequence"
centerline_sequence_centerline_id_field = "Centerline_ID"
centerline_sequence_route_id_field = "Route_ID"
centerline_sequence_from_date_field = "From_Date"
centerline_sequence_to_date_field = "To_Date"
centerline_sequence_network_id_field = "Network_ID"
calibration_point_feature_class = r"C:\Data\PipelineData.gdb\LRS\CalibrationPoint"
calibration_point_measure_field = "Measure"
calibration_point_from_date_field = "From_Date"
calibration_point_to_date_field = "To_Date"
calibration_point_route_id_field = "Route_ID"
calibration_point_network_id_field = "Network_ID"
redline_feature_class = r"C:\Data\PipelineData.gdb\LRS\Redline"
redline_from_measure_field = "From_Measure"
redline_to_measure_field = "To_Measure"
redline_route_id_field = "Route_ID"
redline_route_name_field = "Route_Name"
redline_effective_date_field = "Effective_Date"
redline_activity_type_field = "Activity_Type"
redline_network_id_field = "Network_ID"

# Set current workspace
arcpy.env.workspace = "C:\Data\PipelineData.sde"

# Execute the tool
arcpy.locref.CreateLRSFromExistingDataset(lrs_name, centerline_feature_class, centerline_centerline_id_field,
                                          centerline_sequence_table, centerline_sequence_centerline_id_field,
                                          centerline_sequence_route_id_field, centerline_sequence_from_date_field,
                                          centerline_sequence_to_date_field, centerline_sequence_network_id_field,
                                          calibration_point_feature_class, calibration_point_measure_field,
                                          calibration_point_from_date_field, calibration_point_to_date_field,
                                          calibration_point_route_id_field, calibration_point_network_id_field,
                                          redline_feature_class, redline_from_measure_field, redline_to_measure_field,
                                          redline_route_id_field, redline_route_name_field, redline_effective_date_field,
                                          redline_activity_type_field, redline_network_id_field)

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

此脚本使用独立 Python 脚本中的 CreateLRSFromExistingDataset 函数创建了具有现有最小模式项目的 LRS。

# Name: Create_LRS_Existing_Dataset_ex2.py
# Description: Create an LRS using existing minimum schema items (Centerline, Centerline Sequence, Calibration Point, Redline) in a file or multiuser geodatabase.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

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

# Local variables
lrs_name = "LRS"
centerline_feature_class = r"C:\Data\PipelineData.gdb\LRS\Centerline"
centerline_centerline_id_field = "CenterlineID"
centerline_sequence_table = r"C:\Data\PipelineData.gdb\CenterlineSequence"
centerline_sequence_centerline_id_field = "CenterlineID"
centerline_sequence_route_id_field = "RouteID"
centerline_sequence_from_date_field = "FromDate"
centerline_sequence_to_date_field = "ToDate"
centerline_sequence_network_id_field = "NetworkID"
calibration_point_feature_class = r"C:\DataPipelineData.gdb\LRS\CalibrationPoint"
calibration_point_measure_field = "Measure"
calibration_point_from_date_field = "FromDate"
calibration_point_to_date_field = "ToDate"
calibration_point_route_id_field = "RouteID"
calibration_point_network_id_field = "NetworkID"
redline_feature_class = r"C:\DataPipelineData.gdb\LRS\CalibrationPoint"
redline_from_measure_field = "FromMeasure"
redline_to_measure_field = "ToMeasure"
redline_route_id_field = "RouteID"
redline_route_name_field = "RouteName"
redline_effective_date_field = "EffectiveDate"
redline_activity_type_field = "ActivityType"
redline_network_id_field = "NetworkID"

# Execute the tool
arcpy.locref.CreateLRSFromExistingDataset(lrs_name, centerline_feature_class, centerline_centerline_id_field,
                                          centerline_sequence_table, centerline_sequence_centerline_id_field,
                                          centerline_sequence_route_id_field, centerline_sequence_from_date_field,
                                          centerline_sequence_to_date_field, centerline_sequence_network_id_field,
                                          calibration_point_feature_class, calibration_point_measure_field,
                                          calibration_point_from_date_field, calibration_point_to_date_field,
                                          calibration_point_route_id_field, calibration_point_network_id_field,
                                          redline_feature_class, redline_from_measure_field, redline_to_measure_field,
                                          redline_route_id_field, redline_route_name_field, redline_effective_date_field,
                                          redline_activity_type_field, redline_network_id_field)

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

许可信息

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

相关主题