在多边形中计算坐标点

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

我想计算在一个预先指定的多边形中出现的几个点。我正在通过以下方式加载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 pandas geolocation coordinates polygon
1个回答
0
投票

你可以尝试对你的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.坐标的点。

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