【发布时间】:2020-01-18 11:02:44
【问题描述】:
我正在尝试反转地理编码数据,为此我有以下查询
import overpy
import pandas as pd
import numpy as np
df = pd.read_csv("/home/runner/sample.csv")
df.sort_values(by=['cvdt35_timestamp_s'],inplace=True)
api= overpy.Overpass()
box = 0.0005
queries = []
results = []
df['Name']=''
df['Highway'] =''
with open("sample.csv") as f:
for row in df.index:
query = 'way('+str(df.gps_lat_dd.iloc[row]-box)+','+str(df.gps_lon_dd.iloc[row]-box)+','+str(df.gps_lat_dd.iloc[row]+box)+','+str(df.gps_lon_dd.iloc[row]+box)+') ["highway"]; (._;>;); out body;'
queries.append(query)
for query in queries :
result = api.query(query)
results.append(result)
for result in results:
for way in result.ways:
name = way.tags.get("name", "n/a")
df['Name'].append(name)
for way in result.ways:
df['Highway']= way.tags.get("highway", "n/a")
我正在尝试将每个结果附加到数据框中的新列,但上面的代码抛出错误。
我尝试过使用
for way in result.ways:
df['Name'] = way.tags.get("name", "n/a")
它给了我所有的行作为“韦斯特兰大道”,结果应该如下
Brookville Road
Brookville Road
Brookville Road
Brookville Road
Brookville Road
Brookville Road
Brookville Road
Brookville Road
Brookville Road
Brookville Road
Westland Avenue
谁能帮我解决这个问题
【问题讨论】:
标签: python pandas dataframe append reverse-geocoding