Aru*_*s23 1 sql postgresql postgis psql
我有一个表,其中包含以这种方式创建的字段:
CREATE TABLE buildings(id SERIAL PRIMARY KEY, geom GEOMETRY, name VARCHAR(30));
Run Code Online (Sandbox Code Playgroud)
我想将简单的 2D 建筑插入其中,坐标如下 8 4, 10.5 4, 10.5 1.5, 8 1.5
INSERT INTO buildings(id, geom, name)
VALUES
(1, ST_GeomFromText('POLYGON(8 4, 10.5 4, 10.5 1.5, 8 1.5)'), 'BuildingA');
Run Code Online (Sandbox Code Playgroud)
由于某种原因我收到错误
ERROR: parse error - invalid geometry
HINT: "POLYGON(8 4" <-- parse error at position 11 within geometry
Run Code Online (Sandbox Code Playgroud)
如何将该多边形插入到表中?
ST_GeomFromText以 WKT 作为参数。如果您查看WKT 格式,您会发现您的多边形需要另一对括号。您还希望多边形中的最后一个点与第一个点匹配。
INSERT INTO buildings(id, geom, name)
VALUES
(1, ST_GeomFromText('POLYGON((8 4, 10.5 4, 10.5 1.5, 8 1.5, 8 4))'), 'BuildingA');
Run Code Online (Sandbox Code Playgroud)