Arcpy 实现 DBSCAN

步骤:

  1. 使用Arcpy中的DBSCAN工具对点数据进行聚类。
  2. 输出聚类结果(聚类数与噪声点数)

👇下面是一个简单的代码示例:

import arcpy

# 设置工作空间
workspace = r'C:\\XXX.gdb'
arcpy.env.workspace = workspace

# 使用dbscan进行批量距离聚类并输出结果(聚类数与噪声点数)
for i in range(10, 301, 10): #此处以搜索距离为变量,从 10m 开始,每次增加 10m 至 300m
    print(f"距离 {i}")
    arcpy.stats.DensityBasedClustering("In_Features", f"Out_Features_{i}", "DBSCAN", 5, f"{i} Meters") #输出名称后缀增加距离以避免覆写,此处默认最小要素数为5

		text = arcpy.GetMessages() # 输出地理处理结果信息

    cluster_number = re.search("聚类数 (\\d+)", text)
    if cluster_number:
        print(f'聚类数 {cluster_number.group(1)}')
    noise_element = re.search("噪点要素 (\\d+)", text)
    if noise_element:
        print(f'噪点要素 {noise_element.group(1)}')

👇参考官方文档:
GetMessages—ArcGIS Pro | 文档
基于密度的聚类 (空间统计)—ArcGIS Pro | 文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值