Note: This is a re-post from one of our CKAN community contributors, Matthew Fullerton. He has been working on some interesting extensions, which are outlined below. You can support Matthew's work by providing comments below, or you can link through to his GitHub profile to comment or get in touch there.
Styling GeoJSON data
The GeoView extension makes it easy to add resource views of GeoJSON data. In our extended extension, attributes of the features (lines, points) in the FeatureCollection are styled according to
MapBox's SimpleStyle spec.
Here's an example where the file has been processed to add colors based on traffic flow state:
https://smartlane.io/dataset/different-geo-visualizations/resource/49f0fcff-b3c8-48c8-b1c6-ddc33e4a83fe
And another where the points are styled to (vaguely) look like colored traffic lights:
https://smartlane.io/dataset/different-geo-visualizations/resource/a4e397ad-cbd9-48bf-a77a-296c5fcc9559
(watch out, it can take a while to load)
Realtime GeoJSON data
Using
leaflet.realtime, an extension for the leaflet library that CKAN (GeoView) uses to visualize GeoJSON, maps can have changing points or colors/styles.
Here is an example of traffic lights changing according to pre-recorded data:
https://smartlane.io/dataset/traffic-light-stream-frankfurt-niederrad/resource/b6e4319e-f29b-480b-ad6d-214a753d3c2d
I'll try and add a demo with moving data points soon, it ought to work without any further code changes. The problem is often getting the live data in GeoJSON format... but we have a backend for preprocessing other data.
Realtime data plotting
By making only a few small changes, we are able to continuously update Graph views. You can see the changing (or not) temperature in our office here:
https://smartlane.io/dataset/temperature-sensor/resource/bd645638-5541-499e-861b-f9c97e60f35a
That's an example for 'lines and points' but it works for things like bar graphs too. Last week we had people competing to achieve the best time in a remote controlled robot race where their time was automatically displayed as a bar on a 'leader board'. For good measure we had an automatically updating histogram of the times too. Updating the actual data in CKAN is easy thanks to the DataStore API.
Matthew Fullerton
Freelance Software Developer and EXIST Stipend holder with the start up project "Tapestry"
-http://www.smartlane.de/