[问题] 关于输入地址/名称能输出其对应经纬度

楼主: 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