美文网首页开源webGISGIS相关
千万数据展示-矢量切片点聚合

千万数据展示-矢量切片点聚合

作者: polong | 来源:发表于2020-07-26 11:17 被阅读0次

背景

    之前做的海量数据数据展示,在预处理速度和渲染上还有有所欠缺,比如单个切片文件还是太大,本文中进行一些优化工作,使得一分钟处理完一千多万点数据的1-11级矢量切片,在线浏览数据请求时间控制在1s左右。

准备

    软件环境:PostGIS,数据是微软开源的部分房屋数据public.california20191107(10988317条)取中心点。

原理

    我们之前都听过像素聚合,把坐标点转成像素,这样能大大降低显示压力。而在矢量切片中也有类似的东西,就是ST_AsMVTGeom,他会把几何数据转成切片的坐标。所以我们可以在单个切片处理中进行进行坐标转换,然后把坐标聚合。同时我们可以调整切片的格网大小,默认会用4096,但是在小比例尺可以用小网格把这个值调整小些,能更好的聚合(TileBBox参考之前前的文章)。第二种方式是使用数据库自带width_bucket进行聚合。

--示例1
 SELECT ST_AsMVT(vt,'points',256,'geo') tile 
FROM (select ST_SetSRID( ST_Point( ST_X(a.geo),ST_Y(a.geo)), 4326) geo from (
    SELECT ST_AsMVTGeom(w.geom,Box2D(TileBBox(10,176,409,4326)),256,0,true) AS geo 
FROM  public.capnt w  where TileBBox(10,176,409,4326)&&geom) a
group by ST_X(a.geo),ST_Y(a.geo)  ) AS  vt
--示例2
 SELECT ST_AsMVT(vt,'points',128,'geo') tile 
FROM (  SELECT ST_AsMVTGeom(a.geom,Box2D(TileBBox(8,206,113,4326)),128,0,true) AS geo FROM  (select   
  width_bucket(st_x(a.geom),ST_XMin(TileBBox(8,206,113,4326)), ST_XMax(TileBBox(8,206,113,4326)),200) grid_x,  
  width_bucket(st_y(a.geom), ST_YMin(TileBBox(8,206,113,4326)), ST_YMax(TileBBox(8,206,113,4326)), 200) grid_y,  
    st_centroid(st_collect(a.geom)) geom
from public."point_grid" a where TileBBox(8,206,113,4326)&&a.geom group by 1,2) a  ) AS  vt                         
image
image

参考资料:

https://blog.csdn.net/qq_35241223/article/details/106439268

https://www.jianshu.com/p/60bab5196063

相关文章

  • 千万数据展示-矢量切片点聚合

    背景     之前做的海量数据数据展示,在预处理速度和渲染上还有有所欠缺,比如单个切片文件还是太大,本文中进行一些...

  • 百万点数据矢量切片实时聚合展示

    背景     平时我们可能有比较大量的点数据要展示又不想预处理,在线浏览数据请求时间控制在3s左右。 准备    ...

  • 矢量切片解决方案

    1.矢量切片简介   矢量切片是由mapbox组织提出的一种新型矢量数据切片格式,它按照TMS切片规则对矢量数据进...

  • qgis中加载矢量切片

    概述 qgis既可以做矢量切片,又可以加载矢量切片。本文以geoserver作矢量切片,并在QGIS中进行加载展示...

  • geoserver矢量切片资料整理

    环境搭建 arcsde数据连接 矢量切片制作发布 矢量切片leaflet加载 矢量切片相关概念 相关参考资料: l...

  • 矢量地图切片-mapbox本地化

    矢量地图切片-mapbox本地化 1. 矢量地图数据切片1.1. 安装1.2. 一般数据生产使用1.3. 常用选项...

  • 基于 PostGIS 的矢量切片服务器

    基于 PostGIS 的矢量切片服务器 矢量切片简介 矢量切片是 MapBox 定义的一种开放的 矢量地图标准 ,...

  • CesiumLab中地形切片工具支持栅格水面

    目前cesiumlab中地形切片的水面只支持矢量格式,如果地形数据范围较大或分辨率较高,使用矢量水面切片的速度会比...

  • GeoServer矢量切片地址获取

    一、发布矢量切片 在geoserver中发布矢量切片步骤不多说,基本都能搜到,地址的获取取决于已经发布的矢量切片。...

  • 2018-03-07

    矢量切片的介绍以及geoserver发布矢量切片 https://www.cnblogs.com/escage/p...

网友评论

    本文标题:千万数据展示-矢量切片点聚合

    本文链接:https://www.haomeiwen.com/subject/gedwlktx.html