使用PostGIS在线串周围创建多边形

Sim*_*mon 3 gis google-maps postgis

我是PostGIS的新手,需要在这里寻求帮助.我有一个来自谷歌地图的折线(代表一个行程),需要在它周围建立一个以米或公里为单位的特定距离的多边形(缓冲区).

对于输入,我有纬度/经度点列表和所需的缓冲距离.

任何人都可以帮我构建查询,以便返回的结果是纬度/经度坐标中的多边形,准备在地图上绘制?

Tho*_*mas 6

  1. 在末尾再次添加线字符串的第一个顶点,以便能够创建多边形.
  2. 将线串转换为多边形
  3. 在多边形周围创建一个缓冲区
SELECT
    ST_Buffer(ST_Polygon(ST_AddPoint(the_geom, ST_StartPoint(the_geom))),100)
FROM
    mytable
Run Code Online (Sandbox Code Playgroud)
  1. 如果您有以米/公里为单位的缓冲区以及纬度/经度数据,您可能需要先将多边形转换为适当的投影(我不知道您在哪里),然后再回到纬度/经度.
SELECT
    ST_Transform(ST_Buffer(ST_Transform(ST_Polygon(ST_AddPoint(the_geom,ST_StartPoint(the_geom)),4326),XXXX),100),4326)
FROM
    mytable
Run Code Online (Sandbox Code Playgroud)

我没有尝试过代码,但应该可以使用.