A Python 3 module to convert matplotlib contour plots to geojson.
Designed to show geographical contour plots, created with matplotlib/pyplot, as vector layer on interactive maps interactive slippy maps like OpenLayers and Leaflet.
The recommended way to install is via pip,
$ pip install geojsoncontour
import numpy
import matplotlib.pyplot as plt
import geojsoncontour
# Create contour data lon_range, lat_range, Z
<your code here>
# Create a contour plot plot from grid (lat, lon) data
figure = plt.figure()
ax = figure.add_subplot(111)
contour = ax.contour(lon_range, lat_range, Z, levels=levels, cmap=plt.cm.jet)
# OR contourf = ax.contourf(lon_range, lat_range, Z, levels=levels, cmap=plt.cm.jet)
# Convert matplotlib contour to geojson
geojsoncontour.contour_to_geojson(
contour=contour, # OR contourf=contourf
geojson_filepath='out.geojson',
contour_levels=levels,
ndigits=3,
unit='m'
)
See example1.py for a basic but complete example.
An easy way to show the generated geojson on a map is the online geojson renderer geojson.io.
Stroke color and width are set as geojson properties following https://github.com/mapbox/simplestyle-spec.