使用Python获取给定坐标的地址

5

我有一些经纬度坐标,想使用Python将其转换为特定地址。您知道如何做吗?谢谢我是新来的。


1
请查看geopy - Alexandre B.
相关(可能重复)- https://dev59.com/_GnWa4cB1Zd3GeqP3br8 - Tomerikoo
2个回答

11

你所指的方法叫反向地理编码。 您可以使用Nominatim(OSM)免费进行地理编码服务。

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="specify_your_app_name_here")
location = geolocator.reverse("52.509669, 13.376294")
print(location.address)

或者如果您想获得更好的结果,您可以使用需要API密钥的Google地理编码服务。

from geopy.geocoders import GoogleV3
geolocator = GoogleV3(api_key='Your_API_Key')
location = geolocator.reverse("52.509669, 13.376294")
print(location.address)

2

使用 geopy,这是我自己制作的脚本,您可以使用它。

from geopy.geocoders import Nominatim
from os import system, name

这些是您的导入项。 接下来,您需要定义一个清晰的函数,这将在后面发挥作用。

def clear():
    if name == 'nt':
        _ = system('cls')
    else:
        _ = system('clear')

然后定义用户代理:

geolocator = Nominatim(user_agent="coordinateconverter")

我已将其设置为CoordinateConverter,因为这是我的项目名称。
然后定义您的地址:
address = '42.2817131, -83.7465425'

这是安阿伯互动博物馆的地址。

然后实际转换它:

location = geolocator.reverse(address)
print(location)

这是未经测试的代码,所以可能无法正常工作,但应该可以。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接