九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
根據(jù)兩點(diǎn)經(jīng)緯度計(jì)算距離

經(jīng)緯度簡(jiǎn)介

這些經(jīng)緯線(xiàn)是怎樣定出來(lái)的呢?地球是在不停地繞地軸旋轉(zhuǎn)(地軸是一根通過(guò)地球南北兩極和地球中心的
假想線(xiàn)),在地球中腰畫(huà)一個(gè)與地軸垂直的大圓圈,使圈上的每一點(diǎn)都和南北兩極的距離相等,這個(gè)圓圈
就叫作“赤道”。在赤道的南北兩邊,畫(huà)出許多和赤道平行的圓圈,就是“緯圈”;構(gòu)成這些圓圈的線(xiàn)段,
叫做緯線(xiàn)。我們把赤道定為緯度零度,向南向北各為90度,在赤道以南的叫南緯,在赤道以北的叫北緯。
北極就是北緯90度,南極就是南緯90度。緯度的高低也標(biāo)志著氣候的冷熱,如赤道和低緯度地地區(qū)無(wú)冬,
兩極和高緯度地區(qū)無(wú)夏,中緯度地區(qū)四季分明。 
其次,從北極點(diǎn)到南極點(diǎn),可以畫(huà)出許多南北方向的與地球赤道垂直的大圓圈,這叫作“經(jīng)圈”;構(gòu)成這
些圓圈的線(xiàn)段,就叫經(jīng)線(xiàn)。公元1884平面坐標(biāo)圖年,國(guó)際上規(guī)定以通過(guò)英國(guó)倫敦近郊的格林尼治天文臺(tái)的
經(jīng)線(xiàn)作為計(jì)算經(jīng)度的起點(diǎn),即經(jīng)度零度零分零秒,也稱(chēng)“本初子午線(xiàn)”。在它東面的為東經(jīng),共180度;
在它西面的為西經(jīng),共180度。因?yàn)榈厍蚴菆A的,所以東經(jīng)180度和西經(jīng)180度的經(jīng)線(xiàn)是同一條經(jīng)線(xiàn)。各國(guó)
公定180度經(jīng)線(xiàn)為“國(guó)際日期變更線(xiàn)”。為了避免同一地區(qū)使用兩個(gè)不同的日期,國(guó)際日期變線(xiàn)在遇陸地時(shí)
略有偏離。 
  每一經(jīng)度和緯度還可以再細(xì)分為60分,每一分再分為60秒以及秒的小數(shù)。利用經(jīng)緯線(xiàn),我們就可以確定
地球上每一個(gè)地方的具體位置,并且把它在地圖或地球儀上表示出來(lái)。例如問(wèn)北京的經(jīng)緯度是多少?我們
很容易從地圖上查出來(lái)是東經(jīng)116度24分,北緯39度54分。在大海中航行的船只,只要把所在地的經(jīng)度測(cè)
出來(lái),就可以確定船在海洋中的位置和前進(jìn)方向。 緯度共有90度。赤道為0度,向兩極排列,圈子越小,
度數(shù)越大。
橫線(xiàn)是緯度,豎線(xiàn)是經(jīng)度。 
當(dāng)然可以計(jì)算,四元二次方程。 
經(jīng)度和緯度都是一種角度。經(jīng)度是個(gè)兩面角,是兩個(gè)經(jīng)線(xiàn)平面的夾角。因所有經(jīng)線(xiàn)都是一樣長(zhǎng),為了度量
經(jīng)度選取一個(gè)起點(diǎn)面,經(jīng)1884年國(guó)際會(huì)議協(xié)商,決定以通過(guò)英國(guó)倫敦近郊、泰晤士河南岸的格林尼治皇家
天文臺(tái)(舊址)的一臺(tái)主要子午儀十字絲的那條經(jīng)線(xiàn)為起始經(jīng)線(xiàn),稱(chēng)為本初子午線(xiàn)。本初子午線(xiàn)平面是起
點(diǎn)面,終點(diǎn)面是本地經(jīng)線(xiàn)平面。某一點(diǎn)的經(jīng)度,就是該點(diǎn)所在的經(jīng)線(xiàn)平面與本初子午線(xiàn)平面間的夾角。在
赤道上度量,自本初子午線(xiàn)平面作為起點(diǎn)面,分別往東往西度量,往東量值稱(chēng)為東經(jīng)度,往西量值稱(chēng)為西
經(jīng)度。由此可見(jiàn),一地的經(jīng)度是該地對(duì)于本初子午線(xiàn)的方向和角距離。本初子午線(xiàn)是0°經(jīng)度,東經(jīng)度的最
大值為180°,西經(jīng)度的最大值為180°,東、西經(jīng)180°經(jīng)線(xiàn)是同一根經(jīng)線(xiàn),因此不分東經(jīng)或西經(jīng),而統(tǒng)稱(chēng)
180°經(jīng)線(xiàn)。 
  緯度是個(gè)線(xiàn)面角。起點(diǎn)面是赤道平面,線(xiàn)是本地的地面法線(xiàn)。所謂法線(xiàn),即垂直于參考扁球體表面的線(xiàn)。
