A library to create interactive maps of geographical datasets
A quick bugfix release to address issues with disappearing colorbars on multiple layers.
A minor release that brings a new plot-shape!
Make sure to also checkout the release-notes for EOmaps v8.0!
There is a new shape to visualize your data as hexagonal-bin plots!
m.set_shape.hexbin(size=(20, 40), aggregator="mean")
m.set_shape.scatter_points(size=...)
InsetMaps
indicator-lines if multiple boundary intersections are foundm.get_extent()
is used with a crs other than the plot-crsm.add_gridlines
with uneven number of explicit lon/lat valuesellipses
and geod_circle
shapespeek_layer
callback aream.plot_map
if no classification is usedbbox=None
with annotations to to hide the bounding-boxm.add_gridlines(where="tblr")
has been improvedA minor release that brings a new plot-shape!
Make sure to also checkout the release-notes for EOmaps v8.0!
There is a new shape to visualize your data as hexagonal-bin plots!
m.set_shape.hexbin(size=(20, 40), aggregator="mean")
m.set_shape.scatter_points(size=...)
InsetMaps
indicator-lines if multiple boundary intersections are foundm.get_extent()
is used with a crs other than the plot-crsm.add_gridlines
with uneven number of explicit lon/lat valuesellipses
and geod_circle
shapespeek_layer
callback aream.plot_map
if no classification is usedbbox=None
with annotations to to hide the bounding-boxm.add_gridlines(where="tblr")
has been improveddask-expr
dependency for datashader
A big thanks goes to @banesullivan, @yeelauren and @jhkennedy who provided many useful suggestions and comments to improve EOmaps in the PyOpenSci review (https://github.com/pyOpenSci/software-submission/issues/138)!
The EOmaps source code is now licensed under a BSD 3 Clause License to make it easier for users and contributors to improve and extend the codebase and to use EOmaps to build awesome tools for geo-data analysis!
Make sure to have a look at the licensing-note in the FAQ of the docs for some more details!
Interested in contributing to EOmaps? Checkout the updated Contribution Guide!
pip
installDependency management for EOmaps
has been improved to split between required and optional dependencies.
β
pip install eomaps
now only installs the bare minimum requirements to runEOmaps
. βTo install EOmaps with all optional dependencies, usepip install eomaps[all]
.
Make sure to have a look at the updated installation instructions in the docs for more details on how to selectively install optional dependencies!
m.set_data(...)
now directly accepts xarray.Datasets
as input (see docs on how to assign datasets)overlay_layer
m.all.cb.keypress.attach.overlay_layer(<layer-name>, key="a")
switch_layer
keypress-callback now also accepts lists of layer-names (or lists of tuples (name, transparency)
)"ensure_same_id"
LayoutEditor
now accepts -1
as width/height value for axes (to auto-adjust the value)There is now a collection of pre-configured Jupyter Widgets that can be used as control elements in Jupyter Notebooks!
Make sure to checkout the corresponding πΉοΈ EOmaps Jupyter Widgets section in the docs!
pyproject.toml
file (instead of setup.py
)>=3.8
_version.py
has been removed. The version is now specified in the [project]
category of the pyproject.toml
file.micromamba
to setup (and cache) test environmentsshow_outline
and ylabel
have been renamed to outline
and hist_label
The following (previously deprecated) methods are now removed:
m.set_data_specs
$\Rightarrow$ usem.set_data
insteadm.add_wms.DLR_basemaps...
$\Rightarrow$ usem.add_wms.DLR.basemap...
insteadm_inset.indicate_inset_extent
$\Rightarrow$ usem_inset.add_extent_indicator
instead
numpy
binary incompatibility warning if netCDF4
is imported after numpym.apply_layout(...)
shade_raster
shaperaster
-shapem.add_text(...)
numpy.ma.masked_array
issues with datashader/numba when using "shade_points"
raster
shape with 1D datasetsA big thanks goes to @banesullivan, @yeelauren and @jhkennedy who provided many useful suggestions and comments to improve EOmaps in the PyOpenSci review (https://github.com/pyOpenSci/software-submission/issues/138)!
The EOmaps source code is now licensed under a BSD 3 Clause License to make it easier for users and contributors to improve and extend the codebase and to use EOmaps to build awesome tools for geo-data analysis!
Make sure to have a look at the licensing-note in the FAQ of the docs for some more details!
Interested in contributing to EOmaps? Checkout the updated Contribution Guide!
pip
installDependency management for EOmaps
has been improved to split between required and optional dependencies.
β
pip install eomaps
now only installs the bare minimum requirements to runEOmaps
. βTo install EOmaps with all optional dependencies, usepip install eomaps[all]
.
Make sure to have a look at the updated installation instructions in the docs for more details on how to selectively install optional dependencies!
m.set_data(...)
now directly accepts xarray.Datasets
as input (see docs on how to assign datasets)overlay_layer
m.all.cb.keypress.attach.overlay_layer(<layer-name>, key="a")
switch_layer
keypress-callback now also accepts lists of layer-names (or lists of tuples (name, transparency)
)"ensure_same_id"
LayoutEditor
now accepts -1
as width/height value for axes (to auto-adjust the value)There is now a collection of pre-configured Jupyter Widgets that can be used as control elements in Jupyter Notebooks!
Make sure to checkout the corresponding πΉοΈ EOmaps Jupyter Widgets section in the docs!
pyproject.toml
file (instead of setup.py
)>=3.8
_version.py
has been removed. The version is now specified in the [project]
category of the pyproject.toml
file.micromamba
to setup (and cache) test environmentsshow_outline
and ylabel
have been renamed to outline
and hist_label
The following (previously deprecated) methods are now removed:
m.set_data_specs
$\Rightarrow$ usem.set_data
insteadm.add_wms.DLR_basemaps...
$\Rightarrow$ usem.add_wms.DLR.basemap...
insteadm_inset.indicate_inset_extent
$\Rightarrow$ usem_inset.add_extent_indicator
instead
numpy
binary incompatibility warning if netCDF4
is imported after numpym.apply_layout(...)
shade_raster
shaperaster
-shapem.add_text(...)
numpy.ma.masked_array
issues with datashader/numba when using "shade_points"
raster
shape with 1D datasetsA third release-candidate for EOmaps v8.
For a full list of upcoming changes, fixes and improvements, see #205
A second release-candidate for EOmaps v8.
For a full list of upcoming changes, fixes and improvements, see #205
A first release-candidate for EOmaps v8.
For a full list of upcoming changes, fixes and improvements, see #205
Another round of bug-fixes for v7.3.
MapsGrid
objects now have dedicated .show()
and .snapshot()
methodsm.savefig()
ipympl
backendm.set_frame()
if corners are not roundedplt.gcf
A second bugfix release for v7.3 that brings some important fixes for Jupyter Notebooks, custom WebMap services and RGB/RGBA composite plots.
m = Maps()
m.add_feature.preset("coastline", "ocean", "land", alpha=0.5)
my_wms = m.add_wms.get_service("service-url", service_type="wms", version=1.3.0)
ipympl
backend is now hidden by default.
To revert back to the old behavior (and enable the header), use:
%matplotlib widget
m = Maps()
m.f.canvas.header_visible = True
m.set_frame()
m.set_frame()
in jupyter notebook inline backendA first series of bugfixes for v7.3.
InsetMap indicator lines are now only drawn between the boundaries of the InsetMap and its extent.
You can add markers at the connection points with:
m_inset.add_indicator_line(m, marker="o", markersize=10)
m.set_frame
m.add_title