I have managed to create a 3D-landscape from DEMs and are trying to get my building layer in 2.5D in this landscape. My buildings are retrieved as polygons with height defined in the attributes. When I choose height, the buildings get what seems to be an unlimited height in the map. When this is manually changed to a value of "0.0001-0.0003" it suddenly starts to resemble some realistic proportions. But I want these buildings to represent an actual scaled representation and not an subjective representation of the height.

The building vector layers height attributes are represented in meters and have been retrieved from OpenStreetMap @ QGIS 3.12.1. I can also say that the same problem occurs when I am creating new vector layers for buildings.

Is there a way to change some sort of a "reference scale"?

Any tips on how this might be fixed? I'm still learning, so even "the wrong solution" will most likely give me more knowledge in the field of cartography.


What CRS are you working on? It seems as if at least some of your layers are in polar coordinates and not on a planar projection.


For proportions to look correctly, every length (horizontal and vertical) has to match. Building heights (vertical) are often stored as a number of "meters". If the horizontal plane (the CRS of your map) is also a metric one, this looks fine.

If the horizonal plane however is in degrees (or another non matching unit) the horizontal and vertical lengths do not match.

What can you do?

  • adjust the horizontal lengths: reproject your data into a metric system
  • adjust the vertical length: find a suitable conversion factor and correct the heights by multiplying them with this factor

Advanced: Also keep in mind that this functionality is built on top of geometry generators, so you can just convert the 2.5D renderer into a different renderer and inspect and fine tune all the trigonometry that does the hard work behind.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.