Присвойте значение Z началу и концу строки PostGIS

9

У меня есть таблица строк в моей базе данных PostGIS и таблица уровней инверсии для начала и конца каждой строки.

Моя цель - создать трехмерные линии в моей таблице из моих инвертированных данных. Я знаю, что могу использовать st_makeline для воссоздания линии с трехмерной точкой в ​​начале и в конце, но я надеялся, что смогу запустить обновление только по значению Z для начала и конца.

Можно ли это сделать или проще воссоздать линию.

Натан У
источник

Ответы:

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 ....
Pablo
источник