sinoly

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

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

          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: 根據(jù)經(jīng)緯度求兩點間距離實現(xiàn)源碼(java) 2008-05-22 08:12 lang
          你好:
          我在項目里邊使用了你的這個類,我在代碼的頭部寫明是來源你這里的。
          和您說明一下。
          有問題的話,可以通過 lanfanss@126.com聯(lián)系我!

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

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

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

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

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

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

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

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

          主站蜘蛛池模板: 姜堰市| 渝北区| 辽中县| 都安| 荃湾区| 望都县| 天柱县| 泸定县| 平山县| 临夏县| 福州市| 兴国县| 天柱县| 神木县| 宁武县| 北安市| 永新县| 射阳县| 监利县| 弥渡县| 丹寨县| 富宁县| 广南县| 信阳市| 临邑县| 文成县| 司法| 青龙| 马尔康县| 东安县| 上虞市| 资中县| 兴山县| 西盟| 嘉鱼县| 改则县| 山西省| 莲花县| 平乐县| 油尖旺区| 兰溪市|