經緯度計算兩地之間的距離(原理與方法)
怎麼用經緯度計算兩地之間的距離?
1、地球赤道上環繞地球一週走一圈共40075.04公里,而@一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的長度計算如下: 40075.04km/360°=111.31955km 111.31955km/60=1.8553258km=1855.3m
而每一分又有60秒,每一秒就代表1855.3m/60=30.92m 任意兩點距離計算公式為
d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB—λA)]} 其中A點經度,緯度分別為λA和ΦA,B點的經度、緯度分別為λB和ΦB,d為距離。
2、分為3步計算:
第1步 分別將兩點經緯度轉換為三維直角座標:
假設地球球心為三維直角座標系的原點,球心與赤道上0經度點的連線為X軸,球心與赤道上東經90度點的連線為Y軸,球心與北極點的連線為Z軸,則地面上點的直角座標與其經緯度的關係為: x=R×cosα×cosβ y=R×cosα×sinβ z=R×sinα
R為地球半徑,約等於6400km; α為緯度,北緯取+,南緯取-; β為經度,東經取+,西經取-。
第2步 根據直角座標求兩點間的直線距離(即弦長):
如果兩點的直角座標分別為(x1,y1,z1)和(x2,y2,z2),則它們之間的直線距離為: L=[(x1-x2)^2+(y1-y2)^2+(z1-z2)^2]^0.5 上式為三維勾股定理,L為直線距離。 第3步 根據弦長求兩點間的距離(即弧長): 由平面幾何知識可知弧長與弦長的關係為: S=R×π×2[arc sin(0.5L/R)]/180
上式中角的單位為度,1度=π/180弧度,S為弧長。
3、1度的實際長度是111公里。但緯線的距離會越考兩端越小,他的距離就會變成111乘COS緯度數,經度不變。
4、南北方向算出兩點緯度差,一度等於60海里,1分等於1海里,海里與公里換算關係1海里等於1.852公里。東西方向量出距離到兩點間緯度附近量出緯度差,得出海里數,再乘以1.852換算成公里。可按直角三角形原理求出兩點間距離。
5、度的實際長度是111公里。但緯線的距離會越考兩端越小,他的距離就會變成111乘COS緯度數,經度不變(如果在同一經度)
1、地球赤道上環繞地球一週走一圈共40075.04公里,而@一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的長度計算如下: 40075.04km/360°=111.31955km 111.31955km/60=1.8553258km=1855.3m
而每一分又有60秒,每一秒就代表1855.3m/60=30.92m 任意兩點距離計算公式為
d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB—λA)]} 其中A點經度,緯度分別為λA和ΦA,B點的經度、緯度分別為λB和ΦB,d為距離。
2、分為3步計算:
第1步 分別將兩點經緯度轉換為三維直角座標:
假設地球球心為三維直角座標系的原點,球心與赤道上0經度點的連線為X軸,球心與赤道上東經90度點的連線為Y軸,球心與北極點的連線為Z軸,則地面上點的直角座標與其經緯度的關係為: x=R×cosα×cosβ y=R×cosα×sinβ z=R×sinα
R為地球半徑,約等於6400km; α為緯度,北緯取+,南緯取-; β為經度,東經取+,西經取-。
第2步 根據直角座標求兩點間的直線距離(即弦長):
如果兩點的直角座標分別為(x1,y1,z1)和(x2,y2,z2),則它們之間的直線距離為: L=[(x1-x2)^2+(y1-y2)^2+(z1-z2)^2]^0.5 上式為三維勾股定理,L為直線距離。 第3步 根據弦長求兩點間的距離(即弧長): 由平面幾何知識可知弧長與弦長的關係為: S=R×π×2[arc sin(0.5L/R)]/180
上式中角的單位為度,1度=π/180弧度,S為弧長。
3、1度的實際長度是111公里。但緯線的距離會越考兩端越小,他的距離就會變成111乘COS緯度數,經度不變。
4、南北方向算出兩點緯度差,一度等於60海里,1分等於1海里,海里與公里換算關係1海里等於1.852公里。東西方向量出距離到兩點間緯度附近量出緯度差,得出海里數,再乘以1.852換算成公里。可按直角三角形原理求出兩點間距離。
5、度的實際長度是111公里。但緯線的距離會越考兩端越小,他的距離就會變成111乘COS緯度數,經度不變(如果在同一經度)
相關文章
- JAVA計算兩經緯度間的距離Java
- 通過sql 計算兩經緯度之間的距離SQL
- sql 計算兩個經緯度點之間的距離SQL
- 微信小程式 計算兩地之間的距離 + 高德地圖獲取經緯度 + elasticsearch微信小程式地圖Elasticsearch
- 根據經緯度計算兩點之間的距離的公式公式
- java 根據兩個位置的經緯度,來計算兩地的距離 經緯度處理Java
- java 經緯度處理、計算兩地的距離、獲取當前一定距離以內的經緯度值Java
- 經緯度互換和計算距離
- 百度地圖計算兩座標點之間距離計算地圖
- 計算地圖中兩點之間的距離地圖
- 根據兩點經緯度計算距離和角度——java實現Java
- java 經緯度處理、計算兩地的距離、獲取當前一定距離以內的經緯度值 2022-02-14 0Java
- 簡單計算給定兩個給定經緯度座標的距離
- 透過經緯度計算距離獲取附近商家
- java 根據GPS經緯度座標計算兩點的直線距離的演算法Java演算法
- PHP實現透過經緯度計算距離和查附近店門PHP
- 通過經緯度計算距離實現附近、附近的人等功能
- 空間距離計算
- 百度地圖根據經緯度計算瓦片行列號地圖
- 使用MySQL的geometry型別處理經緯度距離問題MySql型別
- 微信小程式——計算2點之間的距離微信小程式
- C語言:使用函式計算兩點間的距離C語言函式
- 獲取資料庫中到指定經緯度距離的座標資料庫
- 根據時間經緯度高程計算天頂角
- Elasticsearch 7.2 在 Laravel 中實踐 --經緯度及距離查詢ElasticsearchLaravel
- 地理空間距離計算優化優化
- 空間資料庫三維空間兩點距離計算錯誤資料庫
- java 根據經緯度計算圓周Java
- 海量資料相似度計算之simhash和海明距離
- iOS根據兩點經緯度座標計算指南針方位角iOS
- Php兩點地理座標距離的計算方法和具體程式碼PHP
- 定義Point類,採用友元類的方式計算兩個點之間的水平和垂直距離
- 在點雲上計算兩點之間的測地線
- 常用經緯度轉換為ntu經緯度
- java百度地圖介面呼叫獲取經緯度Java地圖
- 常見問題01:計算地球上兩個點的距離
- iOS中地圖經緯度座標轉換iOS地圖
- 28、(向量)歐幾里得距離計算