我需要转换一个包含这些列的点表(id,the_geom) 多点?
为什么我需要这样做?因为我想在每个点周围创建一个缓冲区,如果我使用point我将为每个点获得一个缓冲区,但我真正需要的是整个表的多边形缓冲区。该表累计超过2000条记录。
这是一张图片,说明我需要做什么(缓冲多点):
非常感谢
答案 0 :(得分:5)
您正在寻找的函数是聚合形式的ST_Union:
SELECT ST_Multi(ST_Union(the_geom)) FROM myTable;
答案 1 :(得分:2)
如果您使用pgAdmin III查看查询结果,这可能只是一个显示问题。似乎具有大量记录的几何(例如,在这种情况下为2000)将不会显示在数据输出窗格中。
您可以使用以下方法检查查询结果:
SELECT ST_AsText(ST_ConcaveHull(ST_Collect(the_geom),0.90)) As cc_hull FROM mytable;
这应该将凹形外壳多边形作为文本返回到数据输出窗格中。
答案 2 :(得分:0)
我认为ST_ConvexHull正是您所寻找的。 p>
SELECT ST_Buffer(ST_ConvexHull(ST_Collect(the_geom)),0.01) FROM mytable;