📅  最后修改于: 2023-12-03 15:37:55.428000             🧑  作者: Mango
在Python中,我们可以使用第三方库来获取地址的经纬度,最常用的库是geopy
。下面是一份详细的介绍。
首先需要安装geopy
,可以通过以下命令来安装:
pip install geopy
有多种方式可以使用geopy
来获取地址的经纬度,下面介绍两种最常用的方法。
geocoder
模块geopy
中的geocoder
模块提供了一个方便的接口来获取地址的经纬度。我们可以使用下面的代码来实现:
from geopy.geocoders import Nominatim
address = "北京市海淀区清华大学"
geolocator = Nominatim(user_agent="my-application")
location = geolocator.geocode(address)
print(location.latitude, location.longitude)
上面这段代码中,我们首先引入了geopy.geocoders
模块中的Nominatim
类,该类提供了一个geocode()
方法来获取地址的经纬度。然后我们设置了一个user_agent
参数,该参数用于标识程序的身份,避免被禁止访问。
最后我们使用了geocode()
方法来获取地址的经纬度,得到的结果是一个Location
对象,包含了地址的详细信息,如经纬度、城市等等。我们可以通过该对象的latitude
和longitude
属性来获取经纬度。
distance
模块geopy
中的distance
模块提供了一个distance()
方法,可以计算两个地点之间的距离。我们可以利用该方法来获取地址的经纬度。
from geopy.distance import geodesic
address = "北京市海淀区清华大学"
destination = (39.990144, 116.327158) # 中国地图中心点坐标
distance = geodesic(destination, address).km
print(distance)
上面这段代码中,我们首先引入了geopy.distance
模块中的geodesic
函数,该函数用于计算两个地点之间的距离。然后我们设置了一个destination
变量为中国地图中心点的经纬度。
最后我们使用geodesic()
函数来计算目的地与当前地址之间的距离,得到的结果是一个Distance
对象,包含了两个地点之间的距离和单位。我们可以通过该对象的km
属性来获取距离的数值。
以上就是如何从Python中的地址获取纬度和经度的方法。我们介绍了geopy
库以及两种常用的方式来获取地址的经纬度。如果我们需要获取更多的地址信息,还可以通过location.raw
属性来获取原始的JSON格式数据。