Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các công thức để tính toán tiệm cận địa lý

Định luật Cosin và Công thức Haversine sẽ cho kết quả giống hệt nhau giả sử một cỗ máy có độ chính xác vô hạn. Công thức Haversine mạnh hơn đối với lỗi dấu phẩy động. Tuy nhiên, máy móc ngày nay có độ chính xác gấp đôi thứ tự của 15 con số quan trọng và định luật cosin có thể phù hợp với bạn. Cả hai công thức này đều giả định trái đất hình cầu, trong khi giải pháp lặp lại của Vicenty (chính xác nhất) giả định trái đất hình elip (trên thực tế trái đất thậm chí không phải là hình elip - nó là một geoid). Một số tài liệu tham khảo: http://www.movable-type. co.uk/scripts/gis-faq-5.1.html

Nó trở nên tốt hơn:lưu ý vĩ độ được sử dụng trong định luật cosin cũng như Haversine là vĩ độ địa tâm, khác với vĩ độ trắc địa. Đối với một hình cầu, hai hình cầu này giống nhau.

Cái nào nhanh nhất để tính toán?

Theo thứ tự từ nhanh nhất đến chậm nhất là:law of cosines (5 trig. Call) -> hasrsine (liên quan đến sqrt) -> Vicenty (phải giải điều này lặp đi lặp lại trong vòng lặp for)

Cái nào chính xác nhất?

Rất nhiều.

Cái nào tốt nhất khi cân nhắc cả tốc độ và độ chính xác?

Nếu miền vấn đề của bạn sao cho khoảng cách mà bạn đang cố gắng tính toán, trái đất có thể được coi là phẳng, thì bạn có thể tính ra (tôi sẽ không đưa ra chi tiết) một công thức có dạng x =kx * sự khác biệt về kinh độ , y =ky * chênh lệch về vĩ độ. Sau đó, khoảng cách =sqrt (dx dx + dy dy). Nếu miền vấn đề của bạn có thể được giải quyết bằng bình phương khoảng cách, thì bạn sẽ không phải lấy sqrt và công thức này sẽ nhanh nhất bạn có thể nhận được. Nó có một lợi thế bổ sung là bạn có thể tính toán vectơ khoảng cách - x là khoảng cách theo hướng đông và y là khoảng cách theo hướng bắc. Ngược lại, hãy thử nghiệm với 3 và chọn những gì phù hợp nhất trong tình huống của bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đặt lại mật khẩu ROOT trong MySQL 5.6

  2. Cách tối ưu hóa cơ sở dữ liệu trang web

  3. Kết nối với MySQL từ xa

  4. Cài đặt Máy chủ Web trong Windows XP với Apache2, PHP5 và MySQL4 - Phần 4

  5. 10 lý do để gắn bó với MySQL