我无法弄清楚为什么这不起作用(抛出“无法从发送到GEOMETRY字段的数据中获取几何对象”):
UPDATE Table
SET Shape = ST_GeomFromGeoJSON('{
"type": "Polygon",
"coordinates": [[[-39.440918,-11.113727],[-23.972168,4.981505],[-21.862793,-29.477861],[-39.440918,-11.113727]]]
}')
WHERE Id = 6
这样做:
UPDATE Table
SET Shape = ST_GeomFromGeoJSON('{
"type": “MultiPolygon",
"coordinates": [[[[-39.440918,-11.113727],[-23.972168,4.981505],[-21.862793,-29.477861],[-39.440918,-11.113727]]]]
}')
WHERE Id = 6
如果我使用GeoJSON或WKB无关紧要,结果是一样的。
Polygon和MultiPolygon结构之间有什么区别,为什么不接受第一个结构,第二个结构是什么?
运行MySQL 5.7.19。
答案 0 :(得分:0)
我的错,列类型设置为MULTYPOLYGON。但令我困惑的是,其他行设置为Polygon。我想这是由服务器从5.1升级到5.7引起的。也许5.1允许您将Polygon存储在MultiPolygon列中。