插图
使用方法
标准差椭圆工具可创建一个新的包含椭圆面或 3D 椭圆多面体的输出椭圆要素类,其中每个案例(如果使用案例分组字段参数)都对应一个椭圆面或 3D 椭圆多面体。这些椭圆面的属性值会包括平均中心的 x 和 y 坐标、两个标准距离(长轴和短轴)及椭圆的方向。当使用已启用 z 坐标的点数据时,属性值也会包含平均中心的 z 坐标、第三个标准距离(高度)以及椭圆体的方位测量值。如果输入要素是 2D 的,那么字段名分别是 CenterX、CenterY、XStdDist、YStdDist 和 Rotation。如果输入要素是 3D 点,则会将以下几个附加字段添加到输出椭圆要素类:CenterZ、ZStdDist、AngleZ、TiltX、RollY 和 Volume。如果提供了案例分组字段,那么也会将此字段添加到输出要素类。
此工具支持点要素的 3D 特性,在提供 z 值的情况下,将在其计算中使用 x、y 和 z 值。因为这些结果本质上是 3D 要素,因此需要在场景中进行可视化。要正确可视化分析结果,请确保在场景中运行分析或将结果图层复制到场景中。
计算需要使用投影数据来准确测量距离。
如果要素的基础空间模式是朝中心集中而朝向外围的要素较少(遵循瑞利分布),则一个标准差椭圆面会包含聚类中约 63% 的要素,两个标准差椭圆面会包含聚类中约 98% 的要素,三个标准差椭圆面则可包含二维中约 99% 的要素。在三维空间中,对应的结果将分别是 61%、99% 和 100%。
如果您的数据启用了 z,那么输出字段 AngleZ、TiltX 和 RollY 的值为欧拉角度,用于指示椭圆体在 3D 空间中的方位。如果你的数据没有启用 Z,那么输出字段 Rotation 中的值表示长轴从顶点开始按顺时针测量的旋转角度。
如果您的数据启用了 z,则可使用添加几何属性工具来查看您数据的 x、y 和 z 坐标。
案例分组字段参数用于在分析前对要素进行分组。当指定了案例分组字段时,会首先根据案例分组字段值对输入要素进行分组。然后计算每个组的标准差椭圆或椭圆体。案例分组字段可以为整型、日期型或字符串型。对于案例分组字段,具有空值的记录将从分析中排除。
可以根据可选的权重字段参数计算标准差椭圆或椭圆体(例如,获取按严重程度衡量的交通事故的椭圆)。权重字段应为数值型字段。
-
对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
警告:
在使用 shapefile 时,请注意 shapefile 无法存储空值。根据非 shapefile 输入创建 shapefile 的工具或其他过程可能会将空值存储(或解释)为零。某些情况下,空值则以极大的负值储存于 shapefile 中。这会产生意外的结果。有关详细信息,请参阅 shapefile 输出的地理处理注意事项。
语法
arcpy.stats.DirectionalDistribution(Input_Feature_Class, Output_Ellipse_Feature_Class, Ellipse_Size, {Weight_Field}, {Case_Field})
参数 | 说明 | 数据类型 |
Input_Feature_Class | 要计算标准差椭圆或椭圆体的要素分布所在的要素类。 | Feature Layer |
Output_Ellipse_Feature_Class | 包含输出椭圆要素的面要素类。 | Feature Class |
Ellipse_Size | 标准差中输出椭圆的大小。默认椭圆大小为 1;可供选择的选项为 1、2 或 3 标准差。
| String |
Weight_Field (可选) | 根据各位置的相对重要性对它们进行加权的数值型字段。 | Field |
Case_Field (可选) | 对要素进行分组以分别计算方向分布的字段。案例分组字段可以为整型、日期型或字符串型。 | Field |
代码示例
下面的 Python 窗口脚本演示了如何使用 DirectionalDistribution 工具。
import arcpy
arcpy.env.workspace = r"C:\data"
arcpy.DirectionalDistribution_stats("AutoTheft.shp", "auto_theft_SE.shp", "1_STANDARD_DEVIATION")
以下独立 Python 脚本演示了如何使用 DirectionalDistribution 工具。
# Measure the geographic distribution of auto thefts
# Import system modules
import arcpy
# Local variables...
workspace = "C:/data"
locations = "AutoTheft.shp"
links = "AutoTheft_links.shp"
standardDistance = "auto_theft_SD.shp"
stardardEllipse = "auto_theft_SE.shp"
linearDirectMean = "auto_theft_LDM.shp"
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = workspace
# Process: Standard Distance of auto theft locations...
arcpy.StandardDistance_stats(locations, standardDistance, "1_STANDARD_DEVIATION", "#", "#")
# Process: Directional Distribution (Standard Deviational Ellipse) of auto theft locations...
arcpy.DirectionalDistribution_stats(locations, standardEllipse, "1_STANDARD_DEVIATION", "#", "#")
# Process: Linear Directional Mean of auto thefts...
arcpy.DirectionalMean_stats(links, linearDirectMean, "DIRECTION", "#")
环境
- 输出坐标系
在进行分析之前将要素几何投影到输出坐标系。所有数学计算都基于输出坐标系空间参考。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是