Asigne el valor Z al inicio y al final de la línea PostGIS


9

Tengo una tabla de líneas en mi base de datos PostGIS y una tabla con niveles invertidos para el inicio y el final de cada línea.

Mi objetivo es crear crear líneas 3D en mi tabla, a partir de mis datos invertidos. Sé que puedo usar st_makeline para recrear la línea con un punto 3D al inicio y al final, pero esperaba poder ejecutar una actualización solo en el valor Z para el inicio y el final.

¿Se puede hacer esto o es más fácil recrear la línea?

Respuestas:


2

-Puede actualizar un punto en una cadena lineal con ST_SetPoint (cadena lineal de geometría, posición entera de base cero, punto de geometría) y ST_Translate ().
-Para obtener el primer y último punto use st_endpoint () y st_startpoint ().
-Para obtener el "índice" del último punto, use ST_NumPoints (the_geom) -1.
-El primer punto "índice" es 0.

Algo así para el primer punto:

  UPDATE table
  SET the_geom=
st_setpoint(the_geom,0,st_translate(st_firstpoint(the_geom),0,0,Z))  
   FROM ....
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.