# geojsoncontour
[](https://travis-ci.org/bartromgens/geojsoncontour) [](https://badge.fury.io/py/geojsoncontour) [](https://coveralls.io/github/bartromgens/geojsoncontour?branch=master)
A Python 3 module to convert matplotlib contour plots to geojson. Supports both contour and contourf plots.
Designed to show geographical [contour plots](http://matplotlib.org/examples/pylab_examples/contour_demo.html),
created with [matplotlib/pyplot](https://github.com/matplotlib/matplotlib), as vector layer on interactive slippy maps like [OpenLayers](https://github.com/openlayers/ol3) and [Leaflet](https://github.com/Leaflet/Leaflet).
Demo project that uses geojsoncontour: [climatemaps.romgens.com](http://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
```python
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](examples/example_contour.py) and [example_contourf.py](examples/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](http://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](https://github.com/mapbox/geojson-vt) or [tippecanoe](https://github.com/mapbox/tippecanoe) if performance is an issue and you need to tile your geojson contours.
## Tests
Run all tests,
```
python -m unittest discover
```
[](https://travis-ci.org/bartromgens/geojsoncontour) [](https://badge.fury.io/py/geojsoncontour) [](https://coveralls.io/github/bartromgens/geojsoncontour?branch=master)
A Python 3 module to convert matplotlib contour plots to geojson. Supports both contour and contourf plots.
Designed to show geographical [contour plots](http://matplotlib.org/examples/pylab_examples/contour_demo.html),
created with [matplotlib/pyplot](https://github.com/matplotlib/matplotlib), as vector layer on interactive slippy maps like [OpenLayers](https://github.com/openlayers/ol3) and [Leaflet](https://github.com/Leaflet/Leaflet).
Demo project that uses geojsoncontour: [climatemaps.romgens.com](http://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
```python
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](examples/example_contour.py) and [example_contourf.py](examples/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](http://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](https://github.com/mapbox/geojson-vt) or [tippecanoe](https://github.com/mapbox/tippecanoe) if performance is an issue and you need to tile your geojson contours.
## Tests
Run all tests,
```
python -m unittest discover
```
Metadata
Release files for geojsoncontour 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| geojsoncontour-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / geojsoncontour-0.3.0-py3-none-any.whl
| Download URL | geojsoncontour-0.3.0-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eadcd85d837ec5468404dcdbfc6a489beb819d59ee33aacaa27fa3917ce412f6
|
|
BLAKE2b-256 checksum How to use checksums |
b72b565e28bf93042c69b20aff0c11763f5ee6f08fd599918e8695f6a85e3f01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |