隨筆-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 閱讀(3048) 評論(1)  編輯  收藏 所屬分類: DotNet

          評論:
          # re: 用于GPS換算世界上任意兩點間距離C#實現 2013-01-04 13:48 | wangjunwei
          試了下 不靠譜啊!  回復  更多評論
            
          主站蜘蛛池模板: 张家界市| 景东| 临桂县| 门头沟区| 县级市| 桃源县| 洛川县| 泗阳县| 从江县| 丁青县| 塘沽区| 嘉兴市| 新乡县| 喜德县| 准格尔旗| 淮滨县| 菏泽市| 揭东县| 南澳县| 舒城县| 龙南县| 阿鲁科尔沁旗| 海原县| 黑水县| 商水县| 阳西县| 桓仁| 余庆县| 化德县| 南江县| 玉环县| 泸定县| 磐石市| 永仁县| 任丘市| 福建省| 道孚县| 贡觉县| 固原市| 昌吉市| 舒兰市|