生成线性参考要素计数 (位置参考)

适用于 Location Referencing 许可。

摘要

在没有 LRS 数据模板的情况下,创建 LRS 网络中路径的要素计数数据产品。

使用情况

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

  • 此工具不会修改输入,并将创建 .csv 文件或地理数据库表作为输出。

  • 生效日期参数用于确定网络的时态视图。 仅使用在该日期处于活动状态的路径计算输出。

  • 汇总图层必须是面要素类、注册至指定 LRS 网络的 LRS 线事件要素类或 LRS 网络。

  • 对于未与汇总图层重叠的路径,其输出汇总字段中将包含值“未分类”。

  • 可添加多个汇总字段。

  • 输出将基于 LRS 网络中选择的要素、汇总图层以及要素计数图层的交集而创建。

  • 要素计数图层必须是注册至指定 LRS 网络的 LRS 点事件要素类、LRS 线事件要素类或 LRS 交叉点要素类。

  • 对于未与要素计数图层重叠的路径,其输出要素计数字段中将包含值“未分类”。

  • 汇总和要素计数图层必须存储在相同的地理数据库或要素服务中,并且与指定的 LRS 网络具有相同的坐标系。

  • 可通过创建选择图层并将每个选择图层指定为要素计数图层,而从同一个要素类添加多个要素计数图层。 例如,如果您具有 LRS 点事件要素类,则可创建两个选择图层 - A 类和 B 类 - 并将每个选择图层指定为要素计数图层。

参数

标注说明数据类型
输入路径要素

将用于创建要素计数数据产品的路径要素。

Feature Layer
生效日期

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

默认值为当前日期。

Date
汇总字段
(可选)

将用于展示输出中的汇总行名称的字段。

  • 图层 - 要素图层用作汇总图层。
  • 字段 - 将用于汇总要素计数的字段。
  • 输出字段名称 - 输出中汇总字段的显示名称。

Value Table
要素计数图层
(可选)

将用于沿路径定位要素数量的图层。

  • 图层 - 将用作要素计数图层的要素图层。
  • 输出字段名称 - 输出中要素计数图层的显示名称。

Value Table
排除空汇总行
(可选)

指定是否排除空的汇总行。

  • 选中 - 将从输出中排除要素计数仅为零的行(零汇总行)。 这是默认设置。
  • 未选中 - 不会从输出中排除要素计数仅为零的行(零汇总行)。
Boolean
输出格式
(可选)

指定输出的格式。

  • CSV输出将为 .csv 文件。 这是默认设置。
  • 输出将为地理数据库表。
String
输出文件
(可选)

将包含要素计数数据产品的输出 .csv 文件。

File
输出表
(可选)

将包含要素计数数据产品的输出地理数据库表。

Table

arcpy.locref.GenerateLRFeatureCount(in_route_features, effective_date, {summary_fields}, {feature_count_layers}, {exclude_null_summary_rows}, {output_format}, {out_file}, {out_table})
名称说明数据类型
in_route_features

将用于创建要素计数数据产品的路径要素。

Feature Layer
effective_date

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

默认值为当前日期。

Date
summary_fields
[summary_fields,...]
(可选)

将用于展示输出中的汇总行名称的字段。

  • 图层 - 要素图层用作汇总图层。
  • 字段 - 将用于汇总要素计数的字段。
  • 输出字段名称 - 输出中汇总字段的显示名称。

Value Table
feature_count_layers
[feature_count_layers,...]
(可选)

将用于沿路径定位要素数量的图层。

  • 图层 - 将用作要素计数图层的要素图层。
  • 输出字段名称 - 输出中要素计数图层的显示名称。

Value Table
exclude_null_summary_rows
(可选)

指定是否排除空的汇总行。

  • EXCLUDE将从输出中排除要素计数仅为零的行(零汇总行)。 这是默认设置。
  • DO_NOT_EXCLUDE不会从输出中排除要素计数仅为零的行(零汇总行)。
Boolean
output_format
(可选)

指定输出的格式。

  • CSV输出将为 .csv 文件。 这是默认设置。
  • TABLE输出将为地理数据库表。
String
out_file
(可选)

将包含要素计数数据产品的输出 .csv 文件。

File
out_table
(可选)

将包含要素计数数据产品的输出地理数据库表。

Table

代码示例

GenerateLRFeatureCount 示例 1(独立脚本)

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

# Name: GenerateLRFeatureCount_ex1.py 
# Description: Create a feature count data product that provides the number of active anomalies, pipeline crossings, and DOT Class line events per route
# Requirements: ArcGIS Location Referencing  
 
# Import arcpy module 
import arcpy 
 
# Check out any necessary licenses 
arcpy.CheckOutExtension("LocationReferencing")

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

# Using the Anomaly point event feature class, create a feature layer that contains active anomalies, to be used as a feature count layer
arcpy.management.MakeFeatureLayer("Anomaly", "Anomaly_Active", "anomalystatus = 'Active'")

# Using the DOT Class line event feature class, create 3 feature layers, each representing a class type, to be used as feature count layers
arcpy.management.MakeFeatureLayer("DOTClass", "Class_A", "classtype = 1") 
arcpy.management.MakeFeatureLayer("DOTClass", "Class_B", "classtype = 2")   
arcpy.management.MakeFeatureLayer("DOTClass", "Class_C", "classtype = 3")

# Set tool variables 
in_route_features = "EngineeringNetwork" 
effective_date = "12/31/2024" 
summary_fields = "Counties NAME Counties"
feature_count_layers = "Anomaly_Active 'Anomaly'; PipeCrossing 'Pipe Crossings'; Class_A 'Class A'; Class_B 'Class B'; Class_C 'Class C'"
exclude_null_summary_rows = "EXCLUDE"
output_format = "TABLE" 
out_file = None
out_table = r"C:\Data\SampleData.gdb\FC1" 

# Run the tool 
arcpy.locref.GenerateLRFeatureCount(in_route_features, effective_date, summary_fields, feature_count_layers, exclude_null_summary_rows, output_format, out_file, out_table) 

# Check in licenses 
arcpy.CheckInExtension("LocationReferencing")
GenerateLRFeatureCount 示例 2(Python 窗口)

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

# Name: GenerateLRFeatureCount_ex2.py 
# Description: Create a feature count data product that provides the number of bridges and intersections per route
# Requirements: ArcGIS Location Referencing  

# Set tool variables 
in_route_features = "CountyLog" 
effective_date = "12/31/2024" 
summary_fields = "Counties NAME Counties"
feature_count_layers = "Bridge_Point 'Bridges'; Intersections 'Intersections'"
exclude_null_summary_rows = "EXCLUDE"
output_format = "TABLE" 
out_file = None 
out_table = r"C:\Data\SampleData.gdb\FC2"
 
# Run the tool 
arcpy.locref.GenerateLRFeatureCount(in_route_features, effective_date, summary_fields, feature_count_layers,
                                    exclude_null_summary_rows, output_format, out_file, out_table)
GenerateLRFeatureCount 示例 3(独立脚本)

以下独立脚本演示了如何将 GenerateLRFeatureCount 函数与要素服务中的数据配合使用。

# Name: GenerateLRFeatureCount_ex3.py 
# Description: Create a feature count data product that provides the number of active anomalies, pipeline casing material types, and crossing utility intersections per route
# Requirements: ArcGIS Location Referencing  
 
# Import arcpy module 
import arcpy 
 
# Check out the license 
arcpy.CheckOutExtension("LocationReferencing") 
 
# Data is 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')
 
# Map the LRS Network from the feature service. Here, 49 corresponds to the LRS Network's layer ID
in_route_features = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/49"

# Create a feature layer from the Cities layer of the feature service to be used as the summary layer. Here, 21 corresponds to the Cities layer's layer ID
arcpy.management.MakeFeatureLayer(r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/21", "Cities")

# Create the feature layers from the feature service. The feature layers will be used as feature count layers
arcpy.management.MakeFeatureLayer(r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/18", "Anomaly_Active", "anomalystatus = 'Active'")
arcpy.management.MakeFeatureLayer(r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/54", "Casing_CastIron", "MATERIAL = 2")
arcpy.management.MakeFeatureLayer(r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/54", "Casing_Copper", "MATERIAL = 4")
arcpy.management.MakeFeatureLayer(r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/54", "Casing_Composite", "MATERIAL = 10")
arcpy.management.MakeFeatureLayer(r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/61", "Crossing_Utility_Intersection")

# Set tool variables 
effective_date = "12/31/2024" 
summary_fields = "Cities NAME Cities"
feature_count_layers = "Anomaly_Active 'Anomalies'; Casing_CastIron 'Cast Iron Casing'; Casing_Copper 'Copper Casing'; Casing_Composite 'Composite Casing'; Crossing_Utility_Intersection 'Crossing Utility Intersections'"
exclude_null_summary_rows = "EXCLUDE"
output_format = "CSV" 
out_file = r"C:\Data\FC3.csv"
out_table = None

# Run the tool 
arcpy.locref.GenerateLRFeatureCount(in_route_features, effective_date, summary_fields, feature_count_layers,
                                    exclude_null_summary_rows, output_format, out_file, out_table)
 
# Check in the 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)

相关主题