在python中使用geopy的百度API解析经纬度

需求

将经纬度解析为地址,使用geopy默认提供的东西解析单个经纬度够用了,但是成批的解析会经常超时。查阅资料发现可以在geopy中使用百度的api。超时的问题就容易解决了。

百度api

webapi/guide/webservice-geocoding-abroad - Wiki点击链接到百度的全球逆地理编码服务,在服务文档中可以查看到详细的接口信息。按步骤很容易创建自己的服务接口。http://lbsyun.baidu.com/apiconsole/key 在这个链接中创建服务。默认全部勾选就不管了。重要的是应用AK和请求校验方式改为sn校验方式得到的SK
在这里插入图片描述

geopy

参考时经常出现的用法

    from geopy.geocoders import Nominatim
    geolocator=Nominatim()
    location= geolocator.reverse("39.8694900405,116.0013866959")
    print(location.address)
    # 京昆路, 房山区, 中国
    print(location.raw['address']['country'])
    # 中国
    print(location.raw)
    # {'place_id': '187024808', 
    #'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',
    #'osm_type': 'way', 'osm_id': '537178945', 'lat': '39.8730714477888', 'lon': '116.000163834226', 
    #'display_name': '京昆路, 房山区, 中国',
    # 'address': {'road': '京昆路', 'county': '房山区', 'country': '中国', 'country_code': 'cn'},
    # 'boundingbox': ['39.8639144', '39.8769233', '115.9720381', '116.015403']}

Welcome to GeoPy’s documentation! — GeoPy 1.17.0 documentation链接给出了geopy的官方地址,遇到问题还可以去github上找一找看看源码。
不管是地址到经纬度还是经纬度到地址,最后都和代码中的location相关。我们重点关注location.raw,可以把location.raw的内容放到json可视化工具查看。想要用的时候location.raw[‘key’]轻松解决。
在这里插入图片描述

百度API的用法

    from geopy.geocoders import Baidu
    geocoder = Baidu(
                api_key='ak',#自己修改
                security_key='sk',#自己修改
                timeout=200
            )
    lr=[]
    ilb=[('a',39.8694900405,116.0013866959),('b',39.8694900405,116.0013866959)]
	for _,i in enumerate(ilb):
	    location= geocoder.reverse(i[1]+','+i[2])
	    lr.append((i[0],location.raw))
	for _,i in enumerate(lr):
		addr=i[1]['addressComponent']
		addr['country']
		print(addr)  
		#     print(i)
		if _>1:
			break

如果容易超时建议把timeout调高

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 要在 Python 3.9 安装 geopy 库,你需要先安装 Python 3.9 的运行环境,然后打开命令行工具或终端,输入以下命令: ``` pip install geopy ``` 这样就可以在你的 Python 环境安装 geopy 库了。如果你的电脑上已经安装了多个版本的 Python,你可能需要使用 `pip3.9` 来指定安装的是 Python 3.9 版本的库。 例如: ``` pip3.9 install geopy ``` 在安装过程,pip 会从 Python 库仓库下载 geopy 库的最新版本,并将其安装到你的 Python 环境。 安装完成后,你就可以在 Python 代码使用 `import geopy` 来导入 geopy 库了。 ### 回答2: 要在Python 3.9安装geopy库,可以按照以下步骤进行操作: 步骤1:打开命令提示符或终端窗口。 步骤2:使用pip命令安装geopy库。在命令提示符或终端输入以下命令并按下回车键: ``` pip install geopy ``` 步骤3:等待pip安装所需的文件和依赖项。安装完成后,您将在命令提示符或终端看到一条消息确认安装成功。 步骤4:验证geopy库是否成功安装。可在Python交互式解释器输入以下代码并按下回车键: ```python import geopy ``` 如果没有出现任何错误消息,说明geopy库已成功安装。您可以开始使用geopy库的功能了。 geopy库是一个用于处理地理编码和反向地理编码的Python库。它提供了一组易于使用API,可用于将地址转换为经纬度坐标以及将经纬度坐标转换为地址。通过使用geopy库,您可以轻松地在Python进行地理位置解析和地理编码的操作。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值