将Z值分配给PostGIS行的开始和结束


9

我的PostGIS数据库中有一个折线表,每个折线的开头和结尾都有一个具有反转级别的表。

我的目标是根据反转数据在表格中创建3D线。我知道我可以使用st_makeline重新创建在起点和终点带有3D点的线,但是我希望能够仅在起点和终点的Z值上运行更新。

可以做到这一点,还是重新创建线条更容易。

Answers:


2

-您可以使用ST_SetPoint(几何线串,基于零的整数位置,几何点)和ST_Translate()更新线串中的点。
-要获取第一个和最后一个点,请使用st_endpoint()和st_startpoint()。
-要获取最后一点的“索引”,请使用ST_NumPoints(the_geom)-1。
-第一点“索引”为0。

第一点是这样的:

  UPDATE table
  SET the_geom=
st_setpoint(the_geom,0,st_translate(st_firstpoint(the_geom),0,0,Z))  
   FROM ....
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.