生成交叉点 (位置参考)

适用于 Location Referencing 许可。

摘要

生成新的交叉点并更新现有交叉点。

了解有关Pipeline Referencing 中生成和更新交叉点Roads and Highways 中生成和更新交叉点的详细信息。

使用情况

  • 交叉点要素类参数值是由创建 LRS 交叉点工具或从现有数据集创建 LRS 交叉点工具创建的点要素类,用于存储 LRS 交叉点数据。 运行此工具后,LRS 交叉点要素类将被更新。

  • 网络图层参数值为线要素类,用于存储 LRS 网络数据。 您可以从此要素类中选择路线来更新它们的交叉点。 网络图层中与所选路径在不同时间点共享公共路径 ID 的路径用于生成交叉点。 还会考虑网络图层上的定义过滤器。

  • 仅在提供了网络图层参数值时,才会考虑路径选择或定义查询。

  • 开始日期参数用于更新从定义日期起已编辑的路径上的交叉点。

  • 可以为网络图层启用编辑者追踪。 编辑者追踪用于查找已添加、更新或编辑的要素。 将编辑者追踪与开始日期参数值结合使用,可以仅更新自用户提供的开始日期值以来已更改的交叉点。 这样可能会提高性能。

  • 如果选中仅使用当前用户编辑的路径参数,则只有当前用户在当前版本中编辑的路径(由编辑者追踪标识)才会更新交叉点。 对于文件地理数据库中的 LRS 数据集,会针对当前 Microsoft Windows 用户编辑的路径更新交叉点。 必须为网络要素类启用编辑者追踪才能使用此功能。

  • 根据路径选择、路径定义查询、日期选择和仅使用当前用户编辑的路径参数值,确定要更新其交叉点的路径。 如果您提供这些值,则只会处理满足所有四个条件的路径以更新交叉点。

  • 不会在路径的自相交位置生成交叉点。

  • 此工具支持冲突预防,并将尝试获取和转移锁。

    了解有关 ArcGIS Pipeline Referencing 中的冲突预防ArcGIS Roads and Highways 中的冲突预防的详细信息。

  • 如果选中即使存在冲突预防锁,仍将生成交叉点参数,则将绕过相交路径上的现有锁,并且运行此工具不会获取新锁。

    警告:

    绕过冲突预防锁可能导致数据损坏或意外行为。 如果选中即使存在冲突预防锁,仍将生成交叉点参数,请在运行此工具前评估潜在后果并创建数据库备份。

参数

标注说明数据类型
交叉点要素类

输入 LRS 交叉点要素类或图层。

Feature Layer
网络图层
(可选)

输入 LRS 网络要素类或图层。

Feature Layer
开始日期
(可选)

过滤在特定日期之后被编辑的路径,以生成交叉点。

Date
仅使用当前用户编辑的路径
(可选)

指定是否只为当前用户编辑和锁的路径生成交叉点。

  • 选中 - 仅为当前用户编辑的路径生成交叉点。 这是默认设置。
  • 未选中 - 将为所有已编辑的路径生成交叉点。
Boolean
即使存在冲突预防锁,仍将生成交叉点
(可选)

指定是否即使存在冲突预防锁也要生成交叉点。

  • 选中 - 即使存在冲突预防锁,仍将生成交叉点。
  • 未选中 - 如果存在冲突预防锁,则不生成交叉点。 这是默认设置。

只有在 LRS 数据集上启用冲突预防时,此参数才可用。

警告:

绕过冲突预防锁可能导致数据损坏或意外行为。 如果选中此参数,请在运行工具前评估潜在后果并创建数据库备份。

Boolean

派生输出

标注说明数据类型
已更新的交叉点要素类

更新的 LRS 交叉点要素类或图层。

Feature Layer
输出详细信息文件

详细说明工具所做更改的文本文件。

注:

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

Text File

arcpy.locref.GenerateIntersections(in_intersection_feature_class, {in_network_layer}, {start_date}, {edited_by_current_user}, {bypass_conflict_prevention})
名称说明数据类型
in_intersection_feature_class

