geojsoncontour
A Python 3 module to convert matplotlib contour plots to geojson. Supports both contour and contourf plots.
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 or geojson.tools.
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.
Development
Tests
Run all tests,
python -m unittest discover
Release
Install setuptools, wheel and twine:
python -m pip install --upgrade setuptools wheel twine
Increase the version number in setup.py.
Create dist:
python setup.py sdist bdist_wheel
Upload:
twine upload dist/*
Metadata
Release files for geojsoncontour 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| geojsoncontour-0.5.0.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| geojsoncontour-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / geojsoncontour-0.5.0.tar.gz
| Download URL | geojsoncontour-0.5.0.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea81dc5a5b0514580c1a5709570d2d00c92f11d20aa406a07c6a6f6643f92875
|
|
BLAKE2b-256 checksum How to use checksums |
2ca8a703208ca794ba0b21dc9f1ac13d90c6694f3fb7b6b91a4bea21b9b5a455
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Release files / geojsoncontour-0.5.0-py3-none-any.whl
| Download URL | geojsoncontour-0.5.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
227c2bbfd7852737abeb546015421aec32c58f0f4651c7009b762152bdd0edea
|
|
BLAKE2b-256 checksum How to use checksums |
e1d9fd95220a2b4557f0f64093d9a35a87cc884176a64ae86bd57283df3fffd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|