贝利信息

python中geopy怎么用

日期:2025-11-15 00:00 / 作者:尊渡假赌尊渡假赌尊渡假赌
geopy用于地理编码和逆地理编码,支持多种服务如Nominatim;需设置user_agent,遵守请求限制,建议生产环境使用付费API。

geopy 是一个 Python 第三方库,用于地理编码(将地址转为经纬度)和逆地理编码(将经纬度转为地址)。它支持多种服务,比如 Google Maps、OpenStreetMap (Nominatim)、Bing 等。下面介绍常见用法。

安装 geopy

在命令行运行:

pip install geopy

使用 Nominatim 进行地理编码(地址转经纬度)

Nominatim 是 OpenStreetMap 提供的免费服务,适合非商业用途。使用前需设置一个合法的 user agent。

示例代码:

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 时注意以下几点:

基本上就这些。geopy 接口简单,重点是选对服务提供商并遵守其使用规则。