python通过经纬度获取地址信息

爬取社交数据时,有时候会碰到用经纬度表示地理位置信息,这种情况下需要进行转换以获取地理位置信息。

例如获取到的数据是{"business_id":"1SWheh84yJXfytovILXOAQ","name":"Arizona Biltmore Golf Club","address":"2818 E Camino AcequiaDrive","city":"Phoenix","state":"AZ","postal_code":"85016","latitude":33.5221425,"longitude":112.0184807,"stars":3.0,"review_count":5,"is_open":0,"attributes":{"GoodForKids":"False"},"categories":"Golf,Active Life","hours":null},可以提取到维度是latitude:33.5221425,经度是112.0184807。要转换为具体的位置信息需要用到reverse_geocoder。

import reverse_geocoder as rg

if __name__ == '__main__' :
    vv = (33.5221425, -112.0184807)
    loc = rg.search ( vv )
    print(loc)
    city=loc[0]['name']#城市
    county=loc[0]['admin2']#郡
    state=loc[0]['admin1']#州
    country=loc[0]['cc']#国家
    print(country+","+state+","+county+","+city)

输出见下图:

发布了123 篇原创文章 · 获赞 12 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/haiziccc/article/details/103959965