Panodata Map Panel for Grafana

About

The Panodata Map Panel is a map panel for Grafana with improved convenience, robustness, features and under active development.

It builds upon the original Grafana Worldmap Panel, integrates different contributions coming from the community and continues adding dearly requested features while focusing on robustness and stability.

Features

  • Clickthrough links
    This combines both clickthrough link implementations #129 and #190, integrates sticky labels from 6ac68ef and adds basic variable interpolation based on keys from dataPoint.

  • Improve editor screen layout and dialogs
    The editor screen has been improved to account for the growing number of settings. While being at it, some controls and their mechanics have been enhanced. The layouts for entering location source, data format, data mapping as well as adjusting visual options have been rearranged. Also, the selector dialogs for data format and mapping as well as map viewport defaults have been improved.

  • Improve viewport control

  • Display the legend out-of-band
    This feature optionally displays the legend box within a completely different DOM element located anywhere on the same page. This is convenient when rendering many small-sized maps within the same dashboard where the content of the legend is already redundant amongst them and would cover way too much space when rendered into each individual map widget.

  • Variable interpolation all the way down
    This brings Grafana-style variable interpolation to all panel settings. It will allow you to pull variables from dashboard variables, data point fields and URL request parameters and also override panel control options with URL request parameters.

    • Query parameters prefixed by request_ are merged into the set of variables interpolation dictionary.
    • Request parameters prefixed with panel- optionally override the respective control options.
  • Hybrid table+json(p) location data
    The new mapping options table+json and table+jsonp allow retrieving hybrid “table+json(p)” location information from JSON endpoint, even for table data.

  • Adjust attribution text
    Put an alternative text into the attribution area of the Leaflet map widget.

  • Configure circle marker strokes
    The new Enable strokes option can be used to turn off strokes on the marker circles, the Stroke width option can be used to adjust the stroke width.

  • Verbose notifications about warnings and errors
    The internal machinery now yields verbose warnings and error messages into the user interface. Appropriate exception and error handling has been introduced to signal error conditions and warnings to the user which helps tremendously when configuring and operating this plugin.

  • Disable automatic width-calculation of popup labels
    Toggling the new autoWidthLabels option to false will disable automatic width-calculation of popup labels. This helps controlling the popup rendering not to clip when displayed within narrow-sized maps.

  • Hide zoom control and attribution label
    Toggling the new Show Zoom Control and Show Attribution options can be used to hide the zoom control and attribution text areas. This helps when rendering small-sized maps.

  • Improve Kiosk-mode display
    In the long term, these options will have to be implemented beyond Panodata Map Panel.

    • The ignoreEscapeKey option will disable the ESC key to prevent the user leaving Kiosk mode.
    • The hideTimepickerNavigation option will hide the timepicker completely in order to further improve Kiosk mode.
  • Group values of data points from the very same location into a single popup (#27).

Setup

The most recent version of the Panodata Map Panel can be installed side-by-side with the canonical Grafana Worldmap Panel like

# Install most recent version side by side
grafana-cli \
  --pluginUrl https://github.com/panodata/panodata-map-panel/releases/download/0.16.0/panodata-map-panel-0.16.0.zip \
  plugins install panodata-map-panel

# Restart Grafana to activate plugin
systemctl restart grafana-server

Note

Starting with Grafana 7.x, it is mandatory to have plugins signed when running in production mode. However, there is an option to allow loading unsigned plugins in /etc/grafana/grafana.ini within the [plugins] section called

allow_loading_unsigned_plugins = my-plugin-name

which you might be able to use in order to opt-out from this when installing panodata-map-panel.

Development

History

The Panodata Map Panel has been forked from the Grafana Worldmap Panel.

We recently had the chance to dedicate some time to the Grafana Worldmap Panel. After adding some options here and there, some of them coming from the community already [1-4] (specifically we aimed at the drill-down feature here, thanks!), the code has been refactored a bit and finally the user interface has been cleaned up and restructured.

Testimonials

Thanks for putting all this work into the panel. […] great to see the community chipping in. All those features look like good additions. (@daniellee)

We massively appreciate your work and improvements on this plugin. They’re nothing short of transformational in terms of its usefulness. (@svet-b)

This fork has been getting more constant attention for the last year while the core plugin has not moved. (@ryantxu)

Examples

luftdaten.info map for Germany

We are using this to display synthesized address information on a map populated with data coming from luftdatenpumpe through InfluxDB and PostGIS data sources, see also LDI data plane v2.


– Source: luftdaten.info Map Europe

Editor screens

Location source, data format and mapping

Visual options

Details

Data format and mapping flavor

image

Map viewport defaults (center, zoom level)

image