Convert geopandas shapely polygon to geojson
If you don't want to create this dict manually, you can also rely on geopandas
creating it:
In [1]: import shapely.geometryIn [2]: import geopandasIn [3]: shapely_polygon = shapely.geometry.Polygon([(0, 0), (0, 1), (1, 0)])In [4]: geopandas.GeoSeries([shapely_polygon]).__geo_interface__Out[4]: {'bbox': (0.0, 0.0, 1.0, 1.0), 'features': [{'bbox': (0.0, 0.0, 1.0, 1.0), 'geometry': {'coordinates': (((0.0, 0.0), (0.0, 1.0), (1.0, 0.0), (0.0, 0.0)),), 'type': 'Polygon'}, 'id': '0', 'properties': {}, 'type': 'Feature'}], 'type': 'FeatureCollection'}
(Note that this gives a FeatureCollection and not a single feature.)
Or to a string (or file):
In [4]: geopandas.GeoSeries([shapely_polygon]).to_json()Out[4]: '{"features": [{"bbox": [0.0, 0.0, 1.0, 1.0], "geometry": {"coordinates": [[[0.0, 0.0], [0.0, 1.0], [1.0, 0.0], [0.0, 0.0]]], "type": "Polygon"}, "properties": {}, "id": "0", "type": "Feature"}], "bbox": [0.0, 0.0, 1.0, 1.0], "type": "FeatureCollection"}'
Something like this should do the trick:
features = [{'type': 'Feature', 'properties': {}, 'geometry': shapely.geometry.mapping(shapelyObject)}]
Now you can try to map features
in mapbox.Hope this helps.
Reference:https://gis.stackexchange.com/questions/213717/geometry-workflow-from-shapely-to-geojson