GeoPy库的使用

https://geopy.readthedocs.io/en/latest/#module-geopy.distance

1. 由名字查位置

"""
将查询地理定位到地址和坐标
"""
from geopy.geocoders import Baidu, Bing, GoogleV3, DataBC, Nominatim
#geolocator = Nominatim(user_agent="specify_your_app_name_here")
geolocator = Baidu('EiQTTRKzlV3dKN1zcZ3c7iVhIl126xvC')
#geolocator = Bing('Ajg52RB8D2BIXygYwUTcJytDGsgqURLj5lfBptOH4jmTGHHFUvt0cMqdhdhdYfr-')
#geolocator = GoogleV3('AIzaSyAVwjaaOBKbssuyQsvyqQAQDwfuzO1PKCA')

location = geolocator.geocode("四川省乐山市金口河区金河镇铜河村")
print(location.address)
print((location.latitude, location.longitude))

2. 由位置查名字

"""查找与一组坐标对应的地址"""
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="specify_your_app_name_here")
location = geolocator.reverse("52.509669, 13.376294")
>>> print(location.address)
Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union
>>> print((location.latitude, location.longitude))
(52.5094982, 13.3765983)
>>> print(location.raw)
{'place_id': '654513', 'osm_type': 'node', ...}

2. 由经纬度算距离

图片.png
"""计算距离"""
>>> from geopy import distance
>>> newport_ri = (41.49008, -71.312796)
>>> cleveland_oh = (41.499498, -81.695391)
>>> print(distance.distance(newport_ri, cleveland_oh).miles)
538.39044536

>>> wellington = (-41.32, 174.81)
>>> salamanca = (40.96, -5.50)
>>> print(distance.distance(wellington, salamanca, ellipsoid='GRS-80').km)
19959.6792674
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容