經緯度互換和計算距離

軍說網事發表於2016-02-27

經緯度互換

(DDD)E 108.90593    N 34.21630

   如何將度(DDD): 108.90593度換算成度分秒(DMS)東經E 1085422.2?轉換方法是將108.90593整數位不變取108(),0.90593*60=54.3558,取整數位54(),0.3558*60=21.348再取整數位21(),故轉化為1085421.

  同樣將度分秒(DMS):東經E 1085422.2換算成度(DDD)的方法如下:1085422.2=108+(54/60)+(22.2/3600)=108.90616

因為計算時小數位保留的原因,導致正反計算存在一定誤差,但誤差影響不是很大。1秒的誤差就是幾米的樣子。GPS車友可以用上述方法換算成自己需要的單位座標。

經緯度換算成米

緯度分為60分,每一分再分為60秒以及秒的小數。

緯度線投射在圖上看似水平的平行線,但實際上是不同半徑的圓。有相同特定緯度的所有位置都在同一個緯線上。 
赤道的緯度為,將行星平分為南半球和北半球。 
緯度是指某點與地球球心的連線和地球赤道面所成的線面角,其數值在090度之間。位於赤道以北的點的緯度叫北緯,記為N,位於赤道以南的點的緯度稱南緯,記為S
緯度數值在030度之間的地區稱為低緯地區,緯度數值在3060度之間的地區稱為中緯地區,緯度數值在6090度之間的地區稱為高緯地區。
赤道、南迴歸線、北迴歸線、南極圈和北極圈是特殊的緯線。
緯度1秒的長度
地球的子午線總長度大約40008km。平均:
緯度1 = 大約111km 
緯度1 = 大約1.85km 
緯度1 = 大約30.9m 

根據地球上任意兩點的經緯度計算兩點間的距離(可以用勾股定理c=a2+b2

地球是一個近乎標準的橢球體,它的赤道半徑為6378.140千米,極半徑為 6356.755千米,平均半徑6371.004千米。如果我們假設地球是一個完美的球體,那麼它的半徑就是地球的平均半徑,記為R。如果以0度經線為基準,那麼根據地球表面任意兩點的經緯度就可以計算出這兩點間的地表距離(這裡忽略地球表面地形對計算帶來的誤差,僅僅是理論上的估算值)。設第一點A的經緯度為(LonA, LatA),第二點B的經緯度為(LonB,LatB),按照0度經線的基準,東經取經度的正值(Longitude),西經取經度負值(-Longitude),北緯取90-緯度值(90-Latitude),南緯取90+緯度值(90+Latitude),則經過上述處理過後的兩點被計為(MLonA,MLatA)(MLonB,MLatB)。那麼根據三角推導,可以得到計算兩點距離的如下公式:

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

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

這裡,RDistance單位是相同,如果是採用6371.004千米作為半徑,那麼Distance就是千米為單位,如果要使用其他單位,比如mile,還需要做單位換算,1千米=0.621371192mile

如果僅對經度作正負的處理,而不對緯度作90-Latitude(假設都是北半球,南半球只有澳洲具有應用意義)的處理,那麼公式將是:

C= sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(MLonA-MLonB)

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

以上通過簡單的三角變換就可以推出。

如果三角函式的輸入和輸出都採用弧度值,那麼公式還可以寫作:

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

在實際應用當中,一般是通過一個個體的郵政編碼來查詢該郵政編碼對應的地區中心的經緯度,然後再根據這些經緯度來計算彼此的距離,從而估算出某些群體之間的大致距離範圍(比如酒店旅客的分佈範圍-各個旅客的郵政編碼對應的經緯度和酒店的經緯度所計算的距離範圍-等等),所以,通過郵政編碼查詢經緯度這樣一個資料庫是一個很有用的資源。



相關文章