代码之家  ›  专栏  ›  技术社区  ›  MB263

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

  •  0
  • MB263  · 技术社区  · 7 年前

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

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

    更新 table 设置 poly =POLYFROMTEXT(CONCAT('多边形(('), poly_coords ,'))'));

    在PHPMyAdmin中,查询似乎成功了,但它表示0行受影响,列仍然为空。知道我做错了什么吗?以下是其中一行的坐标示例集:

    -1.64780519214555,55.584005922942197-1.64493672800812,55.582742082639299-1.64452999825276,55.582998088199503-1.64414911782942,55.582896482152698-1.644604024949,55.582417669337097-1.64494635871437,55.5826741683299-1.64471227541248,55.5822342869099-1.645069134859,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 回复  |  直到 7 年前
        1
  •  0
  •   Uueerdo    7 年前

    如果我上面的评论正确,请替换 poly_coords 具有 REPLACE(REPLACE(REPLACE(poly_coords, ',', '#'), ' ', ','), '#', ' ') 应该解决它。

    (编辑:还假设中没有换行符代替空格。) poly\u坐标 .)