我有一个 MySQL 表,我们用它来存储一些纬度和经度。坐标定义为 ' geometry
' 类型的列,可以包含任意数量的坐标对。
当我运行此代码时,我将几何类型转换为一些我应该能够解析的文本:
SELECT ST_AsText(ST_ExteriorRing(c.coordinate))
from `app_coordinate` c, app_type_coordinate tc
where c.idtypecoord = tc.idtypecoord
and tc.description="safezone";
结果我得到以下结果:
LINESTRING(-17.386557 -66.150796,-17.388676 -66.150335,-17.388727 -66.14952,-17.385963 -66.147642,-17.386557 -66.150796)
LINESTRING(-17.388043 -66.157421,-17.387351 -66.154347,-17.391524 -66.153496,-17.3921 -66.156664,-17.388043 -66.157421)
LINESTRING(-17.389281 -66.1413,-17.387155 -66.141837,-17.386763 -66.142888,-17.389566 -66.142929,-17.389281 -66.1413)
LINESTRING(-17.389914 -66.143621,-17.390695 -66.143275,-17.390262 -66.1409,-17.389487 -66.141172,-17.389914 -66.143621)
每个 LineString 行都有一组坐标对,我需要对其进行拆分。所以第一对是#1,第二对是#2,等等。事情是,我可以有任意数量的对。
我需要做的是能够将每个线串分成对并存储到一个变量中,例如pair1_x,pair1_y,pair2_x,pair2_y,pair3_x ...即使我不知道存在多少对并且我有两个分隔符...坐标之间的空格和对之间的逗号。