GeoNode / geonode-mapstore-client

MapStore Client for GeoNode
http://geonode.org/geonode-mapstore-client/master
Other
14 stars 106 forks source link

Implement cross widget filter for dashboards #806

Open gannebamm opened 2 years ago

gannebamm commented 2 years ago

We intend to fund this development as part of an upcoming tender process. This feature request shall start discussing how the developed functionality could get upstreamed to the main project.

Issue: Scientific datasets are complex and complicated to grasp most of the time. If those datasets are used in dashboards, the amount of displayed information is very high, hindering easy understanding.

Objective: To improve data exploration and retrieval, viewers should be able to filter dashboard widgets. A functional implementation can be seen in Apache Superset and is drafted in the following screenshots:

grafik

superset dashboard with applied filters

grafik

superset dashboard with applied ecoregion filter. The widgets show one active filter and change their graphs accordingly.

Dashboard creators shall be able to define what type of filters can be used and if there shall be default values and which widgets shall be recipients of the filter. An example of the needed functionality is shown in this demonstration on YouTube: https://www.youtube.com/watch?v=Qzv8ZQvLyZg

AlexGacon commented 2 years ago

It's a topic I often meet recently : mixing data on maps with charts. Is the best option to put more chart interaction into GeoNode or to put more map into Superset ?

gannebamm commented 2 years ago

I really like Superset and tested it with our data. It does provide many nice features a very good UI/UX and is quite fast, even without much optimization. But you do not have any kind of authentication mechanisms in place and are not able to fetch data from OGC sources since it is SQL and sqlalchemy only. You would have to synchronise the whole authentication/authorization from GeoNode (Django) with Superset which is not a trivial task. Additionally, as you already pointed out there is currently only Mapbox as a geodata provider and mapping option which is an absolute no-go for us. But in the end, we are open to ideas and only want the feature in a way it fits for us as scientists and most of you as the community (so it makes sense to upstream it).

AlexGacon commented 2 years ago

For the authentication, you indeed to use something like KeyCloak to have a central AuthN provider. We already managed to do that between GeoNode and Superset for a POC.

If your need sticks to have more interaction between widgets, I think that it should be possible within MapStore (but in this case, this issue would be in a better place in the MapStore project no ?). Since your screenshots show charts currently not available in MapStore, I am afraid that at the end, you will need something bigger than the initial requirement.

gannebamm commented 1 year ago

There are some exciting features shown in this presentation: https://speakerdeck.com/simboss/developing-with-mapstore-creating-a-custom-dashboard-to-map-crime-data'

Maybe some code snippets can be re-used for this feature