For people who use web mapping libraries ...
If GeoJSON is enclosed in FeatureCollection , as is often the case when exporting to a GeoJSON string using web mapping libraries (in my case, Leaflet), then all you have to do is pass the list from features to from_features() like this:
import geopandas as gpd study_area = json.loads(""" {"type": "FeatureCollection", "features": [{"type": "Feature", "properties": {}, "geometry": {"type": "Polygon", "coordinates": [[[36.394272, -18.626726], [36.394272, -18.558391], [36.489716, -18.558391], [36.489716, -18.626726], [36.394272, -18.626726]]]}}]} """) gdf = gpd.GeoDataFrame.from_features(study_area["features"]) print(gdf.head())
Output:
geometry 0 POLYGON ((36.394272 -18.626726, 36.394272 -18....
Easy peasy.
source share