【发布时间】:2018-01-20 06:10:35
【问题描述】:
我正在构建一个 Node.js 应用程序来管理我所在地区的兴趣点。我通过使用 wkx 将 latlong 坐标转换为 WKB 缓冲区来插入 POI,然后将其插入 MySQL 中的 POINT 列中。该查询是使用 Knex.js 构建的。以下是查询的样子:
INSERT INTO `places` (`name`, `coordinate`)
VALUES ('Null Island', X'00000000010100000000000000000000000000000000000000')
它抛出Cannot get geometry object from data you send to the GEOMETRY field。
我修改了它,所以它变成了这样:
INSERT INTO `places` (`name`, `coordinate`)
VALUES ('Null Island', UNHEX('00000000010100000000000000000000000000000000000000'))
但它仍然不起作用。我终于通过使用ST_GEOMFROMTEXT(0 0) 让它工作。即使我这样搞砸它也有效:
INSERT INTO `places` (`name`, `coordinate`)
VALUES ('Null Island', UNHEX(HEX(ST_GEOMFROMTEXT('POINT(0 0)')))
怎么了?我怎样才能让它直接从缓冲区工作? 我怀疑我的问题与this one 类似。
【问题讨论】: