MySQL:从一串坐标创建多边形几何体
MySQL: Create Polygon geometry from a string of coordinates
我已经从一个KML文件中提取数据到一个csv文件中,即一个ID和一组多边形坐标(poly_coords),然后上传到MySQL。坐标字符串存储在 MEDIUMTEXT 数据类型中。我创建了具有 GEOMETRY 数据类型的第三列并将其命名为 Poly。
我尝试在第三列中使用以下方法创建多边形:
更新 table
设置 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.64471227541248,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.647805192145527=405[405]
如果我上面的评论看起来正确,将 poly_coords
替换为 REPLACE(REPLACE(REPLACE(poly_coords, ',', '#'), ' ', ','), '#', ' ')
应该可以解决问题。
(编辑:还假设 poly_coords
中没有换行符代替空格。)
我已经从一个KML文件中提取数据到一个csv文件中,即一个ID和一组多边形坐标(poly_coords),然后上传到MySQL。坐标字符串存储在 MEDIUMTEXT 数据类型中。我创建了具有 GEOMETRY 数据类型的第三列并将其命名为 Poly。
我尝试在第三列中使用以下方法创建多边形:
更新 table
设置 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.64471227541248,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.647805192145527=405[405]
如果我上面的评论看起来正确,将 poly_coords
替换为 REPLACE(REPLACE(REPLACE(poly_coords, ',', '#'), ' ', ','), '#', ' ')
应该可以解决问题。
(编辑:还假设 poly_coords
中没有换行符代替空格。)