/geojsoncontour

Convert matplotlib contour plots to geojson

Primary LanguagePython

geojsoncontour

Build Status PyPI version Coverage Status
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.

Installation

The recommended way to install is via pip,

$ pip install geojsoncontour

Usage

contour plot to geojson
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.

Show the geojson on a map

An easy way to show the generated geojson on a map is the online geojson renderer geojson.io.

Style properties

Stroke color and width are set as geojson properties following https://github.com/mapbox/simplestyle-spec.