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
Perhitungan Oracle mengembalikan 110,611186 km
Yang ada di situs Anda kembali 111,19 km jadi selisih 580 m . Perbedaan itu karena kalkulator online Anda menggunakan matematika sederhana dengan asumsi bola bumi, sedangkan Oracle menggunakan ellipsoidal yang tepat bentuk bumi (elipsoid WGS84).
Anda dapat melihat perbedaannya di https://www.fai.org/page/world -kalkulator-jarak Jika Anda memilih WGS84 model bumi (elipsoid WGS84) maka Anda mendapatkan hasil yang sama seperti Oracle (110.611186562098). Jika Anda mengubahnya menjadi FAI Sphere maka Anda mendapatkan 111.19492643325476, sama dengan komparator Anda.
Jarak yang benar adalah 110,611 km. Penting tidaknya menghitung dengan jarak 580 m tergantung pada aplikasi Anda. Jika Anda mengukur jarak pendek (seperti satu km atau kurang), kesalahannya dapat diabaikan. Tapi untuk jarak jauh itu bisa signifikan. Ini berarti kehilangan target sejauh 1/2 km!
Itu menunjukkan pentingnya menggunakan model bumi yang benar untuk perhitungan tersebut.
EDIT: Dan representasi Oracle (dan hampir semua alat GIS) adalah garis bujur, garis lintang . Jika Anda menukar angka, maka Anda akan mendapatkan hasil yang sangat berbeda.