[ckan-dev] Viewing realtime data in CKAN and styling geojson data

Matthew Fullerton matt.fullerton at gmail.com
Fri Jul 10 10:05:38 UTC 2015


Short version:
@global: Are these things anything anyone would like to be able to use in
their CKAN? I would have to do some more work to add a UI for configuration
and so.
@dev: Are these things best put into new extensions with (inevitably) some
duplication or as options in current extensions with (inevitably) some
bloating of code over and above typically needed features?
@Steve: Would this be good material for (a) blog post(s)

Long version:

Dear CKAN community,
I have some experimental work that I would like to get some feedback on.

- 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[1].
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[2], 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.

Best Regards,
Matt

[1] https://github.com/mapbox/simplestyle-spec
[2] https://github.com/perliedman/leaflet-realtime

--
Matthew Fullerton
Freelance Software Developer und EXIST Stipend holder with the start up
project "Tapestry" -http://www.smartlane.de/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20150710/7303eba8/attachment-0002.html>


More information about the ckan-dev mailing list