如何比较不同格式的地理位置?
Posted
技术标签:
【中文标题】如何比较不同格式的地理位置?【英文标题】:How to compare geolocations with different formats? 【发布时间】:2019-12-03 02:44:35 【问题描述】:我正在使用阿姆斯特丹的 JSON 文件来获取不同区域的坐标,并且我想将这些坐标与我用纬度和经度列生成的数据框进行比较。但是格式非常不同,我不确定如何继续。这是 JSON 坐标的格式:
'area' : 'Noord'
'coordinates' :[[[4.971481, 52.325345],
[4.971263, 52.32558],
[4.971131, 52.325707],
[4.970473, 52.326281],
[4.970254, 52.326163],
[4.969608, 52.326511],
[4.96921, 52.326776],
[4.967541, 52.327751]
这是我的数据框的格式:
house_id latitude longitude
1 52.327751 4.967541
我的预期输出是:
house_id latitude longitude area
1 52.327751 4.967541 Noord
基本上,我想将我的 df 的纬度和经度列与 JSON 坐标的值进行比较,如果它们包含在 JSON 坐标中,请将区域名称写入我的“区域”列中的 df。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:假设你的 json 在一个字典中,你可以做一个快速的函数:
def check(x):
lat,lon = x['latitude'],x['longtiude']
result = [True for coord in j['coordinates'][0] if [lon,lat] == coord]
if result:
return j['area']
else:
return None
df['area'] = df.apply(check,axis=1)
输出:
house_id latitude longtiude area
0 1 52.327751 4.967541 Noord
【讨论】:
以上是关于如何比较不同格式的地理位置?的主要内容,如果未能解决你的问题,请参考以下文章