隨筆-348  評論-598  文章-0  trackbacks-0
          用于GPS換算世界上任意兩點間距離
                  /// <summary>
                  
          /// 計算地球上任意兩點距離
                  
          /// </summary>
                  
          /// <param name="long1"></param>
                  
          /// <param name="lat1"></param>
                  
          /// <param name="long2"></param>
                  
          /// <param name="lat2"></param>
                  
          /// <returns>返回長度單位是米</returns>
                  private static double Distance(double long1, double lat1, double long2, double lat2)
                  {
                      
          double a, b, R;
                      R 
          = 6378137//地球半徑
                      lat1 = lat1 * Math.PI / 180.0;
                      lat2 
          = lat2 * Math.PI / 180.0;
                      a 
          = lat1 - lat2;
                      b 
          = (long1 - long2) * Math.PI / 180.0;
                      
          double d;
                      
          double sa2, sb2;
                      sa2 
          = Math.Sin(a / 2.0);
                      sb2 
          = Math.Sin(b / 2.0);
                      d 
          = 2 * R * Math.Asin(Math.Sqrt(sa2 * sa2 + Math.Cos(lat1) * Math.Cos(lat2) * sb2 * sb2));
                      
          return d;
                  }


          ---------------------------------------------------------
          專注移動開發

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2010-05-01 14:16 TiGERTiAN 閱讀(3056) 評論(1)  編輯  收藏 所屬分類: DotNet

          評論:
          # re: 用于GPS換算世界上任意兩點間距離C#實現 2013-01-04 13:48 | wangjunwei
          試了下 不靠譜啊!  回復  更多評論
            
          主站蜘蛛池模板: 板桥市| 顺平县| 安仁县| 西贡区| 阳原县| 都江堰市| 北安市| 错那县| 庆城县| 长海县| 祁阳县| 青神县| 镶黄旗| 阳泉市| 九江市| 靖宇县| 镇赉县| 鄂托克旗| 桐庐县| 抚顺市| 长阳| 馆陶县| 乌鲁木齐市| 大宁县| 布尔津县| 海淀区| 柳州市| 安徽省| 类乌齐县| 米泉市| 徐闻县| 顺昌县| 宕昌县| 荔浦县| 教育| 宣恩县| 英超| 察雅县| 乌审旗| 福建省| 新津县|