我有下表,其中包含一个农场的字段坐标。我尝试用点坐标作为多边形的边来创建多边形。
CREATE TABLE field_point (
field_id VARCHAR(64) PRIMARY KEY,
point_latitude DOUBLE PRECISION,
point_longitude DOUBLE PRECISION,
point GEOMETRY(Point,4326),
);
我理解通过使用每个点的纬度和经度创建几何点。
然后,我收集坐标,在表格字段中创建点几何体,如下所示:
UPDATE field_point SET point = ST_Transform(ST_SetSRID(ST_MakePoint(point_longitude, point_latitude), 4326),4326);
最后,我收集新创建的点,并在另一个名为field的表上运行凸包函数,以返回如下多边形:
INSERT INTO field (polygon) SELECT ST_ConvexHull(ST_Collect(point)) FROM field_point GROUP BY field_id;
我现在无法从第一个表中获取字段\u id。你能帮忙吗?
预期结果如下表所示
CREATE TABLE field (
field_id VARCHAR(64) PRIMARY KEY,
polygon GEOMETRY(polygon,4326),
);
一行应该是从定义field\u point表中field\u id的所有点创建的多边形。
谢谢!
1条答案
按热度按时间cgvd09ve1#
请使用下面的查询,