我有postgis 扩展名的postgres-db中有很多(1.000.000)ST_Points。当我在地图上显示他们时,浏览器变得非常忙碌。 为此,我想编写一个sql语句,将高密度过滤为只有一个点。
当用户缩小100个ST_Points时,postgres应该只返回一个。 但只有当这些点靠近在一起。
我这个说法试了一下:精简许多ST_Points
select a.id, count(*)
from points as a, points as b
where st_dwithin(a.location, b.location, 0.001)
and a.id != b.id
group by a.id
我称之为薄了,但因此未找到任何东西 - 也许是因为我不 一个母语是英语。 有没有人有一些建议?
例如,有一个用于该舍入的函数:ST_SnapToGrid(几何,0.001)。你也可以用更复杂的方式定义网格,参见doc。 – 2011-01-24 15:54:41