Convert matplotlib contour plots to geojson
Project description
Designed to show geographical contour plots, created with matplotlib/pyplot, as vector layer on interactive slippy maps like OpenLayers and Leaflet.
Demo project that uses geojsoncontour: climatemaps.romgens.com
Installation
Install with pip,
$ pip install geojsoncontour
Usage
Use contour_to_geojson to create a geojson with contour lines from a matplotlib.contour plot (not filled). Use contourf_to_geojson to create a geojson with filled contours from a matplotlib.contourf plot.
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, cmap=plt.cm.jet)
# Convert matplotlib contour to geojson
geojson = geojsoncontour.contour_to_geojson(
contour=contour,
ndigits=3,
unit='m'
)
For filled contour plots (matplotlib.contourf) use contourf_to_geojson. See example_contour.py and example_contourf.py for simple but complete examples.
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.
Create geojson tiles
Try geojson-vt or tippecanoe if performance is an issue and you need to tile your geojson contours.
Tests
Run all tests,
python -m unittest discover
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for geojsoncontour-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f426281407bf944a4621b18a9b9bda7912d65e24268e203fcc9e59547fb9d3a |
|
MD5 | fa84962684a0615c8012a339da76de98 |
|
BLAKE2b-256 | 993b3977794d9137286d912146fb2a0faa48b65b9ae32194f10061c4f05158da |