Lưu ý: Câu hỏi này đã được xuất bản tại Stackoverflow lúc đầu .
Tôi có một bảng hình học points_tablevới SRID 4326và một vài điểm trong đó.
Tôi cần tìm khoảng cách giữa một cặp điểm (tính năng) từ bảng này.
Tôi muốn chọn một điểm với id = Xvà một điểm khác với id = Yvà sau đó tìm khoảng cách giữa chúng với ST_Distancehàm.
Tôi biết cách truy vấn hai điểm này từ cơ sở dữ liệu:
select * from points_table where id = X or id = Y;
Nhưng truy vấn này trả về một kết quả mà tôi không biết làm thế nào để chuyển đến ST_Distance, vì ST_Distancecó 2 tham số.
Tôi đã thử Select ST_Distance(select the_geom from points_table where id = X or id = Y);
Nhưng nó rõ ràng là sai.
Làm cách nào để tìm khoảng cách giữa hai điểm hình học (tính năng) từ một bảng?
PS Tất cả các ví dụ tôi đã tìm thấy cho đến nay cho thấy việc sử dụng ST_Distance với các điểm được mã hóa thành các đối số của hàm ST_Distance. Tôi chưa tìm thấy một ví dụ, trong đó ST_Distance được sử dụng để tính khoảng cách giữa hai điểm từ cùng một bảng.