簡體   English   中英

GeoDjango:是否有一種現成的方式來生成點集群?

[英]GeoDjango: is there an out-of-the-box way to generate clusters of points?

我正在嘗試使用GeoDjango在Python中的一組點上計算聚類。

問題:給定一組點,輸出這些點的一組聚類。 (為簡化起見,我可以預先指定#個集群/集群大小/距離)

Web上有一些解決方案可以進行群集,因此這是一個眾所周知的問題。 我以為GeoDjango可以開箱即用地解決這些類型的問題,但是尚不清楚如何解決-我已經搜索了GeoDjango文檔,Google和其他一些地方,但找不到任何東西。

在介紹自己的集群解決方案之前,我想問一下是否有一種簡單的方法可以使用GEOS或GeoDjango中的另一個軟件包來實現。

GeoDjango沒有任何內置的集群支持。 我所知道的與GeoDjango一起使用的任何現有開源GIS應用程序通常都不會提供此操作。

幾個運行Django / GeoDjango的站點(例如everyblock.com)已經發布了它們的集群方法,但是GeoDjango並未內置此支持。

通常,這些應用程序提供的功能基於基礎數據庫支持。 GEOS,PostGIS下的庫以及一般的“最新技術”(至少在非Java世界中)沒有任何類型的集群API或行為。

如果有人偶然發現此線程:

https://github.com/biodiv/anycluster

我開源了我的geodjango集群應用程序。 安裝后,您只需要使用幾行javascript及其集群即可。 您可以輕松更改某些設置並使用自己的圖形。 我還在github上添加了一些用法示例...

正如克里斯托弗·施密特(Christopher Schmidt)所述,似乎沒有對GeoDjango中的集群提供任何現成的支持。 但是,如果其他人遇到此問題,這是我所做的:

  • 安裝了mlpy和numpy
  • 使用HCluster層次聚類算法
  • 編寫了包裝函數,將GEOS Point對象轉換為mlpy可以理解的矩陣

文檔位於: https : //mlpy.fbk.eu/data/doc/clustering.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM