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

作者: nago (低調的奢華!)   2021-05-30 22:12:19
各位大大好:
不好意思!
小弟我有個關於輸入名稱或地址能找到對應經緯度值的程式問題想請教:
以下是我舉例的程式碼:
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上找經緯度...
因此懇求好心大大幫忙解惑...
小弟由衷感謝!!
作者: TuCH (謬客)   2021-05-30 22:39:00
先全部跑一遍 看看有幾筆抓不到吧
作者: nago (低調的奢華!)   2021-05-30 23:25:00
感謝大大回覆,不過我嘗試結果有的可以有的不行因此可能還是要回歸文中所提AttributeError這個問題...>O<"
作者: kenduest (小州)   2021-05-31 00:00:00
改用其它 Geocoders 比較好,Nominatim 並不推薦比方改用 Google Map, 記得申請 API Key 就可以了from geopy.geocoders import GoogleV3geolocation = GoogleV3(api_key="...", ...)
作者: ckc1ark (偽物)   2021-05-31 01:06:00
作者: MAGICXX (逢甲阿法)   2021-05-31 03:09:00
google的api開始有免費的限額嘍
作者: kenduest (小州)   2021-05-31 13:11:00
每月 $200 美元的免費使用額度,$5美元/1000次請求
作者: darrenlee1 (darrenleeleelee)   2021-05-31 16:15:00
:q
作者: emilylyh (emilylyh)   2021-06-07 09:09:00
也許可以用TGOS的批次門牌轉換功能,一次上傳含所有地址的csv,之後系統會將轉換完的座標寄到你的信箱https://bit.ly/3pq3OvV
作者: nago (低調的奢華!)   2021-06-21 18:41:00
由衷感謝樓上幾位大大的回覆...小弟我會再嘗試看看...

Links booklink

Contact Us: admin [ a t ] ucptt.com