Postgesql 空间点聚合实验

Postgesql 空间点聚合实验聚合效果:根据范围四至获取区域内的聚合点数据。 aggregate_build_data /***创建测试空间点数据库***/ create table tpoint( gid serial pri…

Postgesql 空间点聚合实验

aggregate_build_data

/***创建测试空间点数据库***/
create table tpoint(  
  gid serial primary key,  
  geom geometry(Point,4326)  
);
/***创建索引***/
create index tpoint_geom_idx on tpoint using gist(geom);  
/***插入50万条范围内随机位置数据***/
insert into tpoint(geom) SELECT st_setsrid((ST_Dump(p_geom)).geom,4326)  
from (select ST_GeneratePoints(ST_GeomFromText("Polygon((117.357442 30.231278,119.235188 30.231278,119.235188 32.614617,117.357442 32.614617,117.357442 30.231278))"), 300000) as p_geom) as b  
/***聚合查询效率测试,查询最大量***/
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 
/***耗时0.5秒,去掉gid字段的查询耗时0.3秒***/
/***模拟数据在50万时,耗时0.9秒,去掉gid字段的查询耗时0.7秒***/

代码100分

aggregate_search

代码100分/***聚合查询效率测试,查询最大量***/
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 
/***耗时0.5秒,去掉gid字段的查询耗时0.3秒***/
/***模拟数据在50万时,耗时0.9秒,去掉gid字段的查询耗时0.7秒***/

width_bucket说明:

Postgesql 空间点聚合实验

aggregate effects

Postgesql 空间点聚合实验

Postgesql 空间点聚合实验

参考阅读

PostgreSQL 9.6.0 手册 http://www.postgres.cn/docs/9.6/functions-math.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10020.html

(0)
上一篇 2023-01-27 13:30
下一篇 2023-01-27

相关推荐

  • Python编写强大的步行导航程序

    Python编写强大的步行导航程序近年来,步行成为了一种受欢迎的出行方式,因为它不仅有益于身体健康,而且不会导致任何交通拥堵。然而,对于某些人来说,步行往往会变得非常困难,尤其是在新的城市中。此时,步行导航程序就非常有用了。下面我们将介绍如何使用Python编写强大的步行导航程序。

    2024-02-28
    92
  • clickhouse 预聚合_clickhouse入门

    clickhouse 预聚合_clickhouse入门上篇笔记讲到了聚合函数的实现并且带大家看了聚合函数是如何注册到ClickHouse之中的并被调用使用的。这篇笔记,笔者会续上上篇的内容,将剖析一把ClickHouse聚合流程的整体实现。 第二篇文章,

    2023-03-22
    148
  • Python实现Excel合并单元格功能

    Python实现Excel合并单元格功能在Excel操作中,很多时候需要对表格进行整理和排版等处理,而合并单元格就是其中一个比较常用的功能。而在Python中,也可以通过调用相关的库实现Excel合并单元格的功能。本文将通过介绍Python中实现Excel合并单元格功能的方法及相关代码示例,帮助读者更好地掌握这个知识点。

    2024-09-04
    22
  • ETL工具之kettle的使用之异构数据抽取MongoDB——>DB2「终于解决」

    ETL工具之kettle的使用之异构数据抽取MongoDB——>DB2「终于解决」环境简介: 数据库版本:MongoDB 5.0.4 (查询语句:db.version(); ); DB2 9.7 ; kettle版本: 9.2 实现目标:将MongoDB(异构化数据) 抽取到DB2

    2023-05-02
    147
  • Windows系统安装配置MySQL5.6教程 超简单 解压版免安装直接使用

    Windows系统安装配置MySQL5.6教程 超简单 解压版免安装直接使用首先去MySQL官网下载压缩包 MySQL 官方网站地址:MySQL http://www.mysql.com/ 依次找到 Downloads -> Community -> M

    2023-02-08
    155
  • mysql规范 阿里_mysql数据库规范

    mysql规范 阿里_mysql数据库规范阿里11条mysql规范 转载 ~时光易逝~ 最后发布于2019-09-11 09:40:09 阅读数 101 收藏 展开 对于阿里的11条规范,虽然平时写sql的时候会注意到,但是还是要记录一下,…

    2023-01-31
    150
  • 在Ubuntu 20.04上安装GCC以便进行Python编译

    在Ubuntu 20.04上安装GCC以便进行Python编译在Ubuntu操作系统上编译Python应用程序时,GCC编译器是必不可少的工具。这篇文章将详细介绍在Ubuntu 20.04上安装GCC用于Python编译的过程。GCC是一种开源编译器,可以通过Ubuntu的软件包管理器进行安装。通过以下步骤可以在Ubuntu 20.04上安装GCC。

    2024-01-09
    103
  • 数据中台架构体系浅析[通俗易懂]

    数据中台架构体系浅析[通俗易懂]中台出现的背景 从技术上来看,随着业务的发展,很多企业在前期搭建了很多的IT系统,系统间像烟囱一样相互独立。在面对着越来越复杂的业务,越来越多的数据,企业IT在扩展旧系统上出现了一定的局限,从而产生不

    2022-12-21
    133

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注