插图
使用方法
查找点聚类的输入为点图层。此工具从输入点图层中提取聚类,并标识所有周围噪点。
存在两个聚类方法参数选项。定义的距离 (DBSCAN) 使用 DBSCAN 算法,并基于指定搜索距离查找紧密邻近的点聚类。自调整 (HDBSCAN) 使用 HDBSCAN 算法,并基于聚类概率(或稳定性)查找点聚类,方法与 DBSCAN 类似,不同之处在于使用适用于具有可变密度的聚类的可变距离。如果选择了 DBSCAN,则只能在二维空间中找到聚类,或在空间和时间中都可以找到聚类。如果选择了使用时间查找聚类,同时输入图层启用了时间且类型为时刻,则 DBSCAN 将基于指定的搜索距离和搜索持续时间来查找紧密邻近的点的时空聚类。
根据以下聚类方法,每个聚类的最小要素数参数的使用方式也不同:
- 定义距离 (DBSCAN) - 可以指定在某点开始形成聚类的搜索距离内必须找到的要素数。结果可能包括要素数量少于此值的聚类。搜索距离可使用搜索距离参数进行设置。在使用时间查找聚类时,必须提供搜索持续时间。在搜索聚类成员时,必须在搜索距离和搜索持续时间中找到每个聚类的最小要素数,方可形成聚类。请注意,此距离和持续时间与所找到的点聚类的直径或时间范围无关。
- 自调整 (HDBSCAN) - 可指定与估算密度时考虑的每个点相邻的要素数(包括该点)。此数字也是提取聚类时所允许的最小聚类大小。
此工具可生成包含新整型字段 CLUSTER_ID 的输出要素类,该字段可标识各个要素所位于的聚类。默认渲染基于 COLOR_ID 字段。将为每个颜色分配多个聚类。将分配颜色并重复使用,以使每个聚类的外观不同于其邻近聚类。
如果定义距离 (DBSCAN) 聚类方法与时间一同用于查找时空聚类,则结果中还将包含以下字段:
- FEAT_TIME - 每个要素的原始时刻时间。
- START_DATETIME - 要素所属聚类的时间范围的开始时间。
- END_DATETIME - 要素所属聚类的时间范围的结束时间。
结果图层的时间属性将被设置为 START_DATETIME 和 END_DATETIME 字段上的间隔,以确保在使用时间滑块可视化时空聚类时将所有聚类成员绘制在一起。这些字段仅用于可视化。对于噪点要素,START_DATETIME 和 END_DATETIME 将等于 FEAT_TIME。
如果聚类方法为自调整 (HDBSCAN),输出要素类还将包含以下字段:
- PROB - 某个要素属于其所分配聚类的概率。
- OUTLIER - 某个要素在其自己的聚类中为异常值的可能性。值越大表示该要素越有可能是异常值。
- EXEMPLAR - 各个聚类中最具代表性的要素。这些要素以值 1 表示。
- STABILITY - 每个聚类在一定比例范围内的持久性。值越大表示聚类在越大范围的距离比例内持续存在。
您可以使用以下一个或多个提示来提升查找点聚类工具的性能:
- 设置范围环境,以便仅分析感兴趣的数据。
- 仔细选择搜索距离和持续时间。面对相同的数据,较窄的搜索距离或半径可能会获得更好的运行表现。
- 将本地数据用于分析运行的位置。
此地理处理工具由 Spark 作为支持。可在台式计算机上并行使用多个核来完成分析。要了解有关运行分析的详细信息,请参阅 GeoAnalytics Desktop 工具的注意事项。
运行 GeoAnalytics Desktop 工具时,将在台式计算机上完成分析。为获得最佳性能,应在桌面上提供数据。如果您使用的是托管要素图层,则建议使用 ArcGIS GeoAnalytics Server。如果您的数据不是本地数据,则运行工具需要更长时间。要使用 ArcGIS GeoAnalytics Server 执行分析,请参阅 GeoAnalytics 工具。
语法
arcpy.gapro.FindPointClusters(input_points, out_feature_class, clustering_method, minimum_points, search_distance, {use_time}, {search_duration})
参数 | 说明 | 数据类型 |
input_points | 包含点聚类的点要素类。 | Feature Layer |
out_feature_class | 包含所生成点聚类的新要素类。 | Feature Class |
clustering_method | 指定将用于定义聚类的方法。
| String |
minimum_points | 根据选择的聚类方法,此参数的使用方式也不同,如下所示:
| Long |
search_distance | 要考虑的最大距离。 必须在聚类成员的此距离内找到指定的每个聚类的最小要素数。将至少按此距离来分隔单个聚类。如果要素与聚类中下一最近要素的距离大于此距离,则不会将该要素包括在聚类中。 | Linear Unit |
use_time (可选) | 用于指定是否将使用时间通过 DBSCAN 查找聚类。
| Boolean |
search_duration (可选) | 在搜索聚类成员时,必须在此持续时间内找到指定的最小点数方可形成聚类。 | Time Unit |
代码示例
以下 Python 窗口脚本演示了如何使用 FindPointClusters 工具。
#-------------------------------------------------------------------------------
# Name: FindPointClusters.py
# Description: Finds Point Clusters of rodent infestations
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/CountyData.gdb"
# Set local variables
inputPoints = "rat_sightings"
minimumPoints = 10
outputName = "RodentClusters"
searchDistance = "1 Kilometers"
clusterMethod = "DBSCAN"
# Execute Find Point Clusters
arcpy.gapro.FindPointClusters(inputPoints, outputName, clusterMethod,
minimumPoints, searchDistance)
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是