Skip to content

EOmaps v2.0

Compare
Choose a tag to compare
@raphaelquast raphaelquast released this 23 Nov 13:53
· 3194 commits to master since this release
dd5e69f

This release represents a complete re-work compared to EOmaps v1.x.x !

🌼 A documentation is now available on readthedocs! >>> check it out here

🌳 new

🌴 WMS and WMTS capabilities

  • ❗ requires optional dependency owslib
  • WMTS (or WMS) layers can be added via:
    • m.add_wmts.<COLELCTION>.add_layer.<LAYER>(**kwargs)
    • m.add_wmts.<COLELCTION>[<LAYER>](**kwargs)
  • pre-defined layers include interfaces to
    • ESA Copernicus & WorldCover layers
    • Sentinel-1 Global Backscatter Model
    • EEA Discomap layers
    • NASA GIBS
    • Austrian basemaps (basemap.at & Vienna)
    • ... and more!

🌵 re-arrange plot-axes via drag & drop

  • press alt + d to activate / deactivate "axis-arrangement" mode
    • use the mouse to select the axis you want to change
    • use "left/right/up/down" or the mouse to move the selected layer
    • use "alt+left/right/up/down" to move the layer quicker
    • use "ctrl+up/down" to show/hide colorbars & histograms

🌲 share callback-events between multiple Maps objects

  • e.g.: click on one map to trigger a callback on multiple connected maps!
    • to connect maps-objects, provide a "parent"-object on initialization m = Maps(parent=m0)
    • forward callback-triggers from one Maps object to others via:
      m.cb.click.forward_events(m1, m2, m3)
    • ... or join the callback-events "both-ways" via
      m.cb.click.share_events(m1, m2, m3)

🌱... and some more:

  • there's a new MapsGrid object to quickly initialize a grid of Maps-objects
    m1, m2, m3, m4 = MapsGrid(2, 2)
  • join zoom-limits between multiple axes (with the same crs)
    m.join_limits(m1, m2, m3)

🦠changes

  • f, gs_ax and orientation are now set on initialization of the Maps-object!
    (they are no longer arguments of m.plot_map())

  • callbacks are now accessed differently

    • instead of m.cb.attach() and m.cb_click.attach there's now
      • m.cb.click : trigger callbacks when clicking anywhere on the map
      • m.cb.pick : trigger callbacks when clicking on a point of the plotted dataset
      • m.cb.keypress : trigger callbacks when pressing a key
      • m.cb.dynamic : trigger callbacks on events (e.g. zoom)

🔨 fixes

  • make sure shapes are properly copied on m.copy()
  • make sure geod_circles only takes numbers as radius
  • sharing callbacks now works across coordinate-systems!
  • multiple temporary markers & annotations are now supported