Przypisz wartość Z do początku i końca linii PostGIS

9

Mam tabelę wierszy w mojej bazie danych PostGIS i tabelę z poziomami odwrócenia na początku i na końcu każdej linii.

Moim celem jest tworzenie linii 3D w mojej tabeli z moich danych odwróconych. Wiem, że mogę użyć st_makeline do odtworzenia linii z punktem 3D na początku i na końcu, ale miałem nadzieję, że będę w stanie uruchomić aktualizację tylko wartości Z na początku i na końcu.

Można to zrobić, czy łatwiej jest po prostu odtworzyć linię.

Nathan W.
źródło

Odpowiedzi:

2

-Można zaktualizować punkt w linii za pomocą ST_SetPoint (linia geometryczna, pozycja całkowita zerowa, punkt geometrii) i ST_Translate ().
-Aby uzyskać pierwszy i ostatni punkt, użyj st_endpoint () i st_startpoint ().
-Aby uzyskać „indeks” ostatniego punktu, użyj ST_NumPoints (the_geom) -1.
-Pierwszy punkt „indeksu” to 0.

Coś takiego w pierwszym punkcie:

  UPDATE table
  SET the_geom=
st_setpoint(the_geom,0,st_translate(st_firstpoint(the_geom),0,0,Z))  
   FROM ....
Pablo
źródło