หมายเหตุ: คำถามนี้ถูกตีพิมพ์ใน Stackoverflow ที่แรก
ฉันมีตารางเรขาคณิตpoints_table
ด้วยSRID 4326
และมีจุดอยู่สองสามจุด
ฉันต้องการค้นหาระยะทางระหว่างคู่ของจุด (คุณสมบัติ) จากตารางนี้
ฉันต้องการเลือกจุดหนึ่งด้วยid = X
และอีกจุดด้วยid = Y
แล้วหาระยะห่างระหว่างพวกเขาด้วยST_Distance
ฟังก์ชั่น
ฉันรู้วิธีค้นหาทั้งสองจุดจากฐานข้อมูล:
select * from points_table where id = X or id = Y;
แต่เคียวรีนี้ส่งคืนผลลัพธ์ซึ่งฉันไม่รู้ว่าจะผ่านไปได้ST_Distance
อย่างไรเนื่องจากST_Distance
รับพารามิเตอร์ 2 ตัว
ฉันเหนื่อย Select ST_Distance(select the_geom from points_table where id = X or id = Y);
แต่เห็นได้ชัดว่ามันผิด
ฉันจะหาระยะห่างระหว่างจุดเรขาคณิตสองจุด (คุณสมบัติ) จากตารางได้อย่างไร
ป.ล. ตัวอย่างทั้งหมดที่ฉันได้ค้นพบแสดงให้เห็นถึงการใช้งาน ST_Distance ที่มีคะแนนที่เข้ารหัสลงในอาร์กิวเมนต์ของฟังก์ชัน ST_Distance ฉันไม่พบตัวอย่างที่ ST_Distance ใช้ในการคำนวณระยะทางระหว่างจุดสองจุดจากตารางเดียวกัน