我有一个字段,其中包含一串定义地理围栏(多边形)的纬度/经度坐标。每个都用逗号分隔。
eg: 'lat,long,lat,long,lat,long'
eg: 148.341158,-21.500773,148.341406,-21.504989,148.375136,-21.513174,148.401674,-21.535247,148.418044,-21.532767,148.408867,-21.511685,148.414075,- 21.508461,148.36968,-21.432567,148.349094,-21.438768,148.346862,-21.480187,148.341158,-21.500773,
我想将此与 MSSQL 中的地理类型一起使用(http://msdn.microsoft.com/en-us/library/bb933971.aspx)
DECLARE @g geography;
SET @g = geography::STPolyFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SELECT @g.ToString();
这似乎需要:'lat long, lat long, lat long' 即:这对之间没有逗号。
我无法更改源数据,因为它由供应商程序使用。我需要操纵字符串以删除 2 个逗号中的每一个,或者如果失败,则让正则表达式在 TSQL 中工作