中心要素 (空间统计)
插图
用法
-
与数据集中所有其他要素的距离累积最小的要素是位于最中心的要素;选择此要素并复制到一个新创建的输出要素类。
累积距离使用距离方法参数指定的 EUCLIDEAN_DISTANCE 或 MANHATTAN_DISTANCE 进行测量。
-
基于欧氏距离或者曼哈顿距离的计算需要对数据进行投影以准确测量距离。
-
对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部件组成的面,将会使用所有要素部件的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
-
案例分组字段用于为独立的中心要素计算进行要素分组。案例分组字段可以是整型、日期型或字符串类型。对于案例分组字段,具有空值的记录将从分析中排除。
-
自然电位是要素与其自身之间的距离或权重。通常情况下,此权重为零,但在某些情况下,您可能要为每个要素指定其他固定值或某一个不同的值(例如,可能基于面大小)。
在使用 shapefile 时,请注意 shapefile 无法存储空值。根据非 shapefile 输入创建 shapefile 的工具或其他过程可能会将空值存储(或解释)为零。某些情况下,空值则以极大的负值储存于 shapefile 中。这会产生意外的结果。有关详细信息,请参阅 shapefile 输出的地理处理注意事项。
语法
参数 | 说明 | 数据类型 |
Input_Feature_Class |
包含要从中识别最中心要素的要素分布的要素类。 | Feature Layer |
Output_Feature_Class |
将包含位于“输入要素类”最中心的要素的要素类。 | Feature Class |
Distance_Method |
指定计算每个要素与邻近要素之间的距离的方式。
| String |
Weight_Field (可选) |
用于衡量起始-目的地距离矩阵中的距离的数值字段。 | Field |
Self_Potential_Weight_Field (可选) |
此字段表示自然电位 - 要素与其自身之间的距离或权重。 | Field |
Case_Field (可选) |
用于为独立中心要素的计算而进行要素分组的字段。案例分组字段可以为整型、日期型或字符串型。 | Field |
代码实例
下面的 Python 窗口脚本演示了如何使用中心要素 (CentralFeature) 工具。
import arcpy
arcpy.env.workspace = r"C:\data"
arcpy.CentralFeature_stats("coffee_shops.shp", "coffee_CENTRALFEATURE.shp", "EUCLIDEAN_DISTANCE", "NUM_EMP", "#", "#")
下面的独立 Python 脚本演示了如何使用中心要素 (CentralFeature) 工具。
# Measure geographic distribution characteristics of coffee house locations weighted by the number of employees
# Import system modules
import arcpy
# Local variables...
workspace = "C:/data"
input_FC = "coffee_shops.shp"
CF_output = "coffee_CENTRALFEATURE.shp"
MEAN_output = "coffee_MEANCENTER.shp"
MED_output = "coffee_MEDIANCENTER.shp"
weight_field = "NUM_EMP"
try:
# Set the workspace to avoid having to type out full path names
arcpy.env.workspace = workspace
# Process: Central Feature...
arcpy.CentralFeature_stats(input_FC, CF_output, "EUCLIDEAN_DISTANCE", weight_field, "#", "#")
# Process: Mean Center...
arcpy.MeanCenter_stats(input_FC, MEAN_output, weight_field, "#", "#")
# Process: Median Center...
arcpy.MedianCenter_stats(input_FC, MED_output, weight_field, "#", "#")
except:
# If an error occurred when running the tool, print out the error message.
print arcpy.GetMessages()