กำหนดค่า Z เพื่อเริ่มต้นและสิ้นสุดของบรรทัด PostGIS


9

ฉันมีตารางเส้นในฐานข้อมูล PostGIS ของฉันและตารางที่มีระดับการสลับสำหรับการเริ่มต้นและสิ้นสุดของแต่ละบรรทัด

เป้าหมายของฉันคือการสร้างการสร้างเส้น 3 มิติในตารางของฉันจากข้อมูลกลับของฉัน ฉันรู้ว่าฉันสามารถใช้ st_makeline เพื่อสร้างบรรทัดใหม่ด้วยจุดสามมิติที่จุดเริ่มต้นและสิ้นสุด แต่ฉันหวังว่าจะสามารถเรียกใช้การอัปเดตได้โดยใช้ค่า Z สำหรับการเริ่มต้นและสิ้นสุด

สิ่งนี้สามารถทำได้หรือง่ายกว่าที่จะสร้างเส้นใหม่

คำตอบ:


2

- คุณสามารถอัปเดตจุดใน linestring ด้วย ST_SetPoint (เรขาคณิต linestring, zerobasedposition จำนวนเต็ม, จุดเรขาคณิต) และ ST_Translate ()
- หากต้องการจุดแรกและสุดท้ายให้ใช้ st_endpoint () และ st_startpoint ()
หากต้องการรับ "ดัชนี" ของจุดสุดท้ายให้ใช้ ST_NumPoints (the_geom) -1
- จุดแรก "ดัชนี" คือ 0

Somethng เช่นนั้นสำหรับจุดแรก:

  UPDATE table
  SET the_geom=
st_setpoint(the_geom,0,st_translate(st_firstpoint(the_geom),0,0,Z))  
   FROM ....
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.