I originally posted this on xyHt on 16th Feb 2016
I had, when I went into the office today, to do an amazing blog about the QGIS 2.5D functionality and how it was the beginning of QGIS’ journey into the 3rd dimension.
Only I can’t, Anita Graser, the author of “Learning QGIS 2.0” and owner of the “Free and open source ramblings” blog beat me to it. I was not only beaten but she went and added a temporal element to it all….I can’t be upset, I have a lot of time and respect for Anita. In this case it worked in my favour, my competitiveness came out and I sat and thought of just how I was going to do something better.
First let’s discuss the “2.5” functionality, why haven’t you seen it & why is it gaining publicity?
The 2.5D rendering is a new function added to the styling options in QGIS 2.14 which will be released [approx] 25th March. This is available now, primarily for testing purposes through the QGIS 2.13 development release on OSGEO, so what you are reading might change further before release.
“This project aims to improve the internal possibilities of QGIS to give an oblique view 3D effect based on a height attribute and an angle while fully preserving all the possibilities which the QGIS styling offers. But it doesn’t stop there, the whole rendering is built in a modular way so you can use all of its parts for countless other possibilities.”
As stated earlier, it is still in a development test phase but being QGIS it is still very stable….oh yes, it is a fully functional death star. Let’s look at the process for using this function:
As you can see, there is a new interface and options when you select the 2.5D option. Height of the “effect” is based on either a field in the attribution or a z (height) geometry. In this case  it is based on a field which I had to create based on the geometry called “z_rel” (short for relative z).
Now here is something interesting – I was using 3D data, in fact I was using 3D geospatial shapefiles in ArcGIS filegdb format with roof detail and even windows BUT it wouldn’t work. Not because of anything major but because the plugin only supports simple extrusion, or simple z geometry (meaning no multipatch!). Once the z values for the buildings were extracted to a field and the footprints extracted from the multipatch data, the result was good, as you may see below:
We can add a little more detail by using trees. I first tried using the 2.5D render to display the trees and found that it would provide an “extrude effect” down the side of the tree:
Above you can see in the 2 images side by side that the trees look too heavy, whereas by taking the tree canopy and applying a simple shadow, it is easy to make the trees come to life. Note that there is no option to remove the extrusion effect or side of the isometric option (referred to as the wall color) – if this was possible I believe a fairly realistic effect could be created as you could base the 2.5D on the height of the canopy and then add another vector data to simulate a trunk (or not if it looks bad).
From a cartographic point of view, I think this effect works well and with a little adjustment and refinement we could create some magical maps..my only question is that when we are trying to simulate 3D, why don’t we just draw 3D? After all, using exactly the same data I created the below using QGIS2Threejs, you can play with it yourself here (be warned that due to the amount of data it is a little slow)
One thing is for sure, I will be watching this closely and seeing what develops, I suggest you do the same!