描述
使用每个要素周围的局部邻域来计算一个或多个数值字段的汇总统计数据。局部统计数据包括均值(平均值)、中位数、标准差、四分位距、偏度和不平衡分位数,并且所有统计数据都可以使用核来进行地理加权,以对更靠近焦点要素的相邻要素产生更大影响。可以使用各种邻域类型,其中包括距离范围、相邻要素的数目、面邻接、Delaunay 三角测量和空间权重矩阵 (.swm) 文件。还会针对与每个要素的相邻要素的距离来计算汇总统计数据。
插图
使用方法
除了提供的任何分析字段之外,还会针对每个要素计算基于到相邻要素距离的统计数据。例如,可以计算到每个相邻要素距离的平均值和标准差,以查看相邻要素通常距离焦点要素较近或较远。到相邻要素距离的统计数据将不会在其计算中使用焦点要素,因为该距离始终为零。此外,将不会对这些统计数据进行地理加权,因为其对于基于上述相同距离的权重距离值没有意义。
如果针对邻域类型参数选择了Delaunay 三角测量选项,则输出要素类称为 Voronoi 地图。
如果输入要素是面,则面之间的所有距离均由面质心之间的距离定义。
由于不应该通过质心到质心的距离对基于面邻接或 Delaunay 三角测量的邻域进行加权,因此仅当邻域类型参数指定为相邻要素的数目或距离范围时,才能对局部统计数据进行地理加权。如果针对邻域类型参数指定了通过文件获取空间权重,则在空间权重文件中定义的权重将自动用于地理加权。
如果将“输出坐标系”环境设置为具有纬度和经度坐标的地理坐标系,则将使用弦距离来计算所有距离。否则,将使用直线(欧氏)距离来计算所有距离。
如果您选择使用忽略计算中的空值参数来忽略空值,则在搜索相邻要素后,将过滤掉分析字段中具有空值的相邻要素。这可能会导致相邻要素的数目少于预期,并且如果提供多个分析字段,则某些字段所使用的相邻要素的数目可能会与其他字段不同。当针对邻域类型参数指定相邻要素的数目选项时尤其如此。
语法
arcpy.stats.NeighborhoodSummaryStatistics(in_features, output_features, {analysis_fields}, {local_summary_statistic}, {include_focal_feature}, {ignore_nulls}, {neighborhood_type}, {distance_band}, {number_of_neighbors}, {weights_matrix_file}, {local_weighting_scheme}, {kernel_bandwidth})
参数 | 说明 | 数据类型 |
in_features | 将用于计算局部统计数据的点或面要素。 | Feature Layer |
output_features | 包含局部统计数据作为字段的输出要素类。各分析字段的每个统计数据将存储为一个单独的字段。 | Feature Class |
analysis_fields [analysis_fields,...] (可选) | 将为其计算局部统计数据的一个或多个字段。如果未提供任何分析字段,则将仅基于到相邻要素的距离计算局部统计数据。 | Field |
local_summary_statistic (可选) | 指定将为每个分析字段计算的局部汇总统计数据。
| String |
include_focal_feature (可选) | 指定在计算每个要素的局部统计数据时是否包含焦点要素。
| Boolean |
ignore_nulls (可选) | 指定在计算中包含还是忽略分析字段中的空值。
| Boolean |
neighborhood_type (可选) | 指定如何为每个输入要素选择相邻要素。要计算局部统计数据,必须为每个输入要素标识相邻要素,并且这些相邻要素将用于计算每个要素的局部统计数据。对于点要素,默认值为 Delaunay 三角测量。对于面要素,默认值为邻接边拐角。
| String |
distance_band (可选) | 此距离内的所有要素都将作为相邻要素包含在内。如果未提供任何值,则将在执行过程中估算一个值,并将其作为地理处理消息包含在内。如果指定距离导致相邻要素的数目超过 1,000,则将仅包含最近的 1,000 个要素作为相邻要素。 | Linear Unit |
number_of_neighbors (可选) | 针对每次局部计算将包含的相邻要素数目。该数值不包含焦点要素。如果计算中包含焦点要素,则将使用一个附加相邻要素。默认值为 8。 | Long |
weights_matrix_file (可选) | 空间权重矩阵文件的路径和文件名,该文件用于定义要素之间的空间关系以及潜在的时态关系。 | File |
local_weighting_scheme (可选) | 指定在计算局部统计数据时应用于相邻要素的加权方案。
| String |
kernel_bandwidth (可选) | 双平方或高斯局部加权方案的带宽。如果未提供任何值,则将在执行过程中估算一个值,并将其作为地理处理消息包含在内。 | Linear Unit |
代码示例
以下 Python 窗口脚本演示了如何使用 NeighborhoodSummaryStatistics 工具。
import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb"
arcpy.stats.NeighborhoodSummaryStatistics("USCounties",
"USCounties_NeighborhoodSummaryStatistics", "POP2018;POP2019",
"ALL", "INCLUDE_FOCAL", "IGNORE_NULLS", "NUMBER_OF_NEIGHBORS", None,
8, None, "UNWEIGHTED")
以下独立脚本演示了如何使用 NeighborhoodSummaryStatistics 工具。
# Calculate a focal mean for the population and income of US cities.
import arcpy
# Set the current workspace
arcpy.env.workspace = r"c:\data\project_data.gdb"
# Calculate the local mean of POP2020 and MedIncome2020 fields
# using 8 nearest neighbors.
arcpy.stats.NeighborhoodSummaryStatistics("USCities", "USCities_Mean",
"POP2020;MedIncome2020", "MEAN", "EXCLUDE_FOCAL", "IGNORE_NULLS",
"NUMBER_OF_NEIGHBORS", None, 8, None, "GAUSSIAN", "50 Miles")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是