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 閱讀(12396) 評論(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 林銳強
          樓主,你的類被我用啦,謝謝你  回復  更多評論
            

          主站蜘蛛池模板: 虞城县| 通山县| 呼伦贝尔市| 南川市| 开平市| 安溪县| 靖州| 永平县| 泊头市| 平舆县| 个旧市| 沙坪坝区| 东阿县| 师宗县| 禄劝| 长海县| 鄂伦春自治旗| 昌都县| 新丰县| 扶绥县| 四会市| 微山县| 盘山县| 疏附县| 长沙县| 临安市| 汽车| 云梦县| 西宁市| 望谟县| 鄂托克旗| 若羌县| 通化市| 台前县| 阿克苏市| 沾化县| 巴塘县| 盐池县| 阿巴嘎旗| 南昌市| 寻乌县|