mysql如何插入几何数据

yh2wf1be  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(491)

我正在尝试使用mysql插入几何数据,下面是一个代码示例:

  1. CREATE TABLE CARTESIAN
  2. (
  3. ROW_ID INT NOT NULL,
  4. G GEOMETRY,
  5. PRIMARY KEY(ROW_ID)
  6. )
  7. INSERT INTO CARTESIAN
  8. VALUES (0,'POINT(1 1)'),
  9. (1,'LINESTRING(2 1, 6 6)'),
  10. (2,'POLYGON((0 5, 2 5, 2 7, 0 7, 0 5))')

运行insert时,我收到消息“cannot get geometry object from data you send to the geometry field”。你能解释我哪里错了吗?

rqmkfv5c

rqmkfv5c1#

您需要将文本表示转换为 GEOMETRY 然后才能使用 ST_GeomFromText 功能。试试这个:

  1. CREATE TABLE CARTESIAN
  2. (
  3. ROW_ID INT NOT NULL,
  4. G GEOMETRY,
  5. PRIMARY KEY(ROW_ID)
  6. );
  7. INSERT INTO CARTESIAN
  8. VALUES (0,ST_GeomFromText('POINT(1 1)')),
  9. (1,ST_GeomFromText('LINESTRING(2 1, 6 6)')),
  10. (2,ST_GeomFromText('POLYGON((0 5, 2 5, 2 7, 0 7, 0 5))'));
  11. SELECT * FROM CARTESIAN

输出:

  1. ROW_ID G
  2. 0 [GEOMETRY - 25 B]
  3. 1 [GEOMETRY - 45 B]
  4. 2 [GEOMETRY - 97 B]
展开查看全部

相关问题