[問題] 利用經緯度計算距離
小弟最近要建立矩陣,因不熟悉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
推
03/13 23:06,
4年前
, 1F
03/13 23:06, 1F
我查看看geopy的原理
推
03/13 23:09,
4年前
, 2F
03/13 23:09, 2F
也有這可能性 有從小到大測試不同的M 但經緯度是從Google地圖抓的 真奇怪
推
03/13 23:27,
4年前
, 3F
03/13 23:27, 3F
※ 編輯: c2578910 (61.70.244.68 臺灣), 03/14/2020 00:50:56
※ 編輯: c2578910 (61.70.244.68 臺灣), 03/14/2020 00:52:20
→
03/14 02:01,
4年前
, 4F
03/14 02:01, 4F
好的 由於是書上的公式 也不太好直接講出來怕有業配嫌疑 下次會講清楚變數 謝謝
→
03/14 02:32,
4年前
, 5F
03/14 02:32, 5F
→
03/14 02:33,
4年前
, 6F
03/14 02:33, 6F
→
03/14 02:35,
4年前
, 7F
03/14 02:35, 7F
※ 編輯: c2578910 (223.140.224.209 臺灣), 03/14/2020 12:48:17
→
03/14 20:04,
4年前
, 8F
03/14 20:04, 8F
確定X放緯度 Y放經度沒錯 遇到的問題是 改成不同的M時突然就出現error 目前已用版友私訊的其他公式解決了 謝謝
→
03/14 20:05,
4年前
, 9F
03/14 20:05, 9F
→
03/14 20:05,
4年前
, 10F
03/14 20:05, 10F
※ 編輯: c2578910 (61.70.244.68 臺灣), 03/16/2020 10:04:15