Postgres拆分LineStrings并转换

时间:2014-11-20 08:44:06

标签: postgresql split postgis plpgsql

我的问题是如何在PL / pgSQL中构建一个函数来执行此操作:

我有很多这样的线串。

Linestring((3.584731 60.739211,3.590472 60.738030,3.592740 60.736220))

我需要拆分子串中的每个Linestring,然后再将其拆分为2个坐标。

3.584731 60.739211  
x1            y1      

3.590472 60.738030 
x2            y2     


3.592740 60.736220
x3              y3

等等其他要点。 保存答案并转换成双倍,这样我就可以用积分来计算。

1 个答案:

答案 0 :(得分:0)

像这样使用ST_DumpPoints

SELECT ST_X(d.geom), ST_Y(d.geom)
FROM ST_DumpPoints(
    'Linestring(3.584731 60.739211,3.590472 60.738030,3.592740 60.736220)') AS d;

   st_x   |   st_y    
----------+-----------
 3.584731 | 60.739211
 3.590472 |  60.73803
  3.59274 |  60.73622
(3 rows)