描述
将一个面图层与另一个图层叠加,以便汇总各面内点的数量、线的长度或面的面积,并计算面内此类要素的属性字段统计数据。
以下为使用范围内汇总的示例场景:
- 按土地使用类型给定分水岭边界和土地使用边界,计算每个分水岭的土地使用类型的总面积。
- 给定县内宗地和城市边界,汇总各城市边界内闲置宗地的平均值。
- 给定各县和道路,汇总各县内各种道路类型的道路总里程。
插图
使用方法
简而言之,范围内汇总将使用两个图层,输入面和输入汇总要素,并将其堆叠在彼此上方。堆叠这些图层后,您可查看叠加并计算落在输入面内的输入汇总要素的数量。您还可以计算关于输入汇总要素(总和、平均值、最小值、最大值等)属性的简单统计数据。
使用范围内汇总计算标准统计数据以及地理加权统计数据。标准统计数据用于汇总统计值,而无需加权。加权统计数据可使用面内线的比例或面内面的比例的地理加权值来计算值。加权统计数据不适用于面内的点。
您可以使用下表中的选项来计算每个面内汇总图层的长度和面积。可以根据汇总图层的几何进行选择。
输入要素 描述 选项 点
每个面内的汇总点计数。
无
线
每个面内的汇总线长度。
- 英里
- 码
- 英尺
- 千米
- 米
面
每个面内的汇总面面积。
- 平方英里
- 平方码
- 平方英尺
- 平方千米
- 平方米
- 公顷
- 英亩
您可以选择性地计算标准统计数据。对于线和面,要计算所有的加权统计数据。将标准汇总字段统计数据和加权汇总字段统计数据同时应用到汇总图层与汇总面图层相交的要素数据中。加权汇总字段统计数据乘以基于汇总面与汇总图层各要素相交比例的权重。
对于标准统计数据,有八个选项:计数、总和、平均值、最小值、最大值、范围、标准差和方差。字符串统计数据有两个选项:计数和任意。有六个可根据待汇总图层中数值字段进行计算的加权统计数据:计数、总和、平均值、最小值、最大值和范围。
加权统计数据不用于字符串数据的计算。每次指定字段和统计数据时,工具窗格都将添加一行以便可以计算多个统计数据。您可以在结果图层的表或弹出窗口中查看汇总结果。默认情况下,始终计算与汇总面相交的要素计数。
在 ArcGIS Enterprise10.6.1 及更高版本中,您可以使用按字段分组参数对组进行计算。除了汇总的面图层以外,此参数还将创建一个表格输出。
选择按字段分组值时,可以使用添加少数和众数属性和添加组百分比参数。少数和多数分别是按字段分组中所占比例最小和最大的值,其中所占比例将通过每个值的点数、总长度或总面积来确定。
选中添加少数和众数属性参数时,将有两个字段添加到结果图层。这些字段将列出按字段分组参数中各结果要素的少数值和多数值。
仅当选择添加少数和众数属性时,才能使用添加组百分比参数。当选中添加组百分比参数时,结果图层中将添加两个字段,列出属于各要素少数值和多数值的点数、总长度或总面积的百分比。百分比字段也将添加到结果表中,列出点数、总长度或总面积(属于按字段分组参数中各要素的所有值)的百分比。
对于加权统计数据,线图层仅使用汇总面内线要素的比例进行汇总。标准(非加权)统计数据将汇总一切与汇总面相交的线。当使用加权统计数据汇总线时,请使用计数和数量(而非比率或指数),这样分析中的比例计算才能符合逻辑。
汇总面图层的加权统计数据基于汇总图层内的汇总面要素。当汇总面时,使用计数或数量(而非比率或指数),这样分析中的比例计算才能符合逻辑。
输出要素图层始终是面图层。将仅返回与汇总图层相交的面。其他面将从结果图层中完全移除。
以下是输出面要素中的字段:
字段名称 描述 count 与每个面图层相交的汇总要素的计数。
sum_length_<linearunit> 或 sum_area_<areaunit>
面内线的总长度或每个面内汇总面的总面积。选择添加形状汇总属性时将以指定单位返回这些值。
statistic_<fieldname>
指定的统计信息将各自创建一个属性字段,并按照以下格式命名:<statistic>_<fieldname>。例如,id 字段的最大值和标准差为 MAX_id 和 SD_id。
pstatistic_<fieldname>
指定的加权统计信息将各自创建一个属性字段,并按照以下格式命名:p<statistic>_<fieldname>。例如,字段 id 的加权最大值为:pMAX_id。
minority_<fieldname>
当您创建分组依据表并选择添加少数和众数属性时,将返回此值。此值表示每个面中作为少数的指定字段值。例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。如果您按照 color 字段来创建组,则 minority_color 字段的值为 red。
majority_<fieldname>
当您创建分组依据表并选择添加少数和众数属性时,将返回此值。此值表示每个面中作为众数的指定字段值。例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。如果您按照 color 字段来创建组,则 minority_color 字段的值为 blue;green。
minority_<fieldname>_percent
当您创建分组依据表并选择添加组百分比时,将返回此值。此值表示每个面中作为少数的指定字段的计数百分比。例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。如果您按照 color 字段来创建组,则 minority_color_percent 字段的值为 20(计算为 1/5)。
majority_<fieldname>_percent
当您创建分组依据表并选择添加组百分比时,将返回此值。此值表示每个面中作为众数的指定字段的计数百分比。例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。如果您按照 color 字段来创建组,则 majority_color_percent 字段的值为 40(计算为 2/5)。
join_id
创建分组依据表时,将返回此值。这是将要素链接到分组依据表中的 ID。每个 join_id 字段对应分组依据表中的一行或多行。
输出分组依据表中包括以下字段:
字段名称 描述 join_id
这是将要素链接到面图层的 ID。每个面将有一个或多个具有相同 ID 的要素,表示所有分组依据值。例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。分组依据表将有三行表示面(连接 ID 相同),每行分别表示红色、蓝色和绿色其中一种颜色。
count
已连接面内指定组的计数。例如,对于选定面,红色为 1。
<statistic>_<fieldname>
为每个组计算的任何指定统计数据。
p<statistic>_<fieldname>
为每个组计算的任何指定加权统计数据。
percentcount
每组占面中总计数的百分比。按上例所述,红色占 1/5 = 20,蓝色占 2/5 = 40,绿色占 2/5 = 20。
您可以使用以下一个或多个提示来提升范围内汇总工具的性能:
- 设置范围环境,以便仅分析感兴趣的数据。
- 如果您使用立方图格,则较大的立方图格比较小的图格性能更佳。如果不确定使用哪种大小,可从较大的立方图格开始原型化。
- 将本地数据用于分析运行的位置。
此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。分析将在 GeoAnalytics Server 上完成,且结果将存储在 ArcGIS Enterprise 的内容中。
当 GeoAnalytics Server 工具运行时,GeoAnalytics Server 上的分析已完成。要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS Pro 到 GeoAnalytics Server 移动数据可能会失败。失败的阈值取决于网络速度,以及数据的大小和复杂性。因此,建议您始终共享数据或创建大数据文件共享。
类似的分析也可使用 ArcGIS Pro“标准要素分析”工具箱中的范围内汇总工具来完成。
语法
arcpy.geoanalytics.SummarizeWithin(summarized_layer, output_name, polygon_or_bin, bin_type, {bin_size}, {summary_polygons}, sum_shape, {shape_units}, {standard_summary_fields}, {weighted_summary_fields}, {data_store}, {group_by_field}, {add_minority_majority}, {add_percentages})
参数 | 说明 | 数据类型 |
summarized_layer | 将按面或图格进行汇总的点、线或面要素。 | Feature Set |
output_name | 包含相交几何和属性的输出面要素服务的名称。 | String |
polygon_or_bin | 用于指定是否按面或图格对 summarized_layer 进行汇总。
| String |
bin_type | 指定将生成以汇总要素的图格形状。
| String |
bin_size (可选) | 表示图格大小和汇总输入要素时所采用单位的距离间隔。 | Linear Unit |
summary_polygons (可选) | 用于汇总输入汇总图层内要素的面。 | Feature Set |
sum_shape | 指定是要计算汇总图层(面或图格)内线的长度还是面的面积。将始终包括与汇总形状相交的点、线和面的计数。
| Boolean |
shape_units (可选) | 指定要用于计算形状汇总属性的单位。如果输入 summarized_layer 为点,则不需要使用形状单位,因为仅添加各输入面内点的计数。如果输入汇总要素为线,则指定一个线性单位。如果输入汇总要素为面,则指定一个面积单位。
| String |
standard_summary_fields [standard_summary_fields,...] (可选) | 将根据指定字段进行计算的统计数据。
| Value Table |
weighted_summary_fields [weighted_summary_fields,...] (可选) | 指定将根据指定字段进行计算的加权统计数据。
| Value Table |
data_store (可选) | 指定将用于保存输出的 ArcGIS Data Store。默认为 SPATIOTEMPORAL_DATA_STORE。在时空大数据存储中存储的所有结果都将存储在 WGS84 中。在关系数据存储中存储的结果都将保持各自的坐标系。
| String |
group_by_field (可选) | 输入汇总要素中的字段,将用于计算每个唯一属性值的统计数据。例如,输入汇总要素包含存储危险材料的企业的点位置,且其中一个字段为 HazardClass,字段中含有用于描述所存储危险材料类型的代码。要根据每个 HazardClass 唯一值计算汇总,请将其用作分组条件字段。 | Field |
add_minority_majority (可选) | 用于指定是否添加各个边界内每个组字段的少数(所占比例最小)或众数(所占比例最大)属性值。如果添加,则前缀为众数_和少数_的两个新字段将添加至输出图层。此参数仅当使用 group_by_field 参数时适用。
| Boolean |
add_percentages (可选) | 用于指定是否将添加百分比字段。如果添加,则系统将针对每个输入面计算每个唯一组百分比值。此参数仅当使用 group_by_field 和 add_minority_majority 参数时适用。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
output | 每个面内的点的总数、线的长度或面的面积。 | 要素集 |
group_by_summary | 一旦提供了按汇总分组,则此工具将针对每个唯一组输出含有计算统计数据的表格。 | 记录集 |
代码示例
以下 Python 窗口脚本演示了如何使用 SummarizeWithin 工具。
# Name: SummarizeWithin.py
# Description: Summarize river polylines by counties.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
summarizedLayer = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Water/BigDataCatalogServer/Rivers"
summaryPolys = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Boundaries/BigDataCatalogServer/Counties"
summaryStatistics = ["Width", "MEAN"]
weighedSummaryStatistics = ["DOC", "SUM"]
outFS = 'SummarizedRivers'
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute SummarizeWithin
arcpy.geoanalytics.SummarizeWithin(summarizedLayer, outFS, "POLYGON", None,
None, summaryPolys,"ADD_SUMMARY",
"KILOMETERS", summaryStatistics,
weightedSummaryStatistics, dataStore)
环境
- 输出坐标系
将用于分析的坐标系。除非由该参数进行指定,否则将基于输入坐标系完成分析。对于 GeoAnalytics 工具,最终结果将存储于 WGS84 中的时空数据存储之内。
许可信息
- Basic: 需要 ArcGIS GeoAnalytics Server
- Standard: 需要 ArcGIS GeoAnalytics Server
- Advanced: 需要 ArcGIS GeoAnalytics Server