用途:在地址与地理坐标之间相互转换,适合位置数据补充、地址校验等场景。
主要能力:正向地理编码(地址转坐标)、反向地理编码(坐标转地址)、CSV 批量处理、结构化地址解析、内置结果缓存,以及多服务商支持:Nominatim(默认,免费)、Google、Bing。
使用方式:通过 Python 导入 Geocoder 类,例如 geo = Geocoder(),调用 geo.geocode("地址") 返回含 lat、lon、components、raw 的字典;调用 geo.reverse(lat, lon) 返回含 address、components 的结果。批量可用 batch_geocode、batch_reverse、geocode_csv、reverse_csv。命令行示例:python geocoder.py --geocode "Empire State Building, New York";python geocoder.py --reverse "40.7484,-73.9857";python geocoder.py --input addresses.csv --column address --output geocoded.csv;反向批量:python geocoder.py --input coords.csv --lat lat --lon lon --reverse-batch --output addresses.csv。指定 Google 或 Bing 时需传 api_key,如 Geocoder(provider="google", api_key="YOUR_KEY")。
限制:Nominatim 免费但限速约每秒 1 次请求,批量函数自动处理延迟;付费服务商可减小 delay。依赖 geopy>=2.4.0 与 pandas>=2.0.0。地址找不到时返回 None 或含 error 字段。Google、Bing 的密钥获取方式及费用、配额等资料暂未提供。