Призначте значення Z для початку та закінчення рядка PostGIS


9

У моїй базі даних PostGIS є таблиця рядків та таблиця з рівнями інвертування для початку та кінця кожного рядка.

Моя мета - створити в моїй таблиці створення 3D-рядків із моїх інвертованих даних. Я знаю, що можу використовувати st_makeline для відтворення лінії з 3D-точкою на початку та в кінці, але я сподівався мати можливість запустити оновлення лише на значення 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 ....
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.