Với mục đích so sánh độ chính xác và đánh giá hiệu năng của hai thuật toán Haversine và Vincenty, ta sử dụng lại tọa độ các điểm trong truy vấn tại mục 1.2 Chương 4 – (đã dùng để tính toán khoảng cách trong công thức Haversine) đểứng dụng tính với công thức Vincenty.
Ta có bảng thống kê kết quả của phép tính khoảng cách theo tọa độđịa lý theo công thức Haversine và Vincenty như dưới đây:
Với tọa độ vị trí hiện tại ghi nhận là - C (200 50’ 30”S; 0030 09’ 21”W) Một số nhà hàng tìm thấy trên bản đồ có vị trí lần lượt là:
R1 (200 55’ 00”S; 0030 01’ 30”W)
R2 (210 00’ 00”S; 0020 59’ 10”W)
R3 (200 55’ 00”S; 0020 59’ 20”W)
Khoảng cách d = CRi tương ứng với từng thuật toán như sau:
R1 R2 R3
Kinh độ 200 55’ 00”S 210 00’ 00”S 200 55’ 00”S
Vĩ độ 0030 01’ 30”W 0020 59’ 10”W 0020 59’ 20”W
Dhaversine 15,95 km 24,91 km 19,25 km
DVincenty 15,946 km 24,879 km 19,253km
Hình 32: Khoảng cách tính theo thuật toán Haversine và Vincenty
Nhận xét:
Xét về độ chính xác kết quả: Sai số về kết quả tính toán khoảng cách giữa hai thuật toán là 0,35%, tức là chênh lệch vị trí khi dùng hai phương
pháp này có thể lên đến 3,5km nếu khoảng cách tính toán là trên 950km. Với khoảng cách nhỏ, hai thuật toán thể hiện sai số không chênh lệch nhiều so với thực tế), tuy nhiên thuật toán Vincenty cho kết quả với độ chính xác cao hơn, điều này sẽ là lợi thế khá rõ rệt với kết quả là những khoảng cách lớn (hàng nghìn hoặc hàng vạn km). Trong trường hợp với phương tiện đường bộ như ôto hoặc xe máy, việc tìm kiếm vị trí cần xác định trong khoảng bán kính sai số vài km với thuật toán Haversine thực sự là vấn đề lớn.
Xét theo độ phức tạp tính toán: Rõ ràng, để có kết quả tính toán chính xác đến từng mm, thuật toán Vincenty phải triển khai khá phức tạp, qua nhiều phép toán trung gian và các vòng lặp. Do đó, nếu so sánh theo tính đơn giản khi cài đặt, tốc độ truy xuất dữ liệu và thời gian trả lời truy vấn thì thuật toán Haversine lại là lựa chọn tốt hơn. Thuật toán Haversine sử dụng ít phép tính cũng như các toán tử vào ra hơn thuật toán Vincenty rất nhiều.
Ö Như vậy, hai thuật toán đề cập trên đây đều có những ưu điểm và nhược điểm nhất định, tùy vào mục đích sử dụng và yêu cầu đối vớp phép toán mà có thể áp dụng loại thuật toán phù hợp.
Chú thích
[1] Quá trình điều hướng: Là tập hợp các học thuyết trên lý luận cũng như các ứng dụng thực tiễn sử dụng trong tiến trình lập kế hoạch, theo dõi và điều khiển các phương tiện lớn trong ngành hàng hải, hàng không di chuyển trên bề mặt trái đất. [2] Great-circle distance: (Theo wikipedia) Là khoảng cách ngắn nhất giữa hai điểm bất kì trên bề mặt khối cầu tính dọc theo một hướng đi trên bề mặt khối cầu (nghĩa là
đo đường đi vòng cung trên bề mặt trái ngược với khoảng cách tính theo đường thẳng nối hai điểm đó qua bên trong khối cầu).
Tham khảo thêm tại: http://en.wikipedia.org/wiki/Great-circle_distance
[3] Spherical strigonometry - lượng giác cầu: Là một thành phần trong nghành hình
học khối cầu ứng dụng trong việc xử lý các đa giác – đặc biệt với tam giác - trên bề
quan trọng dùng tính toán trong ngành thiên văn học, bề mặt trái đất, điều hướng quỹ
đạo và không gian)