如何创建一个 table 与几何多边形和 field_ID 从另一个 table 包含 field_ID 和 lat long 点在 postgis
How to create a table with geometry polygons and field_ID from another table containing field_ID and lat long point in postgis
我有以下 table,其中包含农场中田地的坐标。我正在尝试使用点坐标作为这些多边形的边缘来创建多边形。
CREATE TABLE field_point (
field_id VARCHAR(64) PRIMARY KEY,
point_latitude DOUBLE PRECISION,
point_longitude DOUBLE PRECISION,
point GEOMETRY(Point,4326),
);
我了解通过使用每个点的纬度和经度创建几何点。
然后我收集坐标以在 table field_point 中创建一个点几何体,如下所示:
UPDATE field_point SET point = ST_Transform(ST_SetSRID(ST_MakePoint(point_longitude, point_latitude), 4326),4326);
最后,我将新创建的点和 运行 convex_hull 函数收集到另一个 table 称为字段的 return 多边形上:
INSERT INTO field (polygon) SELECT ST_ConvexHull(ST_Collect(point)) FROM field_point GROUP BY field_id;
我现在无法从第一个 table 中取出 field_id。你能帮忙吗?
预期结果应如下table
CREATE TABLE field (
field_id VARCHAR(64) PRIMARY KEY,
polygon GEOMETRY(polygon,4326),
);
一行应该是从 field_point table.
定义 field_id 的所有点创建的多边形
谢谢!
请使用以下查询,
INSERT INTO field (field_id, polygon)
SELECT field_id, ST_ConvexHull(ST_Collect(point)) FROM field_point;
我有以下 table,其中包含农场中田地的坐标。我正在尝试使用点坐标作为这些多边形的边缘来创建多边形。
CREATE TABLE field_point (
field_id VARCHAR(64) PRIMARY KEY,
point_latitude DOUBLE PRECISION,
point_longitude DOUBLE PRECISION,
point GEOMETRY(Point,4326),
);
我了解通过使用每个点的纬度和经度创建几何点。
然后我收集坐标以在 table field_point 中创建一个点几何体,如下所示:
UPDATE field_point SET point = ST_Transform(ST_SetSRID(ST_MakePoint(point_longitude, point_latitude), 4326),4326);
最后,我将新创建的点和 运行 convex_hull 函数收集到另一个 table 称为字段的 return 多边形上:
INSERT INTO field (polygon) SELECT ST_ConvexHull(ST_Collect(point)) FROM field_point GROUP BY field_id;
我现在无法从第一个 table 中取出 field_id。你能帮忙吗?
预期结果应如下table
CREATE TABLE field (
field_id VARCHAR(64) PRIMARY KEY,
polygon GEOMETRY(polygon,4326),
);
一行应该是从 field_point table.
定义 field_id 的所有点创建的多边形谢谢!
请使用以下查询,
INSERT INTO field (field_id, polygon)
SELECT field_id, ST_ConvexHull(ST_Collect(point)) FROM field_point;