PG+POSTGIS地图空间位置网格聚合算法

目录

PG核心分包函数WIDTH_BUCKET

聚合点的归类过程演示

空间聚合效果展示

大规模空间数据方案


 PG,Postgresql数据库的简称,POSGIS是空间函数扩展支持插件集成了很多数据库级别的空间查询和空间图形数据处理能力。

PG核心分包函数WIDTH_BUCKET

WIDTH_BUCKET的原理是将对应的经度、纬度范围值划分为多少份,二这个参数就是地图四至。比如高德地图,它的可见范围,从西至东(经度范围),从南至北(纬度范围),正确的四至是一个数组表示的值如,[minX,minY,maxX,MaxY]。

这里我们的四至(extent)假设为:[30.431278,117.057442,32.614617,119.235188]

如果我们要将四至分为x,y轴都分为20等分,那么就如下面的SQL语句:

SELECT 
width_bucket(st_x(geom), 117.057442 ,119.235188 ,20) grid_x, 
width_bucket(st_y(geom), 30.431278 , 32.614617, 20) grid_y,  
count(*),
st_centroid(st_collect(geom)) geom,  
array_agg(gid) gids
from tpoint 

where 
st_x(geom) between 117.057442 and 119.235188 
and 
st_y(geom) between 30.431278  and 32.614617 

GROUP BY grid_x,grid_y 

如何测试请看我开源中国上的文章:Postgesql 空间点聚合查询实验

聚合点的归类过程演示

规则分布过程,取网格中心点:

不规则过程,取包含点的中心位置:

网格聚合,综合全图展示效果:

空间聚合效果展示

期望效果:

真实效果:

大规模空间数据方案

云数据库HybridDB for PostgreSQL(ApsaraDB HybridDB for PostgreSQL)是一种在线MPP大规模并行处理数据仓库服务。云数据库HybridDB for PostgreSQL基于Greenplum Database开源数据库项目,并由阿里云深度扩展,支持OSS外部表、JSON数据类型、HyperLogLog预估分析等功能特性。通过符合SQL2008标准查询语法及OLAP分析聚合函数,提供灵活的混合分析能力。支持行存储和列存储混合模式,提高分析性能,同时支持数据压缩技术,降低存储成本。并提供在线扩容、性能监测等服务,用户无需进行复杂的大规模MPP集群运维管理,让DBA、开发人员及数据分析师专注于如何通过SQL提高企业的生产力,创造核心价值。

产品详情:https://www.aliyun.com/product/gpdb

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SpringBoot PostGIS空间查询是一种利用SpringBoot框架和PostgreSQL数据库的PostGIS扩展实现的地理空间数据查询方法。该方法可以用于实现对存储在数据库中的地理几何元素的增删改查。在进行空间查询之前,你可能需要先阅读引用和引用提到的相关文章,这些文章描述了SpringBoot MyBatis PostgreSQL PostGis实现地理几何元素的增删改和对存储数据的查找的详细方法。 首先,你需要在项目的pom.xml文件中添加关于PageHelper插件的依赖,如引用所示。PageHelper插件可以帮助你进行分页查询。 接下来,你可以使用SpringBoot框架提供的功能和PostGIS扩展提供的函数进行空间查询。根据你的需求,你可以实现对一般普通的全部查找、id查找、条件查找、分页查找,以及对空间信息的圆形区域查找和多边形区域查找等操作。 具体的实现方法和语法可以参考引用中提到的文章,它详细介绍了SpringBoot MyBatis PostgreSQL PostGis实现对存储数据的查找的方法。 总结起来,SpringBoot PostGIS空间查询是一种利用SpringBoot框架和PostgreSQL数据库的PostGIS扩展实现的地理空间数据查询方法,它可以实现对存储在数据库中的地理几何元素的增删改查。你可以根据具体的需求使用SpringBoot提供的功能和PostGIS提供的函数进行空间查询。请参考引用中的文章获取更详细的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringBoot+MyBatis+PostgreSQL+PostGis实现地理几何元素查询](https://blog.csdn.net/honor_zhang/article/details/95622981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值