[問題] 關於輸入地址/名稱能輸出其對應經緯度

看板Python作者 (低調的奢華!)時間2年前 (2021/05/30 22:12), 編輯推噓5(506)
留言11則, 6人參與, 2年前最新討論串1/1
各位大大好: 不好意思! 小弟我有個關於輸入名稱或地址能找到對應經緯度值的程式問題想請教: 以下是我舉例的程式碼: 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

05/30 22:39, 2年前 , 1F
先全部跑一遍 看看有幾筆抓不到吧
05/30 22:39, 1F

05/30 23:25, 2年前 , 2F
感謝大大回覆,不過我嘗試結果有的可以有的不行
05/30 23:25, 2F

05/30 23:26, 2年前 , 3F
因此可能還是要回歸文中所提AttributeError這個問題...>O<"
05/30 23:26, 3F

05/31 00:00, 2年前 , 4F
改用其它 Geocoders 比較好,Nominatim 並不推薦
05/31 00:00, 4F

05/31 00:00, 2年前 , 5F
比方改用 Google Map, 記得申請 API Key 就可以了
05/31 00:00, 5F

05/31 00:05, 2年前 , 6F
from geopy.geocoders import GoogleV3
05/31 00:05, 6F

05/31 00:06, 2年前 , 7F
geolocation = GoogleV3(api_key="...", ...)
05/31 00:06, 7F

05/31 01:06, 2年前 , 8F

05/31 03:09, 2年前 , 9F
google的api開始有免費的限額嘍
05/31 03:09, 9F

05/31 13:11, 2年前 , 10F
每月 $200 美元的免費使用額度,$5美元/1000次請求
05/31 13:11, 10F

05/31 16:15, 2年前 , 11F
:q
05/31 16:15, 11F
文章代碼(AID): #1WivrI5c (Python)
文章代碼(AID): #1WivrI5c (Python)