我想计算在一个预先指定的多边形中出现的几个点。我正在通过以下方式加载EU NUTS区域
nuts = 'https://raw.githubusercontent.com/eurostat/Nuts2json/master/2016/4258/60M/nutsrg_2.json'
geo_json_nuts = json.loads(requests.get(nuts).text)
我有一个tuples列表或DataFrame,其中包含如下数据。
Index lon lat
0 -178.1328187 -14.3087256
1 -176.2036596 -13.3469813
2 -176.1720255 -13.2789922
3 -151.3381037 -22.4532474
4 -151.0331577 -16.7159449
... ... ...
现在我想把DataFrame中的lonlat和数据匹配起来。Feature properties id
载于 geo_json_nuts
. 意思是说,如果lonlat包含在多边形中的一个多边形中,则 geo_json_nuts
它应该得到属性id,如BE31或AT32等。
有谁知道如何处理这个问题?
先谢谢你
最好的问候Alex
你可以尝试对你的json文件进行标准化。
nuts = 'https://raw.githubusercontent.com/eurostat/Nuts2json/master/2016/4258/60M/nutsrg_2.json'
geo_json_nuts = json.loads(requests.get(nuts).text)
df = json_normalize(geo_json_nuts, 'features', ['coordinates'],
errors='ignore',
record_prefix='features_')
经过这个过程,你将有一个数据框架包含'features_properties.id'的id和features_geometry.坐标的点。