geopy用于地理编码和逆地理编码,支持多种服务如Nominatim;需设置user_agent,遵守请求限制,建议生产环境使用付费API。

geopy 是一个 Python 第三方库,用于地理编码(将地址转为经纬度)和逆地理编码(将经纬度转为地址)。它支持多种服务,比如 Google Maps、OpenStreetMap (Nominatim)、Bing 等。下面介绍常见用法。
安装 geopy
在命令行运行:
pip install geopy
使用 Nominatim 进行地理编码(地址转经纬度)
Nominatim 是 OpenStreetMap 提供的免费服务,适合非商业用途。使用前需设置一个合法的 user agent。
示例代码:
立即学习“Python免费学习笔记(深入)”;
from geopy.geocoders import Nominatim
# 创建地理编码器对象
geolocator = Nominatim(user_agent=”my_app”)
# 输入地址
location = geolocator.geocode(“北京市天安门”)
if location:
print((location.latitude, location.longitude))
print(location.address)
输出类似:
(39.9037442, 116.3972847)
Tian’anmen, Dongcheng District, Beijing, 100006, China
逆地理编码(经纬度转地址)
把坐标转换成可读地址:
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent=”my_app”)
# 输入经纬度
location = geolocator.reverse(“39.9037442, 116.3972847”)
if location:
print(location.address)
print(location.raw) # 原始数据字典
注意事项和建议
使用 geopy 时注意以下几点:
Nominatim 有使用限制,每秒只能请求一次,频繁请求可能被封 IP必须设置 user_agent,否则请求会被拒绝生产环境或高频率需求建议使用付费服务如 Google Geocoding API处理网络异常时加上 try-except 更稳妥
基本上就这些。geopy 接口简单,重点是选对服务提供商并遵守其使用规则。
以上就是python中geopy怎么用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1380046.html
微信扫一扫
支付宝扫一扫