使用ArcGIS Desktop查找X距离内的N个点的聚类?


12

我们尝试了两种聚类分析方法:

...但都不符合我们具有以下3个参数的规范:

  • 一组点特征
  • 群集中的N个点
  • 要看的X距离带

例如“为我找到每个簇在50米内有10个点的点”或类似的东西。

ArcGIS 10具有我上面链接的两个工具,但似乎都不能解决群集零件中的N个点。

ArcGIS中的其他工具可以满足我们的要求吗?我所说的聚类分析称为一种特定的聚类类型吗?

我们在另一个应用程序中确实有此版本,但是我真的很想在ArcGIS中使用这些工具。


“在我不知情的情况下向客户承诺” ...我感到您的痛苦。arcobjects解决方案可以接受吗?
Kirk Kuykendall

是否无法创建集群,然后处理不符合您条件的集群?也就是说(由于缺乏分析经验,我问),如果在分析之前为聚类提供了第三个标准,它们会改变吗?
纳撒努斯2011年

@柯克·库肯达尔(Kirk Kuykendall)。ArcObjects可能无法实现,因为它需要通过arcgis 10服务器作为地理处理服务公开。
哈斯

集群是否需要基于圆形,还是可以是矩形?从坐标创建哈希值使得在同一50x50框中的所有点的哈希码都相同是很容易的。
Kirk Kuykendall

@柯克-我想一定是一个圈子。
哈斯(Hath)

Answers:


10

尝试使用“缓冲”工具将点缓冲到公差,分解以为每个聚类创建单个多边形,然后使用联接对聚类中的点数进行计数。

然后使用群集面积与点数之间的比率来应用参数。


+1这种方法应该可行,但是我看不出解决方案的领域。
ub

面积/计数可以衡量群集内的密度。这将有助于消除不应视为簇的点的线性链。
马修·斯内普

2
可以,但是问题陈述不需要这样做。它仅要求“ 50米内的10点”,例如 如果将点缓冲50/2 = 25米,则任何重叠10个或更多的地方都将成为此类聚类的中心。做完了!
Whuber

当您指的是“连接”时,您特别指的是空间连接。
哈斯(Hath)

2

使用ArcObjects可以轻松完成此任务。

创建地图拓扑并向其添加点要素类。根据群集距离(50)设置群集容差,然后构建缓存

通过每个环路节点maptopology.cache.nodes。如果ITopologyNode.Parents.Count> 10,则执行您需要做的所有事情。

我对自定义图层执行了类似的操作,该自定义图层使用符号绘制每个群集点,该符号的颜色基于群集中点特征的数量。性能是可以接受的,因为功能存储在内存中-重建缓存是昂贵的部分。

类似于此处发布的代码。


在python中有可能吗?
哈斯(Hath)

我没想 不太熟悉arcobjects sdk,也不能完全确定使用它的许可证要求。
哈斯(Hath)

2

尝试转到第一个点,然后创建一个递归函数,该函数检查距离内的点,并对它执行相同的操作,查找距离内的点,并对该距离执行相同的操作,依此类推。

我刚刚解决了一个类似的问题,因为我必须找到一组符合特定条款的要点。我建立了一个递归函数来查找在8个像元(N,NW,W,SW,S,SE,E,NE)中是否存在连接的点,并为该点调用了相同的函数。如果返回的列表包含x点,则将其周围的多边形聚合在一起。


1

由于我仅使用OpenSource软件,因此我在ArcGIS上没有任何使用信息。但是我认为使用Openlayers可以实现这一目标。有一个集群策略示例,您可以在这里找到:http : //openlayers.org/dev/examples/strategy-cluster.html


-1 OP要求使用arcgis方法。给出OpenLayers的方式并没有真正的帮助。
内森·W

2
但是openlayers方法无法帮助他找出在arcgis中实现它的方法。
1amtoo1337 2011年

1
我同意这一意见,并且喜欢您的方法:通常我们不得不在舒适区之外寻找想法和灵感。但是,如果您可以解释此示例如何与此处提出的特定问题联系起来,那么我的答复将更有用。尽管该问题和示例均使用“集群”一词,但尚不清楚它们是否以相同的含义使用或解决了足够相似的问题。
ub

我一直在寻找一个开源的方式来实现这一目标,尽管这篇文章想要arcgis,但我经常发现,其他GIS系统中的解决方案可以通过以某种方式使用工具来帮助您在所选软件中找到解决方案。这并不常见。
GeorgeC
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.