某地的緯度就是該地的法線(xiàn)與赤道平面之間的夾角。緯度在本地經(jīng)線(xiàn)上度量,由赤道向南、北度量,向北
量值稱(chēng)為北緯度,向南量值稱(chēng)為南緯度。由此可見(jiàn),一地的緯度是該地對(duì)于赤道的方向和角距離。赤道是
0°緯線(xiàn),北緯度的最大值為90°,即北極點(diǎn);南緯度的最大值為90°,即南極點(diǎn)。
經(jīng)緯度互換

度換算成度分秒

度(DDD):E 108.90593度    N 34.21630度
 如何將度(DDD):: 108.90593度換算成度分秒(DMS)東經(jīng)E 108度54分22.2秒?轉(zhuǎn)換方法是將108.90593整數(shù)位不變?nèi)?08(度),用0.90593*60=54.3558,取整數(shù)位54(分),0.3558*60=21.348再取整數(shù)位21(秒),故轉(zhuǎn)化為108度54分21秒.
同樣將度分秒(DMS):東經(jīng)E 108度54分22.2秒 換算成度(DDD)的方法如下:108度54分22.2秒=108+(54/60)+(22.2/3600)=108.90616度
因?yàn)橛?jì)算時(shí)小數(shù)位保留的原因,導(dǎo)致正反計(jì)算存在一定誤差,但誤差影響不是很大。1秒的誤差就是幾米的樣子。GPS車(chē)友可以用上述方法換算成自己需要的單位坐標(biāo)。


關(guān)于經(jīng)緯度十進(jìn)制表示法
對(duì)于兩個(gè)點(diǎn),在緯度相等的情況下:
經(jīng)度每隔0.00001度,距離相差約1米;每隔0.0001度,距離相差約10米;每隔0.001度,距離相差約100米;每隔0.01度,距離相差約1000米;每隔0.1度,距離相差約10000米。

對(duì)于兩個(gè)點(diǎn),在經(jīng)度相等的情況下:
緯度每隔0.00001度,距離相差約1.1米;每隔0.0001度,距離相差約11米;每隔0.001度,距離相差約111米;每隔0.01度,距離相差約1113米;每隔0.1度,距離相差約11132米。
 




根據(jù)地球上任意兩點(diǎn)的經(jīng)緯度計(jì)算兩點(diǎn)間的距離


方法1:由于地球是橢球體,這個(gè)太難算了,如果假設(shè)地球是球體,可以使用以下公式:設(shè)地球上某點(diǎn)的經(jīng)度為A,緯度為B, 則這點(diǎn)的空間坐標(biāo)是 x=cos(B)*cos(A) y=cos(B)*sin(A) z=sin(B) 設(shè)地球上兩點(diǎn)的空間坐標(biāo)分別為(x1,y1,z1),(x2,y2,z2) 則它們的夾角為 C=acos(x1*x2+y1*y2+z1*z2),C是角度 則兩地距離為 C/180*pi*R,其中R為地球平均半徑6371 誤差不超過(guò)1% 


