anycluster为Geodjango提供地图标记的服务器端聚类
anycluster的Python项目详细描述
anycluster(POSTGIS版本)
anycluster为Geodjango提供地图标记的服务器端集群。适用于大量的标记。 根据您的服务器和个人感觉,它可以很好地与200.000到50.000标记。在
建议使用postgis版本。有一个mysql版本的功能有限:https://github.com/biodiv/anycluster-mysql
变更日志
- [09.09.2019]对Django 2.x及更高版本(python3)的支持,添加了传单支持
- [08.10.2015]主要代码改进
- 现在您需要在模板中的某个地方添加{%csrf\\u token%}
特点
此应用程序提供2种聚类方法:
- 基于网格的聚类
- 基于点的几何密度的聚类(需要PSQL扩展)
- 定义为多边形/多多边形的任何地理区域的簇内容
- 获取集群中包含的所有元素
。。。并且有一个内置的缓存机制:如果用户平移地图,则只处理新的区域。在
以及许多可选的定制选项:
- 使用谷歌地图和传单
- 定义单击群集时会发生什么
- 使用您自己的群集图形
- 定义gridsize和其他集群参数
- 对群集应用筛选器
- 如果计数为1,则使用专用标记/管脚
文件
http://anycluster.readthedocs.org/en/latest/
使用演示
要使用演示,请执行以下步骤:
- 正确安装
Django 2.x
- 安装
psycopg2
- 将demo文件夹复制到您的系统中,并将anycluster文件夹作为django应用程序包含在内。在
- 根据您的设置修改
settings.py
中的数据库连接 - 如果您想使用google地图:将googleapi密钥添加到
anymap/templates/base.html
- 记住按照文档中的描述创建kmeans函数
- 在demo文件夹中,运行
python manage.py migrate
- 在demo文件夹中,运行
python manage.py filldemodb 50000
以使用50000个点填充数据库 - 耐心点,因为这个过程不是很有效
- 在demo文件夹中,运行
python manage.py runserver 8080
- 打开浏览器并输入
localhost:8080
性能提示
- 正确索引GIS数据库列
- SSD的使用速度比HDD快10-20倍
- 项目
标签: