MySQL:从一串坐标创建多边形几何

时间:2018-03-07 17:11:46

标签: mysql spatial

我已经将数据从KML文件提取到csv文件中,即ID和一组多边形坐标(poly_coords),然后上传到MySQL。坐标字符串存储在MEDIUMTEXT数据类型中。我创建了一个带有GEOMETRY数据类型的第三列,并将其命名为Poly。

我尝试使用以下方法在第三列中创建多边形:

UPDATE table SET poly = POLYFROMTEXT(CONCAT('POLYGON((',poly_coords,'))'));

在PHPMyAdmin中,查询似乎成功,但是它表示0行受影响且列仍为空。我有什么想法我做错了吗?其中一行的坐标样本集如下:

-1.64780519214555,55.584005922942197 -1.64493672800812,55.582742082639299 -1.64452999825276,55.582998088199503 -1.64414911782942,55.582896482152698 -1.6446040249694,55.582417669337097 -1.64494635871437,55.582674741683299 -1.644712​​27541248,55.582234286909099 -1.64495069134859,55.582411296465601 -1.64518739534705,55.582327806329303 -1.64572123931525,55.582218128100401 -1.64516012792193,55.5827128999926 -1.64779401927094, 55.5838654946118 -1.64827016444108,55.584067334584198 -1.64812256311739,55.584161771915902 -1.64780519214555,55.584005922942197

1 个答案:

答案 0 :(得分:0)

如果我上面的评论看起来是正确的,那么将poly_coords替换为REPLACE(REPLACE(REPLACE(poly_coords, ',', '#'), ' ', ','), '#', ' ')就可以解决问题。

(编辑:还假设poly_coords中没有代替空格的换行符。)