Blog

Matthew Fullerton and some interesting CKAN extension development.

  • Steven De Costa
  • 20 Apr 2021
Matthew Fullerton - mattfullertonNote: 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/