兩個經(jīng)緯度算距離
兩個經(jīng)緯度算距離
class Earth
{
private const double EARTH_RADIUS = 6378.137;//地球半徑
private static double Rad(double d)
{
return d * Math.PI / 180.0;
}
public static double GetDistance(double lat1,double lng1,double lat2,double lng2)
{
double radLat1 = Rad(lat1);
double radLat2 = Rad(lat2);
double a = radLat1 - radLat2;
double b = Rad(lng1) - Rad(lng2);
double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2),2) +
Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Pow(Math.Sin(b / 2),2)));
s = s * EARTH_RADIUS;
s = Math.Round(s * 10000) / 10000;
return s;
}
}
用的這個算法,現(xiàn)在不知道精度到底如何?這個return的S是米還是千米.
我要算50米左右的距離.
class Earth
{
private const double EARTH_RADIUS = 6378.137;//地球半徑
private static double Rad(double d)
{
return d * Math.PI / 180.0;
}
public static double GetDistance(double lat1,double lng1,double lat2,double lng2)
{
double radLat1 = Rad(lat1);
double radLat2 = Rad(lat2);
double a = radLat1 - radLat2;
double b = Rad(lng1) - Rad(lng2);
double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2),2) +
Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Pow(Math.Sin(b / 2),2)));
s = s * EARTH_RADIUS;
s = Math.Round(s * 10000) / 10000;
return s;
}
}
用的這個算法,現(xiàn)在不知道精度到底如何?這個return的S是米還是千米.
我要算50米左右的距離.
數(shù)學(xué)人氣:855 ℃時間:2020-05-11 07:16:47
優(yōu)質(zhì)解答
EARTH_RADIUS是地球半徑 是常量,看它是米 還是千米.距離越近越好吧,應(yīng)該符合(你試試)private const double EARTH_RADIUS = 6378.137;//地球半徑這個半徑應(yīng)該是千米,如果我小數(shù)點向右移3位變成米,還能算出來么?可以的 就通過這算我又移了小數(shù)點,確實是米,原來算的是千米,我問了一個人,人家說這個算法有問題,不嚴(yán)謹(jǐn),你知道哪里有問題么?那人沒說就下線了。就是把曲線看做直線了要多準(zhǔn)啊這樣 應(yīng)該滿足要求了。他的意思肯能想要這兩個點的平面坐標(biāo)然后再算把需要測量兩個點間的距離,然后跟50米去做比對,看大于小于,我用google earth的算距離工具算了下,誤差大概0.3%左右,應(yīng)該可以接受。是的 但是理論是不行 《大地坐標(biāo)系與大地基準(zhǔn)》,當(dāng)長距離計算時,用大地線的概念(兩點之間的最短距離,這個弧長很復(fù)雜) 你看看吧里面也有解法
我來回答
類似推薦
- 已知兩個地點的經(jīng)緯度,算距離
- 經(jīng)緯度計算兩點之間距離
- 如何根據(jù)兩個地點的經(jīng)緯度坐標(biāo)計算兩地之間的距離
- 經(jīng)緯度如何計算距離
- 怎么計算兩個經(jīng)緯度之間的距離.
- 14和8的公倍數(shù)有
- Si elle n'est pas insister - nous jusqu'à la fin.這翻譯成中文什么意思?謝謝!
- 按例子將字組成詞,再將字拆開組成成語
- 冷組什么詞(常用的)
- 鄭振鐸 《貓》中的 體會下面語句的情感,并分析.1.自此,我家好久不養(yǎng)貓 2.自此,我家永不養(yǎng)貓
- 小明用一個動滑輪將重600N的貨物勻速提高2m,如果不計動滑輪重及摩擦,小明所用的拉力大小是_N,實際上小明所用的拉力是375N,則機(jī)械效率是_.
- 身高1.6米的人以1米每秒的速度沿直線向路燈下走去,某一時刻,人影長1.8米,經(jīng)2秒,影長1.3米,路燈的高度是
猜你喜歡
- 1用一個滑輪組在6s內(nèi)把90N的重物勻速提升4m,在繩的自由段端所加拉力為50N,自由段端通過距離為12m.有用功為____J,滑輪組的機(jī)械效率為____,拉力做功的功率為_____W.
- 2英語翻譯
- 3用方磚鋪地,每塊磚邊長0.5米,需要768塊.若改用每塊邊長0.4米的磚,需要多少塊?
- 4改病句這句話有什么錯
- 5高手幫我看看這幾句有沒有什么語法錯誤和用詞不當(dāng)?shù)腻e誤!
- 6如圖在三角形abc中e是邊ac上的中點,且de平行bc,ef平行ab求證三角形ade全等于三角形efc
- 7什么情況下dollar加s,為什麼.那什麼情況下dollar又不用加s?
- 8求初中美文摘抄
- 9English is a language ______ in many countries.A.speaking B.spoken
- 10西歐封建社會的政治制度極其形成原因
- 11文以貫道同文以載道有什么區(qū)別?
- 121 (has) a party . 50. We are now (live) in China