raphaelquast/EOmaps: EOmaps v5.0
Description
A new major release that brings a lot of very nice features and updates π₯³
β (possibly) breaking changes to v4.x β Newlayer-name convention:
All layer-names are now parsed as
string! (any non-string object passed as layer-name will be converted to string and a warning is shown)The
"|"character is used as a separator for multi-layers (see new β§ Multi Layers feature below) (a layer-name such as"first|second"now represents the combined artists for the layers"first"and"second")
colorbar
The implementation of the colorbar has been re-worked and several changes have been introduced:
- Colorbars are now accessible via
m.colorbar- Some arguments of
m.add_colorbar(...)have changed! Check the docstring for details! - The individual colorbar-axes are accessible via
m.colorbar.ax_cbandm.colorbar.ax_cb_plot - To set the size of the colorbar, use
m.colorbar.set_position(...) - To remove a colorbar, use
m.colorbar.remove()
- Some arguments of
Starting with v5.0, EOmaps provides an awesome companion-widget to speed up data-comparisons and analysis.
NOTE: Using the widget is only possible if you use matplotlibs
"PyQt5"backend!
- To open the widget, simply press
won the keyboard while the mouse-pointer is hoovering the map. - The
?button on the top left can be used to activate showing help-tooltips if you hoover over the controls explain their functionalities.
<img width=30% src=https://user-images.githubusercontent.com/22773387/196920135-71da93dc-77c9-4bdd-b72d-4c63a5e6d841.png> <img width=30% src=https://user-images.githubusercontent.com/22773387/196920247-8093ff0e-a65a-4a79-9c38-104d405178f6.png> <img width=30% src=https://user-images.githubusercontent.com/22773387/196920331-6a7a3395-e57f-4850-9a27-9352a12d3268.png>
π Checkout the corresponding section in the docs for more details! π§° Companion Widget
βοΈ Draw shapes on the mapThere is a new functionality to draw simple (geo-coded) shapes on the map!
<img src=https://user-images.githubusercontent.com/22773387/173678067-1c4b49ca-f049-43d3-8c89-7e6be88f27fa.gif width=50%>
π Checkout the corresponding section in the docs for more details! βοΈ Draw shapes on the map
β§ Multi LayersIt is now possible to create "multi-layers" which inherit their artists from existing layers.
The layer-name hereby consists of existing layer-names separated by "|".
To show the layers "first" and "second" at the same time, use:
m.show_layer("first|second")
- If you view a multi-layer, ALL artists from the constituting layers will be shown!
- E.g.:
"first|second|third"will show all artists of the layers"first","second"and"third"
- E.g.:
- The "vertical stacking order" for plotting is still exclusively determined by the
zorderproperty of the artists!- (artists at the same zorder are ordered with respect to the creation-time)
- It is possible (however rarely useful) to create a
Mapsobject representing multi-layers- Its artists will then only be shown if all constituting layers are visible
π Checkout the corresponding section in the docs for more details! π Basics/Layers
ποΈ Updates for the Layout Editor- Select (and edit) multiple axes by holding
shiftwhile clicking on the axes - Scaling the axes-size (with the scroll-wheel or the
+/-buttons) now preserves the center of the axis - If you hold down
controlwhile a colorbar is selected, the scroll wheel (or the+/-buttons) will adjust the relative size between the colorbar and the histogram - If you hold down
h(orv) the scroll-wheel adjusts only the horizontal (or vertical) size of the axes
π Checkout the corresponding section in the docs for more details! ποΈ Layout Editor
πΊοΈ Set map-extent via OpenStreetMap Nominatim query- There is now a method to set the extent of the map via a OSM query.
## π· Snapshots for JupyterNotebooksm = Maps() m.set_extent_to_location("Austria") m.add_wms.OpenStreetMap.add_layer.default() - The new
m.shapshot()functionality allows you to plot static snapshots of a map in Jupyter Notebooks (or in the IPython console) irrespective of the used backend.
- It is now possible to use transparency when peeking on a layer!
m.cb.click.attach.peek_layer(layer="some layer", alpha=.5) - There's a new option
how="full"to overlay another layer on the whole axis - The size of the square used for peeking (e.g.
how=0.5) is now always with respect to the smallest axis-dimension
- Equi7Grid projections can now be accessed via explicit names (e.g.:
Equi7_EU,Equi7_AF...) - Any colormap created by EOmaps during runtime is now always registered as a matplotlib colormap
- It is now possible to add logos to specific layers by using:
m.add_logo(layer=...) - π°οΈ New WebMap services
m.add_wms.OpenStreetMap.OSM_wmsm.add_wms.OpenStreetMap.OSM_landuse
- annotations and markers can now be added to specific layers:
m.add_annotation(layer=...)andm.add_marker(layer=...) - To add dynamic artists on specific layers, simply use
m.BM.add_artist(<artist>, layer=...)(to make the artist visible on all layers, simply uselayer="all")
- obsolete arguments
radiusandradius_crshave been removed fromm.set_shape.raster() - the default radius for
m.set_shape.geod_circleshas been set to 1km
- fix default style kwarg for wms layers
- remove obsolete shape arguments
- fix custom args for feature presets
- fix _on_layer_change actions
- fix fetching wmts services
- fix passing kwargs to wms and wmts services added to the active layer
- fix updating background layers on add/remove of artists
- fix handling of encoded NetCDF data
Files
raphaelquast/EOmaps-v5.0.zip
Files
(31.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:b4a621880bcdc7242c02ed32ea4ad6d5
|
31.3 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/raphaelquast/EOmaps/tree/v5.0 (URL)