我们如何从街道地址获取纬度和经度? [重复]

问题描述 投票:0回答:1

下面的代码适用于我的个人笔记本电脑,但不适用于我的工作笔记本电脑。

import pandas as pd
import folium
import geopy
from geopy.geocoders import Nominatim

# Geocoding
geolocator = Nominatim(user_agent="myGeolocator")
location = geolocator.geocode("225 Baker St NW, Atlanta, GA 30313, United States")
location.raw

# Reverse Geocoding
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="myGeolocator")
location = geolocator.reverse("33.76326745, -84.39511726814364")

当我在我的工作笔记本电脑上运行代码时,我得到了这个结果:

GeocoderUnavailable: HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Max retries exceeded with url: /reverse?lat=33.76326745&lon=-84.39511726814364&format=json&addressdetails=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))

基本上,我想遍历数据框中的一堆地址,并将纬度和经度坐标连接到每个地址(在数据框中每行添加两列)。我怎样才能使用免费服务(也许是 GeoPy,也许是谷歌地图等)做到这一点。

python python-3.x geocoding reverse-geocoding
1个回答
-1
投票

我猜测在您的工作笔记本电脑上运行此程序的终端未配置 https 代理以匹配您的工作设置,这导致您的终端无法连接到互联网。例如,您可以通过尝试 ping www.google.com 并查看您不会收到任何回复来验证这一点。我建议联系您当地的 IT 来帮助您解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.