Tìm khoảng cách giữa hai tọa độ trong ellipsoid?


18

Tôi có hai bộ vĩ độ và kinh độ.

Làm cách nào để tìm khoảng cách giữa hai vị trí nếu tôi cho rằng trái đất là một hình elip hoàn hảo (với độ lệch tâm 0,0167)?

Câu trả lời:


16

1
Các công thức trên trang đó dường như bỏ qua độ lệch tâm. Họ cho rằng trái đất là một hình cầu chứ không phải hình elip.
Jon Bringhurst

Trước đây tôi luôn sử dụng một thư viện đã biết khoảng cách giữa một số điểm đặt lat lat sau đó thực hiện tính trung bình để tính khoảng cách của bất kỳ điểm nào chưa biết. Tôi sẽ hỏi một vài người về điều này.
Wallbasher

Ah, liên kết thứ hai dường như có công thức đúng. Cảm ơn!
Jon Bringhurst

1
Cảm ơn câu trả lời của bạn @Wallbasher. Tuy nhiên, sẽ là tốt nhất nếu câu trả lời có thể tự đứng vững. Nó sẽ rất hữu ích nếu bạn cũng đăng công thức có liên quan với câu trả lời của bạn.
RK

7

Vì vậy, bạn biết hai vĩ độ và kinh độ của mình, hãy nói

Bạn có thể tính toán tọa độ cartesian cho mỗi:

xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));

xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));

Và sau đó tính khoảng cách vòng tròn lớn giữa hai người bằng cách sử dụng:

MeanRadius * Acos(xa * xb + ya * yb + za * zb);

Phương pháp đơn giản này cho phép trước tính toán của x, y và các giá trị z, có thể được lưu trữ bên cạnh trong một cơ sở dữ liệu cho hiệu quả "điểm trong vòng x dặm" ​​truy vấn.

Tất nhiên, điều này giả định một hình cầu hoàn hảo và Trái đất thậm chí không phải là một elipsoid hoàn hảo, vì vậy độ chính xác sẽ chỉ còn vài mét.


1
Tôi cũng sẽ chỉ ra "điều hoàn hảo". Bạn nên lưu ý rằng phương pháp này sẽ cung cấp cho bạn mức độ chính xác khác nhau tùy thuộc vào vị trí của bạn trên toàn cầu.
TroutSlayer

@TrotuSlayer nó thường đủ tốt cho hầu hết các ứng dụng và luôn có sự đánh đổi giữa tốc độ và độ chính xác. Nếu bạn cần phải chính xác hơn, đã đến lúc đưa bánh xe đẩy ra ngoài, hoặc dùng đến các giả định Trái đất phẳng cho khu vực nhất định của bạn và khoảng cách 2D là đủ.
Rowland Shaw

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.