GeoDjango:是否有一种开箱即用的方式来生成积分点?

时间:2010-05-27 01:14:21

标签: python cluster-analysis geodjango points

我正在尝试使用GeoDjango在Python中的一组点上计算集群。

问题: 给定一组点,输出这些点的一组簇。 (我可以提前指定簇数/簇大小/距离以简化)

网络上有一些solutions可以进行群集,因此这是一个众所周知的问题。 我认为GeoDjango可以直接处理这些类型的问题,但目前尚不清楚 - 我是如何搜索GeoDjango文档,谷歌和其他一些地方,但找不到任何东西。

在我推出自己的群集解决方案之前,我想我会问是否有一种直接的方法可以使用GEOS或GeoDjango中的其他软件包来完成此操作。

3 个答案:

答案 0 :(得分:3)

GeoDjango没有任何内置的群集支持;此操作通常不会由您将与GeoDjango一起使用的任何现有开源GIS应用程序提供。

运行Django / GeoDjango的几个站点(如everyblock.com)已经发布了他们的聚类方法,但是这种支持并没有内置到GeoDjango中。

通常,这些应用程序提供的功能基于底层数据库支持。 GEOS,PostGIS下面的库,以及一般的“最先进的”(至少在非Java世界中),没有任何类型的集群API或行为。

答案 1 :(得分:0)

正如克里斯托弗施密特所提到的,GeoDjango似乎没有任何开箱即用的群集支持。但是,如果其他人遇到这个问题,这就是我所做的:

  • 已安装mlpy和numpy
  • 使用了HCluster层次聚类算法
  • 写了一个包装函数,将GEOS Point对象转换为mlpy可以理解的矩阵

文件位于: https://mlpy.fbk.eu/data/doc/clustering.html

答案 2 :(得分:0)

如果有人偶然发现这个帖子:

https://github.com/biodiv/anycluster

我开源了我的geodjango群集应用程序。安装后,你只需要几行javascript和它集群。您可以轻松更改某些设置并使用自己的图形。我还在github上添加了一些用法示例......