ST_SquareGrid — 返回一组完全覆盖几何参数边界的网格正方形和单元格索引。
setof record ST_SquareGrid(
float8 size, geometry bounds)
;
从平面的正方形平铺的概念开始。对于给定的平面SRS和给定的边大小,从SRS的原点开始,平面有一个唯一的正方形平铺,即平铺(SRS,SIZE)。此函数用于回答以下问题:给定平铺(SRS,大小)中的哪些栅格与给定边界重叠。
输出正方形的SRS是由边界几何体提供的SRS。
正方形的加倍或边缘大小会生成一个新的父平铺,该平铺与原始平铺完美匹配。墨卡托中的标准网络地图拼贴只是墨卡托平面中的2次方格网。
可用性:3.1.0
网格将填充整个国家的边界,因此如果您只想要接触到国家的正方形,则必须在之后使用ST_Intersects进行过滤。
WITH grid AS ( SELECT (ST_SquareGrid(1, ST_Transform(geom,4326))).* FROM admin0 WHERE name = 'Canada' ) SELEcT ST_AsText(geom) FROM grid
要对正方形平铺进行点汇总,请使用点的范围作为边界生成正方形栅格,然后在空间上连接到该栅格。注估计的范围可能与实际范围不一致,因此要小心,至少要确保您已经分析了表。
SELECT COUNT(*), squares.geom FROM pointtable AS pts INNER JOIN ST_SquareGrid( 1000, ST_SetSRID(ST_EstimatedExtent('pointtable', 'geom'), 3857) ) AS squares ON ST_Intersects(pts.geom, squares.geom) GROUP BY squares.geom