gpt4 book ai didi

postgresql - 使用经度和经度PostGIS获取凸包

转载 作者:行者123 更新时间:2023-11-29 14:32:33 24 4
gpt4 key购买 nike

我需要使用我在表格中输入的点生成凸包的坐标。

这是我创建表格的方式

CREATE TABLE map5(id VARCHAR (50) PRIMARY KEY,
points geometry);

这就是我输入积分的方式

Insert into map5 (id,id2, points) VALUES ('LeaveyLibrary',
'1',ST_GeomFromText('POINT(-118.282866 34.021845)', 4326));
Insert into map5 (id, id2,points) VALUES ('TommyTrojan',
'1',ST_GeomFromText('POINT(-118.2876357 34.0205621)', 4326));
Insert into map5 (id, id2,points) VALUES ('DohenyLibrary',
'1',ST_GeomFromText('POINT(-118.2849868 34.0201529)', 4326));
Insert into map5 (id, id2,points) VALUES ('VKCLibrary',
'1',ST_GeomFromText('POINT(-118.2843347 34.0205791)', 4326));

这就是我生成凸包的方式

SELECT st_astext(ST_ConvexHull(ST_Collect(points::geometry))) as points 
from map5 group by id;

但是它只返回点而不是多边形,我在这里做错了什么?谢谢。

最佳答案

要仅将 ConcaveHull 作为一个 geom,您的查询必须像这样:

Select ST_ConcaveHull(ST_Collect(d.geom),1) As geom
FROM points As d

在你的情况下:

Select st_astext(ST_ConcaveHull(ST_Collect(points::geometry),1)) As polygon
FROM map5

结果:

enter image description here

关于postgresql - 使用经度和经度PostGIS获取凸包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49471079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com