地球是一個(gè)近乎標(biāo)準(zhǔn)的橢球體,它的赤道半徑為6378.140千米,極半徑為 6356.755千米,平均半徑6371.004千米。如果我們假設(shè)地球是一個(gè)完美的球體,那么它的半徑就是地球的平均半徑,記為R。如果以0度經(jīng)線(xiàn)為基 準(zhǔn),那么根據(jù)地球表面任意兩點(diǎn)的經(jīng)緯度就可以計(jì)算出這兩點(diǎn)間的地表距離(這里忽略地球表面地形對(duì)計(jì)算帶來(lái)的誤差,僅僅是理論上的估算值)。設(shè)第一點(diǎn)A的經(jīng) 緯度為(LonA, LatA),第二點(diǎn)B的經(jīng)緯度為(LonB, LatB),按照0度經(jīng)線(xiàn)的基準(zhǔn),東經(jīng)取經(jīng)度的正值(Longitude),西經(jīng)取經(jīng)度負(fù)值(-Longitude),北緯取90-緯度值(90- Latitude),南緯取90+緯度值(90+Latitude),則經(jīng)過(guò)上述處理過(guò)后的兩點(diǎn)被計(jì)為(MLonA, MLatA)和(MLonB, MLatB)。那么根據(jù)三角推導(dǎo),可以得到計(jì)算兩點(diǎn)距離的如下公式:

C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB)

Distance = R*Arccos(C)*Pi/180


這里,R和Distance單位是相同,如果是采用6371.004千米作為半徑,那么Distance就是千米為單位,如果要使用其他單位,比如mile,還需要做單位換算,1千米=0.621371192mile
如果僅對(duì)經(jīng)度作正負(fù)的處理,而不對(duì)緯度作90-Latitude(假設(shè)都是北半球,南半球只有澳洲具有應(yīng)用意義)的處理,那么公式將是:

C = sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(MLonA-MLonB)
Distance = R*Arccos(C)*Pi/180

以上通過(guò)簡(jiǎn)單的三角變換就可以推出。
如果三角函數(shù)的輸入和輸出都采用弧度值,那么公式還可以寫(xiě)作:

C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)
Distance = R*Arccos(C)*Pi/180
也就是:
C = sin(LatA/57.2958)*sin(LatB/57.2958) + cos(LatA/57.2958)*cos(LatB/57.2958)*cos((MLonA-MLonB)/57.2958)
Distance = R*Arccos(C) = 6371.004*Arccos(C) kilometer = 0.621371192*6371.004*Arccos(C) mile = 3958.758349716768*Arccos(C) mile
  1. <span style="font-size:14px;font-weight: normal;">  private static final  double EARTH_RADIUS = 6378137;//赤道半徑(單位m)  
  2.       
  3.     /** 
  4.      * 轉(zhuǎn)化為弧度(rad) 
  5.      * */  
  6.     private static double rad(double d)  
  7.     {  
  8.        return d * Math.PI / 180.0;  
  9.     }  
  10.       
  11.     /** 
  12.      * 基于余弦定理求兩經(jīng)緯度距離 
  13.      * @param lon1 第一點(diǎn)的精度 
  14.      * @param lat1 第一點(diǎn)的緯度 
  15.      * @param lon2 第二點(diǎn)的精度 
  16.      * @param lat3 第二點(diǎn)的緯度 
  17.      * @return 返回的距離,單位km 
  18.      * */  
  19.     public static double LantitudeLongitudeDist(double lon1, double lat1,double lon2, double lat2) {  
  20.         double radLat1 = rad(lat1);  
  21.         double radLat2 = rad(lat2);  
  22.   
  23.         double radLon1 = rad(lon1);  
  24.         double radLon2 = rad(lon2);  
  25.   
  26.         if (radLat1 < 0)  
  27.             radLat1 = Math.PI / 2 + Math.abs(radLat1);// south  
  28.         if (radLat1 > 0)  
  29.             radLat1 = Math.PI / 2 - Math.abs(radLat1);// north  
  30.         if (radLon1 < 0)  
  31.             radLon1 = Math.PI * 2 - Math.abs(radLon1);// west  
  32.         if (radLat2 < 0)  
  33.             radLat2 = Math.PI / 2 + Math.abs(radLat2);// south  
  34.         if (radLat2 > 0)  
  35.             radLat2 = Math.PI / 2 - Math.abs(radLat2);// north  
  36.         if (radLon2 < 0)  
  37.             radLon2 = Math.PI * 2 - Math.abs(radLon2);// west  
  38.         double x1 = EARTH_RADIUS * Math.cos(radLon1) * Math.sin(radLat1);  
  39.         double y1 = EARTH_RADIUS * Math.sin(radLon1) * Math.sin(radLat1);  
  40.         double z1 = EARTH_RADIUS * Math.cos(radLat1);  
  41.   
  42.         double x2 = EARTH_RADIUS * Math.cos(radLon2) * Math.sin(radLat2);  
  43.         double y2 = EARTH_RADIUS * Math.sin(radLon2) * Math.sin(radLat2);  
  44.         double z2 = EARTH_RADIUS * Math.cos(radLat2);  
  45.   
  46.         double d = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)+ (z1 - z2) * (z1 - z2));  
  47.         //余弦定理求夾角  
  48.         double theta = Math.acos((EARTH_RADIUS * EARTH_RADIUS + EARTH_RADIUS * EARTH_RADIUS - d * d) / (2 * EARTH_RADIUS * EARTH_RADIUS));  
  49.         double dist = theta * EARTH_RADIUS;  
  50.         return dist;  
  51.     }</span>  




