select sdo_geom.sdo_distance(
sdo_geometry(2001, 4326, sdo_point_type(40.0, 10.0, null), null, null),
sdo_geometry(2001, 4326, sdo_point_type(40.0, 11.0, null), null, null),
0.01,
'unit=KM'
) as distance
from dual;
DISTANCE
----------
110.611186
Phép tính Oracle trả về 110,611186 km
Một trên trang web của bạn trả về 111,19 km vì vậy chênh lệch 580 m . Sự khác biệt đó là do máy tính trực tuyến của bạn sử dụng phép toán đơn giản với giả định là hình cầu Earth, trong khi Oracle sử dụng ellipsoidal thích hợp hình dạng của trái đất (hình elip WGS84).
Bạn có thể thấy sự khác biệt trên https://www.fai.org/page/world -distance-máy tính Nếu bạn chọn WGS84 mô hình trái đất (ellipsoid WGS84) thì bạn nhận được kết quả tương tự như Oracle (110.611186562098). Nếu bạn thay đổi nó thành FAI Sphere thì bạn nhận được 111.19492643325476, giống như trình so sánh của bạn.
Khoảng cách chính xác là 110,611 km. Việc tính toán nó với độ lệch 580 m có quan trọng hay không phụ thuộc vào ứng dụng của bạn. Nếu bạn đo khoảng cách ngắn (như km hoặc ít hơn), sai số là không đáng kể. Nhưng đối với đường dài, nó có thể là đáng kể. Ở đây, điều đó có nghĩa là thiếu mục tiêu 1/2 km!
Nó cho thấy tầm quan trọng của việc sử dụng mô hình trái đất chính xác cho những tính toán đó.
CHỈNH SỬA: Và đại diện của Oracle (và hầu như tất cả các công cụ GIS) là kinh độ, vĩ độ . Nếu bạn hoán đổi các con số, sau đó bạn sẽ nhận được kết quả rất khác nhau.