[爆卦]經緯度轉換距離是什麼?優點缺點精華區懶人包

為什麼這篇經緯度轉換距離鄉民發文收入到精華區:因為在經緯度轉換距離這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者c2578910 (台中陳奕迅)看板Python標題[問題] 利用經緯度計算距離時間Fri Ma...


小弟最近要建立矩陣,因不熟悉API的原理及運用,打算將住址轉換為經緯度後再計算距
離。

由於資料量不少,打算利用迴圈的形式。

流程大約是:先讀取EXCEL的數值,再進行運算

以下為程式碼:

d = {}
for i in range(0,M):
for j in range (0,M):
d [i,j]= 6371*math.acos(math.sin(math.radians(X[i]))*math.sin(math.radians(X[j]))+
math.cos(math.radians(X[i]))*math.cos(math.radians(X[j]))*
math.cos(math.radians(Y[i]-Y[j])))
6371是地球半徑
M是資料筆數

不過會出現ValueError: math domain error

想請問是哪邊有問題?

求解,謝謝!


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.136.218 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1584105706.A.FF3.html
qhair: geopy可以直接算吧? 03/13 23:06
我查看看geopy的原理
lycantrope: code沒問題,可能是data有問題 03/13 23:09
也有這可能性 有從小到大測試不同的M 但經緯度是從Google地圖抓的 真奇怪
TitanEric: 之後也許可以改成numpy 03/13 23:27
※ 編輯: c2578910 (61.70.244.68 臺灣), 03/14/2020 00:50:56
※ 編輯: c2578910 (61.70.244.68 臺灣), 03/14/2020 00:52:20
Hsins: 先檢查 acos 裡面算出來的東西有沒有絕對值超過 1 的 03/14 02:01
好的 由於是書上的公式 也不太好直接講出來怕有業配嫌疑 下次會講清楚變數 謝謝
Hsins: 看起來是用 Great-circle distance 的公式,那你應該說清楚 03/14 02:32
Hsins: X[] Y[] 哪個是經度,哪個是緯度。公式裡 X[] 應該要放緯度 03/14 02:33
Hsins: 下次問問題記得把用到的公式跟你的變數交待一下... 03/14 02:35
※ 編輯: c2578910 (223.140.224.209 臺灣), 03/14/2020 12:48:17
Hsins: 你有檢查 X[] 確定是放緯度了嗎?因為我看 Google 給出來資 03/14 20:04
確定X放緯度 Y放經度沒錯 遇到的問題是 改成不同的M時突然就出現error 目前已用版友私訊的其他公式解決了 謝謝
Hsins: 料是把經度放前面。如果是這個問題,你把運算式裡面的 X[] 03/14 20:05
Hsins: Y[] 部份互調就可以了 03/14 20:05
※ 編輯: c2578910 (61.70.244.68 臺灣), 03/16/2020 10:04:15

你可能也想看看

搜尋相關網站