方法2:google地圖提供的方法:

對(duì)上面的公式解釋如下:
1.Lat1 Lung1 表示A點(diǎn)經(jīng)緯度,Lat2 Lung2 表示B點(diǎn)經(jīng)緯度;
2.a=Lat1 – Lat2 為兩點(diǎn)緯度之差  b=Lung1 -Lung2 為兩點(diǎn)經(jīng)度之差;
3.6378.137為地球半徑,單位為千米;
計(jì)算出來(lái)的結(jié)果單位為千米,若將半徑改為米為單位則計(jì)算的結(jié)果單位為米。
計(jì)算精度與谷歌地圖的距離精度差不多,相差范圍在0.2米以下。
  1. <span style="font-size:14px;">  private static final  double EARTH_RADIUS = 6378137;//赤道半徑(單位m)  
  2.       
  3.     /** 
  4.      * 轉(zhuǎn)化為弧度(rad) 
  5.      * */  
  6.     private static double rad(double d)  
  7.     {  
  8.        return d * Math.PI / 180.0;  
  9.     }  
  10.     /** 
  11.      * 基于googleMap中的算法得到兩經(jīng)緯度之間的距離,計(jì)算精度與谷歌地圖的距離精度差不多,相差范圍在0.2米以下 
  12.      * @param lon1 第一點(diǎn)的精度 
  13.      * @param lat1 第一點(diǎn)的緯度 
  14.      * @param lon2 第二點(diǎn)的精度 
  15.      * @param lat3 第二點(diǎn)的緯度 
  16.      * @return 返回的距離,單位km 
  17.      * */  
  18.     public static double GetDistance(double lon1,double lat1,double lon2, double lat2)  
  19.     {  
  20.        double radLat1 = rad(lat1);  
  21.        double radLat2 = rad(lat2);  
  22.        double a = radLat1 - radLat2;  
  23.        double b = rad(lon1) - rad(lon2);  
  24.        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)));  
  25.        s = s * EARTH_RADIUS;  
  26.        //s = Math.round(s * 10000) / 10000;  
  27.        return s;  
  28.     }</span>  






本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
java gps distance
C#實(shí)現(xiàn)地圖坐標(biāo)系的轉(zhuǎn)換(WGS-84、GCJ-02、BD-09)
GPS糾偏算法,不同地圖之間的坐標(biāo)轉(zhuǎn)換
Google地圖經(jīng)度緯度到像素索引值的轉(zhuǎn)換公式
數(shù)據(jù)清洗告一段落了
百度坐標(biāo)坐標(biāo)系之間的轉(zhuǎn)換(JS版代碼)
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服