输入 LRS 交叉点要素类或图层。

Feature Layer
in_network_layer
(可选)

输入 LRS 网络要素类或图层。

Feature Layer
start_date
(可选)

过滤在特定日期之后被编辑的路径,以生成交叉点。

Date
edited_by_current_user
(可选)

指定是否只为当前用户编辑和锁的路径生成交叉点。

  • CURRENT_USER仅为当前用户编辑的路径生成交叉点。 这是默认设置。
  • ALL_USERS将为所有已编辑的路径生成交叉点。
Boolean
bypass_conflict_prevention
(可选)

指定是否即使存在冲突预防锁也要生成交叉点。

  • BYPASS_CONFLICT_PREVENTION即使存在冲突预防锁,仍将生成交叉点。
  • NO_BYPASS_CONFLICT_PREVENTION如果存在冲突预防锁,则不生成交叉点。 这是默认设置。

只有在 LRS 数据集上启用冲突预防时,此参数才可用。

警告:

绕过冲突预防锁可能导致数据损坏或意外行为。 如果此参数设为 BYPASS_CONFLICT_PREVENTION,请在运行工具前评估潜在后果并创建数据库备份。

Boolean

派生输出

名称说明数据类型
out_intersection_feature_class

更新的 LRS 交叉点要素类或图层。

Feature Layer
out_details_file

详细说明工具所做更改的文本文件。

注:

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

Text File

代码示例

GenerateIntersections 示例 1(Python 窗口)

以下脚本演示了如何在 Python 窗口中使用 GenerateIntersections 函数。

# Name: GenerateIntersections_ex1.py
# Description: Generates and updates intersections for intersection features registered with an LRS Network.
# Requires: ArcGIS Location Referencing

# Local variables
in_intersection_feature_class = "LRSI1"
in_network_layer = "NonLineNetwork"
start_date = "5/5/2020"
edited_by_current_user = "CURRENT_USER"
bypass_conflict_prevention = "NO_BYPASS_CONFLICT_PREVENTION"

# Execute the tool
arcpy.locref.GenerateIntersections(in_intersection_feature_class, in_network_layer, start_date, edited_by_current_user, bypass_conflict_prevention)
GenerateIntersections 示例 2(独立脚本)

以下脚本演示了如何在独立脚本中使用 GenerateIntersections 函数。

# Name: GenerateIntersections_ex2.py
# Description: Generates and updates intersections for intersection features registered with an LRS Network.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

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

# Set current workspace
arcpy.env.workspace = r"C:\Data\Demo.gdb"

# Local variables
in_intersection_feature_class = "LRSI1"
in_network_layer = "NonLineNetwork"
start_date = "5/5/2020"
edited_by_current_user = "CURRENT_USER"
bypass_conflict_prevention = "NO_BYPASS_CONFLICT_PREVENTION"

# Execute the tool
arcpy.locref.GenerateIntersections(in_intersection_feature_class, in_network_layer, start_date, edited_by_current_user, bypass_conflict_prevention)

# Check in license
arcpy.CheckInExtension("LocationReferencing")
GenerateIntersections 示例 3(独立脚本)

以下脚本演示了如何使用 GenerateIntersections 函数将交叉点添加到要素服务中。

# Name: GenerateIntersections_Pro_ex3_fs.py
# Description: Generates and updates intersections in an existing feature service.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

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

# Input LRS Network and intersection feature class are in a feature service. Signing in to the Enterprise portal is required to access the feature service.
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

# Local variables
in_intersection_feature_class = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/1"
in_network_layer = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/2"
start_date = "5/5/2020"
edited_by_current_user = "CURRENT_USER"
bypass_conflict_prevention = "NO_BYPASS_CONFLICT_PREVENTION"

# Execute the tool
arcpy.locref.GenerateIntersections(in_intersection_feature_class, in_network_layer, start_date, edited_by_current_user, bypass_conflict_prevention)

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

许可信息

  • 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)

相关主题