Over the last couple of weeks, Karolina has been very busy improving and expanding Time Manager. This post is to announce the 1.6 release of Time Manager which brings you many fixes and exciting new features.
What’s this feature interpolation you’re talking about?
Interpolation is really helpful if you have multiple observations of the same (moving) real-world object at different points in time and you want to visualize the movement between the observations. This can be used to visualize animal paths, vehicle tracks, or any other movement in space.
The following example shows a simple layer which contains 12 point features (3 for each id value).
Using Time Manager interpolation, it is easy to create animations with interpolated positions between observations:
How is it done?
When you open the Time Manager 1.6 Settings | Add layer dialog, you will find a new option for interpolation settings. This first version supports linear interpolation of point features but more options might be added in the future. Note how the id attribute is specified to let Time Manager know which features belong to the same real-world object.
For the interpolation, Time Manager creates a new layer which contains the interpolated features. You can see this layer in the layer list.
I’m really looking forward to seeing all the great animations this feature will enable. Thanks Karolina for making this possible!
You probably remember my Game of Life posts from last year: Experiments with Conway’s Game of Life & More experiments with Game of Life where I developed a vector-based version of GoL.
Richard Wen and Claus Rinner at Ryerson University now published a raster-based version.
Here’s a screenshot of the script in action:
The code is hosted on Github and I’m sure there will be many other ideas which can build on code snippets to read and write raster cell values.
For more info, please visit the GIS at Ryerson blog.
How do you objectively define and compute which parts of a network are in the center? One approach is to use the concept of centrality.
Centrality refers to indicators which identify the most important vertices within a graph. Applications include identifying the most influential person(s) in a social network, key infrastructure nodes in the Internet or urban networks, and super spreaders of disease. (Source: http://en.wikipedia.org/wiki/Centrality)
Researching this topic, it turns out that some centrality measures have already been implemented in GRASS GIS. thumbs up!
v.net.centrality computes degree, betweeness, closeness and eigenvector centrality.
As a test, I’ve loaded the OSM street network of Vienna and run
v.net.centrality -a input=streets@anita_000 output=centrality degree=degree closeness=closeness betweenness=betweenness eigenvector=eigenvector
The computations take a while.
In my opinion, the most interesting centrality measures for this street network are closeness and betweenness:
Closeness “measures to which extent a node i is near to all the other nodes along the shortest paths”. Closeness values are lowest in the center of the network and higher in the outskirts.
Betweenness “is based on the idea that a node is central if it lies between many other nodes, in the sense that it is traversed by many of the shortest paths connecting couples of nodes.” Betweenness values are highest on bridges and other important arterials while they are lowest for dead-end streets.
(Definitions as described in more detail in Crucitti, Paolo, Vito Latora, and Sergio Porta. “Centrality measures in spatial networks of urban streets.” Physical Review E 73.3 (2006): 036125.)
Centrality: low values in pink, high values in green
Works great! Unfortunately, v.net.centrality is not yet part of the QGIS Processing GRASS toolbox. It would certainly be a great addition.
Since the 2.8 release is done, the QGIS team has been busy with a small side project: setting up a series of shops for fans of QGIS. Right now, the following shops are available:
There is a US and a Canadian shop. Additionally, there is also the possibility to design your own products (US, Canada).
There’s also a series of European shops, for example for the UK, Germany, and France. There are more, if Spreadshirt has a site for your country, there’s probably a QGIS shop too.
Thanks to Nathan for pointing out the Australian shop!
For each product sold, the QGIS project receives around $3 (minus applicable fees) which will go directly towards improving your favorite GIS.
It’s finally here! QGIS 2.8 LTR “Wien” is officially available for download now.
What’s an LTR
LTR stands for “Long Term Release”. This means that QGIS now has a system in place to provide a one-year stable release with backported bug fixes. The idea behind LTR is to have a stable platform for enterprises and organizations that don’t want to update their software and training materials more often than once a year. To make the LTR a success, users and developers alike should be aware that bug fixes should be applied to both the LTR branch as well as the normal development branch. If you are interested in the details, you can find more info in the corresponding QGIS Enhancement Proposal.
Users who enjoy working with the cutting-edge version will be able to follow the regular four-monthly release cycle like last year.
This new version comes with many great new features which you can explore in the official visual changelog. It’s really hard to pick but my personal favorites are:
On the layer styling front, there are two great additions: raster image fills and a live heatmap renderer which makes it possible to create dynamic heatmaps on the fly.
Raster image fill symbol layer type
Another feature I’m sure many of you will enjoy is the support for custom prefixes for joins.
Custom join prefixes
Last but not least, I want to point your attention to the great improvements to the rule-based legend which is now structured in a nice tree.
Rule-based renderer legend tree
Don’t forget to check out the other new features!
None of this would have been possible without the great QGIS community and all the many different people involved in running the project. Thanks a lot to all of you and a special shout out for the sponsors! *applause*
We all know that QGIS is great for designing maps but did you know that QGIS is also great for interactive web maps? It is! Just check out qgis2leaf and qgis2threejs.
To give these two plugins a test run and learn some responsive web design, I developed a small concept page presenting cycle routes in 3D.
Qgis2leaf makes it possible to generate Leaflet maps from QGIS layers. It provides access to different background maps and it’s easy to replace them in the final HTML file in case you need something more exotic. I also added another layer with custom popups with images but that was done manually.
Qgis2threejs on the other hand creates 3D visualizations based on three.js which uses WebGL. (If you follow my blog you might remember a post a while back which showcased Qgis2threejs rendering OSM buildings.)
This is a great way to explore elevation data. I also think that the labeling capabilities add an interesting touch. Controlling the 3D environment takes some getting used to, but if you can handle Google Earth in your browser, this is no different.
Today’s post was motivated by a question over on gis.stackexchange, basically: How to draw a line with a gradient?
The issue we have to deal with is there is no gradient line style yet … But there are polygon gradient fills. So we can buffer the line and style the buffers. It’s a bit of an exercise in data-defined styling though:
Before creating the buffer layer, we need to add the coordinates of the line start and end node to the line attributes. This is easy to do using the Field Calculator functions
yat, for example
xat(0) for the x coordinate of the start node and
yat(-1) for the y coordinate of the end node.
Then we can buffer the lines and start styling the buffers. As mentioned, we’ll use the Gradient fill Symbol layer type.
The interesting part happens in the Data-defined properties. The start and end colors are computed from the measurement values
to_m. Next, it’s important to use the
feature coordinate mode because this will ensure that the coordinate system for the color gradient is based on the feature extent (with [0,0] in the upper left corner of the feature bbox).
Once that’s set up, we can compute the gradient start and end positions based on the line start and end node locations which we added to the attribute table in the beginning. If you’re wondering why Reference point 1 y is based on
to_y (y coordinate of the line end point) rather than
from_y, it’s due to the difference in coordinate origins in the geometry and the color gradient coordinate space: [0,0] is the lower left corner for the geometries but the upper left corner for the color gradient.
As the title suggests, this is a really hackish solution for gradient line symbols. It will only provide reasonable results for straight – or close to straight – lines. But I’m very confident that we’ll have a real gradient line style in QGIS sooner or later.