關(guān)于經(jīng)緯度十進(jìn)制表示法
對(duì)于兩個(gè)點(diǎn)赂弓,在緯度相等的情況下:
經(jīng)度每隔0.00001度绑榴,距離相差約1米;每隔0.0001度盈魁,距離相差約10米彭沼;每隔0.001度,距離相差約100米备埃;每隔0.01度,距離相差約1000米;每隔0.1度拐纱,距離相差約10000米。
對(duì)于兩個(gè)點(diǎn)敦冬,在經(jīng)度相等的情況下:
緯度每隔0.00001度,距離相差約1.1米唯沮;每隔0.0001度脖旱,距離相差約11米;每隔0.001度介蛉,距離相差約111米萌庆;每隔0.01度,距離相差約1113米币旧;每隔0.1度践险,距離相差約11132米
根據(jù)地球上任意兩點(diǎn)的經(jīng)緯度計(jì)算兩點(diǎn)間的距離
地球是一個(gè)近乎標(biāo)準(zhǔn)的橢球體,它的赤道半徑為6378.140千米吹菱,極半徑為 6356.755千米巍虫,平均半徑6371.004千米。如果我們假設(shè)地球是一個(gè)完美的球體鳍刷,那么它的半徑就是地球的平均半徑占遥,記為R。如果以0度經(jīng)線為基 準(zhǔn)输瓜,那么根據(jù)地球表面任意兩點(diǎn)的經(jīng)緯度就可以計(jì)算出這兩點(diǎn)間的地表距離(這里忽略地球表面地形對(duì)計(jì)算帶來(lái)的誤差瓦胎,僅僅是理論上的估算值)。設(shè)第一點(diǎn)A的經(jīng) 緯度為(LonA, LatA)尤揣,第二點(diǎn)B的經(jīng)緯度為(LonB, LatB)搔啊,按照0度經(jīng)線的基準(zhǔn),東經(jīng)取經(jīng)度的正值(Longitude)芹缔,西經(jīng)取經(jīng)度負(fù)值(-Longitude)坯癣,北緯取90-緯度值(90- Latitude)瓶盛,南緯取90 緯度值(90 Latitude)最欠,則經(jīng)過(guò)上述處理過(guò)后的兩點(diǎn)被計(jì)為(MLonA, MLatA)和(MLonB, MLatB)。那么根據(jù)三角推導(dǎo)惩猫,可以得到計(jì)算兩點(diǎn)距離的如下公式:
C = sin(MLatA)sin(MLatB)cos(MLonA-MLonB) cos(MLatA)*cos(MLatB)
Distance = RArccos(C)Pi/180
這里芝硬,R和Distance單位是相同,如果是采用6371.004千米作為半徑轧房,那么Distance就是千米為單位拌阴,如果要使用其他單位,比如mile奶镶,還需要做單位換算迟赃,1千米=0.621371192mile
如果僅對(duì)經(jīng)度作正負(fù)的處理陪拘,而不對(duì)緯度作90-Latitude(假設(shè)都是北半球,南半球只有澳洲具有應(yīng)用意義)的處理纤壁,那么公式將是:
C = sin(LatA)sin(LatB) cos(LatA)cos(LatB)*cos(MLonA-MLonB)
Distance = RArccos(C)Pi/180
以上通過(guò)簡(jiǎn)單的三角變換就可以推出左刽。
如果三角函數(shù)的輸入和輸出都采用弧度值,那么公式還可以寫作:
C = sin(LatAPi/180)sin(LatBPi/180) cos(LatAPi/180)cos(LatBPi/180)cos((MLonA-MLonB)Pi/180)
Distance = RArccos(C)Pi/180
也就是:
C = sin(LatA/57.2958)sin(LatB/57.2958) cos(LatA/57.2958)cos(LatB/57.2958)*cos((MLonA-MLonB)/57.2958)
Distance = RArccos(C) = 6371.004Arccos(C) kilometer = 0.6213711926371.004Arccos(C) mile = 3958.758349716768*Arccos(C) mile