我正在尝试将这个简单的wkt multipoint值转换为存储在mysql数据库的geometry列中
select ST_GeomFromText('MULTIPOINT ((-72.92788350000001 41.308274), (-72.996283 41.355198))');
它返回null。我不明白为什么-wkt本身似乎是有效的,例如,如果你在https://arthur-e.github.io/wicket/sandbox-gmaps3.html
那么mysql方面的限制是什么?我该如何绕过它呢?谢谢。
这是在mysql 5.6上,如果这很重要的话。
1条答案
按热度按时间k0pti3hp1#
5.6版本的mysql似乎使用了另一种wkt格式。
在MySQL5.6中,您需要使用
MULTIPOINT (-72.92788350000001 41.308274, -72.996283 41.355198)
而不是关闭MULTIPOINT ((-72.92788350000001 41.308274), (-72.996283 41.355198))
mysql版本5.6.40请参见演示
https://www.db-fiddle.com/f/mddtn7mbtwpmkz1uodmqva/8
mysql版本8.0.11
为了验证结果,MySQL5.6WKT格式也适用于较新的mysql版本。
请参见演示
https://www.db-fiddle.com/f/mddtn7mbtwpmkz1uodmqva/11
也
MULTIPOINT (-72.92788350000001 41.308274, -72.996283 41.355198)
以及MULTIPOINT ((-72.92788350000001 41.308274), (-72.996283 41.355198))
两人的观点相同https://arthur-e.github.io/wicket/sandbox-gmaps3.html