精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 兩個經(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米左右的距離.
    數(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ù)雜) 你看看吧里面也有解法
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版