在PostGIS中将一组有序纬度经度对转换为Linestring的有效方法是什么?

时间:2014-02-21 14:28:03

标签: postgresql gis postgis

我可以将它转换为WKT然后转换为Linestring,但我认为有更有效的方法可以做到。

1 个答案:

答案 0 :(得分:1)

假设您的数据如下所示:

enter image description here

您可以将有序经度/纬度对的集合转换为如下所示的线串:

SELECT ST_AsText(ST_MakeLine(q.f, q.t)) FROM
  (SELECT (SELECT ST_MakePoint(c.long_from, c.lat_from) AS f),
  (SELECT ST_MakePoint(c.long_to, c.lat_to) AS t) 
   FROM lonlatset c) AS q;

这是结果:

enter image description here

尽量记住尊重正确的坐标顺序非常重要:首先是经度,其次是纬度