sinoly

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            29 隨筆 :: 76 文章 :: 189 評論 :: 0 Trackbacks

          ??????? 研究了一下Google Map上的根據經緯度求地球表面兩點間距離的實現,?用java實現了一把,對我國境內的Beijing54,?Xian80,WGS84三種坐標系的空間距離計算感覺這個實現是比較準確的。當然,這里只是個人的感覺而已。。。可能我還沒有遇到那種對精度要求非常嚴格的地方,或許,本身我這個方式就是錯誤的。。。呵呵。。。這里只是作個記號先。。。各位達人多多指教

          package com.geotools.test;

          /**
          ?*
          ?* CopyRight (C)??? All rights reserved.<p>
          ?*
          ?* WuHan Inpoint Information Technology Development,Inc.<p>
          ?*
          ?* Author sinoly<p> Project Name: PostGeo
          ?*
          ?* @version 1.0??? 2006-11-13
          ?*
          ?* <p>Base on : JDK1.5<p>
          ?*
          ?*/

          public class GeoUtils {
          ??? public enum GaussSphere{
          ??????? Beijing54,
          ??????? Xian80,
          ??????? WGS84,
          ??? }
          ??? private static double Rad(double d){
          ??????? return d * Math.PI / 180.0;
          ??? }
          ?public double DistanceOfTwoPoints(double lng1,double lat1,double lng2,double lat2,
          ???GaussSphere gs){
          ??????? 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 * (gs == GaussSphere.WGS84 ? 6378137.0 : (gs == GaussSphere.Xian80 ? 6378140.0 : 6378245.0));
          ??????? s = Math.round(s * 10000) / 10000;
          ??????? return s;
          ?}
          }



          posted on 2007-01-22 20:38 sinoly 閱讀(12394) 評論(8)  編輯  收藏 所屬分類: GIS

          評論

          # re: 根據經緯度求兩點間距離實現源碼(java) 2008-05-22 08:12 lang
          你好:
          我在項目里邊使用了你的這個類,我在代碼的頭部寫明是來源你這里的。
          和您說明一下。
          有問題的話,可以通過 lanfanss@126.com聯系我!

          感謝您提供這個類!  回復  更多評論
            

          # re: 根據經緯度求兩點間距離實現源碼(java) 2009-12-02 10:37 cara
          我在實驗中用了你的類,謝謝哦!  回復  更多評論
            

          # re: 根據經緯度求兩點間距離實現源碼(java) 2009-12-27 00:28 Mr.ming
          感謝提供 我作業裏引用了 在此說聲謝謝  回復  更多評論
            

          # re: 根據經緯度求兩點間距離實現源碼(java) 2011-06-02 18:22 麥兜兜
          不是很準啊 實際1.1km 算出來只有304m  回復  更多評論
            

          # re: 根據經緯度求兩點間距離實現源碼(java) 2012-04-02 17:38 參考文獻
          參考了~~  回復  更多評論
            

          # re: 根據經緯度求兩點間距離實現源碼(java) 2012-04-02 17:38 參考文獻
          真的么@麥兜兜
            回復  更多評論
            

          # re: 根據經緯度求兩點間距離實現源碼(java) 2012-08-17 15:24 大雁飛飛飛飛
          這個代碼真好使,大牛V5  回復  更多評論
            

          # re: 根據經緯度求兩點間距離實現源碼(java) 2012-12-01 16:35 林銳強
          樓主,你的類被我用啦,謝謝你  回復  更多評論
            

          主站蜘蛛池模板: 大姚县| 东海县| 修武县| 泾川县| 西和县| 山东省| 新津县| 绥化市| 通河县| 湄潭县| 万宁市| 边坝县| 绥阳县| 安化县| 淳安县| 抚顺县| 鄂州市| 济南市| 兴城市| 河西区| 赤水市| 济宁市| 瓦房店市| 运城市| 左贡县| 明光市| 贡山| 炉霍县| 石景山区| 基隆市| 芦溪县| 元谋县| 天镇县| 宁南县| 清徐县| 盖州市| 长丰县| 邵武市| 古田县| 滁州市| 政和县|