gpt4 book ai didi

python - 使用 Python 和 Google API 进行反向地理编码

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:52 25 4
gpt4 key购买 nike

我正在尝试使用 google API 反转地理编码 500 个纬度和经度随机点。我编写了下面的代码,但我注意到有一些错误需要帮助。我想创建一个输出 CSV,其中包含反向地理编码的纬度/经度和完整地址以及 JSON geo_Data。一些错误是我的输出 CSV 没有被写入,并且我不知道如何解析输出 CSV 的地址。谁能帮我?

下面引用的脚本:

import pandas as pd
import json
import requests

df = pd.read_csv('/Users/albertgonzalobautista/Desktop/Amsterdam_RP500_2.csv')

# create new columns
df['geocode_data'] = ''
df['address']=''

# function that handles the geocoding requests

def reverseGeocode(latlng):
result = {}
apikey = 'XXX'
url = f'https://maps.googleapis.com/maps/api/geocode/json?latlng={latlng}&key={apikey}'
r = requests.get(url)
r.raise_for_status()
data = r.json()
if data['results']:
result = data['results'][0]
return result

for i, row in df.iterrows():
df['geocode_data'][i] = reverseGeocode(df['lat'][i].astype(str) + ',' + df['lon'][i].astype(str))


for i, row in df.iterrows():
if 'address_components' in row['geocode_data']:
for component in row['geocode_data']['address_components']:

df.to_csv('testingGEO233.csv', encoding='utf-8', index=False)

最佳答案

此 for 循环中没有任何代码

for component in row['geocode_data']['address_components']:

也许可以试试这个

for component in row['geocode_data']['address_components']:
df['address'] = row['geocode_data']['address_components']

您实际上可能需要一个字符串而不是组件列表:

for component in row['geocode_data']['address_components']:
df['address'] = row['geocode_data']['formatted_address']

关于python - 使用 Python 和 Google API 进行反向地理编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31870960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com