如何使用 PostGIS 扩展将多边形插入数据库
How to insert polygon into database with PostGIS extension
我有一个 table 字段是这样创建的:
CREATE TABLE buildings(id SERIAL PRIMARY KEY, geom GEOMETRY, name VARCHAR(30));
我想用以下坐标将简单的二维建筑插入其中
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');
出于某种原因,我得到了一个错误
ERROR: parse error - invalid geometry
HINT: "POLYGON(8 4" <-- parse error at position 11 within geometry
如何将该多边形插入 table?
ST_GeomFromText
将 WKT 作为其参数。如果您查看 the WKT format,您会发现您的多边形需要另一对括号。您还需要多边形中的最后一个点与第一个点匹配。
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');
我有一个 table 字段是这样创建的:
CREATE TABLE buildings(id SERIAL PRIMARY KEY, geom GEOMETRY, name VARCHAR(30));
我想用以下坐标将简单的二维建筑插入其中 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');
出于某种原因,我得到了一个错误
ERROR: parse error - invalid geometry
HINT: "POLYGON(8 4" <-- parse error at position 11 within geometry
如何将该多边形插入 table?
ST_GeomFromText
将 WKT 作为其参数。如果您查看 the WKT format,您会发现您的多边形需要另一对括号。您还需要多边形中的最后一个点与第一个点匹配。
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');