从 GeoJSON 对象创建 GeoDataFrame

Posted

技术标签:

【中文标题】从 GeoJSON 对象创建 GeoDataFrame【英文标题】:Create a GeoDataFrame from a GeoJSON object 【发布时间】:2016-10-10 06:12:42 【问题描述】:

我有一个多边形特征集合,我必须先将它写入一个临时文件,然后使用geopandas.GeoDataFrame.from_file(tmp_json_file) 加载它,有什么方法可以不写入临时文件并从GeoJSON 对象?

【问题讨论】:

【参考方案1】:

您可以为此使用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)

【讨论】:

它对简单的多边形很有效,但我还有另一个由PolygonsMultiPolygons 组成的FeatureColletion,我不知道如何处理它的几何形状 “如何处理它的几何形状”是什么意思?是否无法创建 geopandas GeoDataFrame? (因为它们可以包含具有不同几何类型的几何列,所以这应该不是问题) 你能单独提出一个问题吗? (因为它是另外一回事,关于如何创建一个 FeatureCollection)

以上是关于从 GeoJSON 对象创建 GeoDataFrame的主要内容,如果未能解决你的问题,请参考以下文章

验证 geojson 对象

如何从 GeoJson 创建 utfgrid 瓦片?

如何使用 python 从 geojson 创建 GeometryCollection?

如何从图像叠加层创建 geojson 文件?

在 GeoJson 对象中包含 JSON 流?

Node.js如何将geojson从mongodb传递给我可以在前端使用的对象