我尝试在我的 postgre 数据库中添加 MultiPolygon 几何图形,因此我使用了以下 SQL 语句:
'INSERT INTO potentiel_foncier_ccry (nature, geom, nbr_lgmt) VALUES ('+ mysql.escape(nature)+', ST_GeomFromText(MULTIPOLYGON((("'+mysql.escape(geom)+')))",2154),"'+ mysql.escape(logement) +'")'
但是失败了,我有这个错误:
error: syntax error at end of input
有什么问题吗?预先感谢您
PS:我使用 Nodejs 进行编码
最佳答案
如果您通过 OpenLayers 应用程序执行此操作,则可以转换格式
var geom = [[[[101, 201],
[102, 202],
[103, 203],
[101, 201]]]];
var wkt = new ol.format.WKT().writeGeometry(new ol.geom.MultiPolygon(geom));
console.log(wkt); // 'MULTIPOLYGON(((101 201,102 202,103 203,101 201)))'
假设 SQL 的其余部分是正确的,您仍然需要 ST_GeomFromText
和 2154
:
var geom1 = [[[[101, 201],
[102, 202],
[103, 203],
[101, 201]]]];
var wkt = new ol.format.WKT().writeGeometry(new ol.geom.MultiPolygon(geom1));
var geom2 = "ST_GeomFromText('" + wkt + "'),2154)"
'INSERT INTO potentiel_foncier_ccry (nature, geom, nbr_lgmt) VALUES ('+ mysql.escape(nature)+', '+geom2+','+ mysql.escape(logement) +')'
关于javascript - 添加 MultiPolygon 几何体时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55065553/