There is a newer version of the record available.

Published November 2, 2022 | Version v5.0
Software Open

raphaelquast/EOmaps: EOmaps v5.0

Authors/Creators

  • 1. TU Wien Department of Geodesy and Geoinformation

Description

A new major release that brings a lot of very nice features and updates πŸ₯³

❗ (possibly) breaking changes to v4.x ❗ New layer-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")

Changes for the 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_cb and m.colorbar.ax_cb_plot
    • To set the size of the colorbar, use m.colorbar.set_position(...)
    • To remove a colorbar, use m.colorbar.remove()
🌳 New 🧰 Companion widget

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 w on 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 map

There 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 Layers

It 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"
  • The "vertical stacking order" for plotting is still exclusively determined by the zorder property 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 Maps object 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 shift while 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 control while 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 (or v) 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.
    m = Maps()
    m.set_extent_to_location("Austria")
    m.add_wms.OpenStreetMap.add_layer.default()
    
    ## πŸ“· Snapshots for JupyterNotebooks
  • 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.
πŸ‘“ Updates for peek-layer callbacks:
  • 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
... additional new features ...
  • 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_wms
    • m.add_wms.OpenStreetMap.OSM_landuse
Dynamic artists are now layer-sensitive!
  • annotations and markers can now be added to specific layers: m.add_annotation(layer=...) and m.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 use layer="all")
🌦️ (non-breaking) Changes
  • obsolete arguments radius and radius_crs have been removed from m.set_shape.raster()
  • the default radius for m.set_shape.geod_circles has been set to 1km
πŸ”¨ Fixes
  • 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