Assegna il valore Z per l'inizio e la fine della riga PostGIS


9

Ho una tabella delle linee nel mio database PostGIS e una tabella con livelli invertiti per l'inizio e la fine di ogni riga.

Il mio obiettivo è creare linee 3D nella mia tabella, dai miei dati invertiti. So di poter usare st_makeline per ricreare la linea con un punto 3D all'inizio e alla fine, ma speravo di poter eseguire un aggiornamento solo sul valore Z per l'inizio e la fine.

Questo può essere fatto o è più semplice ricreare la linea.

Risposte:


2

-È possibile aggiornare un punto in un linestring con ST_SetPoint (linestring della geometria, posizione zero a numero intero, punto della geometria) e ST_Translate ().
-Per ottenere il primo e l'ultimo punto usa st_endpoint () e st_startpoint ().
-Per ottenere l '"indice" dell'ultimo punto usa ST_NumPoints (the_geom) -1.
-Il primo "indice" punto è 0.

Qualcosa del genere per il primo punto:

  UPDATE table
  SET the_geom=
st_setpoint(the_geom,0,st_translate(st_firstpoint(the_geom),0,0,Z))  
   FROM ....
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.