从 GeoJSON 对象创建 GeoDataFrame

Create a GeoDataFrame from a GeoJSON object

我有一个多边形的特征集合,我必须先将它写入一个临时文件,然后用 geopandas.GeoDataFrame.from_file(tmp_json_file) 加载它,有什么办法可以不写入临时文件而只创建 GeoDataFrame 来自 GeoJSON 对象?

您可以为此使用 GeoDataFrame.from_features() 函数。一个小例子(假设你有一个 geojson FeatureCollection):

In [1]: from geojson import Feature, Point, FeatureCollection

In [2]: my_feature = Feature(geometry=Point((1.6432, -19.123)), properties={"country": "Spain"})

In [3]: my_other_feature = Feature(geometry=Point((-80.234, -22.532)), properties={'country': 'Brazil'})

In [4]: collection = FeatureCollection([my_feature, my_other_feature])

In [6]: import geopandas

In [7]: geopandas.GeoDataFrame.from_features(collection['features'])
Out[7]:
  country                 geometry
0   Spain   POINT (1.6432 -19.123)
1  Brazil  POINT (-80.234 -22.532)