我需要能够创建一个表并将几个x,y坐标存储为几何,然后才能为这些点生成凸包。
这是我到目前为止所拥有的
CREATE TABLE global_points (
id SERIAL PRIMARY KEY,
name VARCHAR(64),
location GEOMETRY(POINT,4326));
但我不太确定。如何将我的集合x,y坐标插入此表,然后为此几何体生成凸包?
需要使用postgres的potgis空间数据库扩展
来执行此操作答案 0 :(得分:3)
您应该提供有关您希望向表格添加点数的方式的更多信息。这是一个带有一些随机点的例子。
1)将数据插入表格
--insert points using geographical coordinates
INSERT INTO global_points (name, location) VALUES
('point1', ST_SetSRID(ST_MakePoint(-5, 25), 4326)),
('point2', ST_SetSRID(ST_MakePoint(1.2, -2.3), 4326)),
('point3', ST_SetSRID(ST_MakePoint(5.3, 21), 4326)),
('point4', ST_SetSRID(ST_MakePoint(2, 12), 4326));
2)从一组点计算凸包
--get the convex hull
SELECT ST_ConvexHull(ST_Collect(location)) AS convex_hull
FROM global_points;