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倍

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
调试如何使用VIM/GVIM调试Java应用程序?   java Tomcat 8+OPenJDK 8 64位内存使用率   算法希尔密码加密/解密源代码Java(2 x 2矩阵密钥)   番石榴中有没有类似于功能性Java的效果?   Java算法:检查字典中是否有字符串   java如何从lambda中获取变量?   获取当前jar文件名的java   java LinkedList:如何将当前节点分配给它后面的节点?删除当前节点时   以与ImageMagick的“identify”命令相同的方式在Java中获取图像质量   java是否可以在运行时使用JAXR创建Web服务?   java在listView中过滤两个字符串   maven管理具有外部资源依赖关系的多个Java模块   java Android通过Thread/Runnable/Handler/Looper方法执行简单的异步任务   java Hibernate返回空对象   java将一个jar打包成一个dist dir,其中包含独立的外部资源和依赖项