| 标注 | 说明 | 数据类型 |
输入路径要素 | 将用于创建要素计数数据产品的路径要素。 | Feature Layer |
生效日期 | 定义网络时态视图的日期。 默认值为当前日期。 | Date |
汇总字段 (可选) | 将用于展示输出中的汇总行名称的字段。
| Value Table |
要素计数图层 (可选) | 将用于沿路径定位要素数量的图层。
| Value Table |
排除空汇总行 (可选) | 指定是否排除空的汇总行。
| Boolean |
输出格式 (可选) | 指定输出的格式。
| String |
输出文件 (可选) | 将包含要素计数数据产品的输出 .csv 文件。 | File |
输出表 (可选) | 将包含要素计数数据产品的输出地理数据库表。 | Table |
适用于 Location Referencing 许可。
摘要
在没有 LRS 数据模板的情况下,创建 LRS 网络中路径的要素计数数据产品。
使用情况
此工具支持来自文件地理数据库、企业级地理数据库(分支版本化连接)或要素服务(根据分支版本化数据发布)的数据。
此工具不会修改输入,并将创建 .csv 文件或地理数据库表作为输出。
生效日期参数用于确定网络的时态视图。 仅使用在该日期处于活动状态的路径计算输出。
汇总图层必须是面要素类、注册至指定 LRS 网络的 LRS 线事件要素类或 LRS 网络。
对于未与汇总图层重叠的路径,其输出汇总字段中将包含值“未分类”。
可添加多个汇总字段。
输出将基于 LRS 网络中选择的要素、汇总图层以及要素计数图层的交集而创建。
要素计数图层必须是注册至指定 LRS 网络的 LRS 点事件要素类、LRS 线事件要素类或 LRS 交叉点要素类。
对于未与要素计数图层重叠的路径,其输出要素计数字段中将包含值“未分类”。
汇总和要素计数图层必须存储在相同的地理数据库或要素服务中,并且与指定的 LRS 网络具有相同的坐标系。
可通过创建选择图层并将每个选择图层指定为要素计数图层,而从同一个要素类添加多个要素计数图层。 例如,如果您具有 LRS 点事件要素类,则可创建两个选择图层 - A 类和 B 类 - 并将每个选择图层指定为要素计数图层。
参数
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 (可选) | 指定是否排除空的汇总行。
| Boolean |
output_format (可选) | 指定输出的格式。
| String |
out_file (可选) | 将包含要素计数数据产品的输出 .csv 文件。 | File |
out_table (可选) | 将包含要素计数数据产品的输出地理数据库表。 | Table |
代码示例
以下独立脚本演示了如何在独立脚本中使用 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")以下脚本演示了如何在 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 函数与要素服务中的数据配合使用。
# 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)