看板 Python 關於我們 聯絡資訊
各位大大好: 不好意思! 小弟我有個關於輸入名稱或地址能找到對應經緯度值的程式問題想請教: 以下是我舉例的程式碼: from geopy.geocoders import Nominatim geolocation = Nominatim(user_agent="just_test") data = ["臺北市政府", "臺北市信義區市府路1號", \ "台北101", "台北市信義區信義路五段7號"] for i in data : location = geolocation.geocode(i) print((location.latitude, location.longitude)) 程式依序輸出結果如下: (25.037526149999998, 121.56439252766157) (25.0023006, 121.5434534) (25.03368625, 121.56481033101315) AttributeError: 'NoneType' object has no attribute 'latitude' 從程式結果可以看出前三筆資料均可順利找到其對應的經緯度... (其中前兩筆資料分別是臺北市政府以及它的地址、第三筆資料是台北101) 而第四筆(台北101的地址)卻無法順利計算其經緯度... 以上為小弟舉例的程式情形,然而小弟真實是是要做房價的研究, 因此房屋的地址資料非常大量,不可能一筆一筆在google map上找經緯度... 因此懇求好心大大幫忙解惑... 小弟由衷感謝!! -- 魚的淚 只有懂魚的水才看得見 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.44.121 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1622383954.A.166.html
TuCH: 先全部跑一遍 看看有幾筆抓不到吧 05/30 22:39
nago: 感謝大大回覆,不過我嘗試結果有的可以有的不行 05/30 23:25
nago: 因此可能還是要回歸文中所提AttributeError這個問題...>O<" 05/30 23:26
kenduest: 改用其它 Geocoders 比較好,Nominatim 並不推薦 05/31 00:00
kenduest: 比方改用 Google Map, 記得申請 API Key 就可以了 05/31 00:00
kenduest: from geopy.geocoders import GoogleV3 05/31 00:05
kenduest: geolocation = GoogleV3(api_key="...", ...) 05/31 00:06
MAGICXX: google的api開始有免費的限額嘍 05/31 03:09
kenduest: 每月 $200 美元的免費使用額度,$5美元/1000次請求 05/31 13:11
darrenlee1: :q 05/31 16:15
emilylyh: 也許可以用TGOS的批次門牌轉換功能,一次上傳含所有地 06/07 09:09
emilylyh: 址的csv,之後系統會將轉換完的座標寄到你的信箱 06/07 09:09
emilylyh: https://bit.ly/3pq3OvV 06/07 09:09
nago: 由衷感謝樓上幾位大大的回覆...小弟我會再嘗試看看... 06/21 18:41