描述
识别使数据集中要素之间的总欧氏距离达到最小的位置点。
插图
使用方法
当平均中心工具返回一个位于所有要素质心的平均 X 坐标和平均 Y 坐标处的点时,中位数中心会使用迭代算法查找可使数据集中所有要素间的欧氏距离达到最小的点。
平均中心和中位数中心均是中心趋势度量。但是,相比而言, 中位数中心工具的算法受数据异常值的影响较小。
此工具需要使用投影数据来准确测量距离。
-
对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
案例分组字段用于将要素进行分组以分别计算中位数的中心。当指定了案例分组字段时,会首先根据案例分组字段值对输入要素进行分组,然后计算每个组的中位数中心。案例分组字段可以为整型、日期型或字符串型,并以属性形式显示在输出要素类中。对于案例分组字段,具有空值的记录将从分析中排除。
中位数中心要素的 x 值和 y 值是输出要素类中的属性。这些值存储在 XCOORD 和 YCOORD 字段中。
将对属性字段参数中指定的所有字段计算数据中位数。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
语法
arcpy.stats.MedianCenter(Input_Feature_Class, Output_Feature_Class, {Weight_Field}, {Case_Field}, Attribute_Field)
参数 | 说明 | 数据类型 |
Input_Feature_Class | 将计算其中位数中心的要素类。 | Feature Layer |
Output_Feature_Class | 将包含用于表示输入要素类的中位数中心的要素的点要素类。 | Feature Class |
Weight_Field (可选) | 用于创建加权中位数中心的数值字段。 | Field |
Case_Field (可选) | 用于对要素进行分组以独立计算中位数中心的字段。案例分组字段可以为整型、日期型或字符串型。 | Field |
Attribute_Field [Attribute_Field,...] | 将对其计算数据中值的数值字段。 | Field |
代码示例
MedianCenter 示例(Python 窗口)
以下 Python 窗口脚本演示了如何使用 MedianCenter 工具。
import arcpy
arcpy.env.workspace = r"C:\data"
arcpy.MedianCenter_stats("coffee_shops.shp", "coffee_MEDIANCENTER.shp", "NUM_EMP", "#", "#")
MedianCenter 示例(独立 Python 脚本)
以下独立 Python 脚本演示了如何使用 MedianCenter 工具。
# 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())
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是