[Qgis-user] Protocols supporting update notifications on remote feature sources
Thomas Wunder
foren.thomas at thomas-wunder.de
Tue Feb 21 09:55:58 PST 2023
Dear members of the QGIS User discussion list,
I'm using QGIS (currently 3.22.5) on and off for a couple of years now and I
have been dealing with different vector feature data stores such as shape files,
PostGIS, and as of recently WFS(-T) based on my local GeoServer installation.
There are two problems though:
#1 I need to use real time vector data in my map project. I'm working on a
GNSS based asset tracking system, that provides multiple point features
representing the current location of those assets (e.g. vehicles). Assets
appear, disappear, they move, and update their attribute data. All that should
be visible on the corresponding QGIS map layer instantly and without manual
reloading. The closest solution I know so far, is using PostgreSQL's NOTIFY
feature to trigger reloading the whole layer.
#2 I need to collaboratively work on a bunch of vector feature stores. That
is, there are multiple clients (QGIS/QField/open layers/...) that display a
particular feature store through vector layers.
If the feature store is modified by one client, the modifications aren't
automatically pushed to all other clients. Instead, those other clients need
to manually refresh the layer, schedule a refresh every couple of seconds or
also use something like PostgreSQL's NOTIFY to trigger a refresh to see that
the data source has changed or rather fetch the current state of the data
store. Again, reloading the whole layer is far from perfect. Imho it would be
ideal to have some pub/sub communication model between the server and the
clients that allows clients to subscribe to update events on a data source and
allows for feature level or even attribute level update notifications.
Question: Are there any protocols that allow for pushing update events from
the server to the clients (and are supported by QGIS)?
Best regards!
Thomas
More information about the QGIS-User
mailing list