การใช้ PostGIS ฉันมีจุด lat / lon และต้องการเพิ่มออฟเซ็ตตะวันออก / ตะวันตกและทิศเหนือ / ทิศใต้เป็นเมตรเพื่อให้ได้จุดใหม่ เป็นไปได้ไหม
การใช้ PostGIS ฉันมีจุด lat / lon และต้องการเพิ่มออฟเซ็ตตะวันออก / ตะวันตกและทิศเหนือ / ทิศใต้เป็นเมตรเพื่อให้ได้จุดใหม่ เป็นไปได้ไหม
คำตอบ:
คุณสามารถใช้ ST_Translate:
ฟังก์ชัน ST_Translate ใช้รูปทรงเรขาคณิตใด ๆ (linestring, multiline ฯลฯ ) ส่งคืนรูปทรงเรขาคณิตใหม่ที่เป็นรูปทรงเรขาคณิตดั้งเดิมที่ย้ายโดยเวกเตอร์ที่กำหนดโดย X, Y, Z โปรดทราบว่าหน่วยการวัดอยู่ในหน่วยของระบบอ้างอิงเชิงพื้นที่ของอาร์กิวเมนต์ทางเรขาคณิตเสมอ ST_Translate มีสองรูปแบบ ST_Translate (เรขาคณิต X, Y, Z) และ ST_Translate (เรขาคณิต, X, Y)
ที่มา: http://www.bostongis.com/postgis_translate.snippet
คุณจะต้องแปลงละติจูด / ลองจิจูดเป็นเมตรก่อน คุณสามารถใช้ ST_Transform เพื่อให้ได้สิ่งนี้:
ST_Transform - ส่งกลับเรขาคณิตใหม่ด้วยพิกัดที่เปลี่ยนเป็น SRID ที่อ้างอิงโดยพารามิเตอร์จำนวนเต็ม