Vladimir Elistratov

2.5D Maps and Bird Views with Blender

Creating 2.5D Maps and Bird Views with OpenStreetMap and Blender


2.5D maps are ordinary 2D maps in the web Mercator projection enhanced with a layer of 3D buildings rendered in the oblique projection. A birdview is an attractive way to realistically represent neighborhood. Realistic 3D models of buildings are used in both cases.

Blender open source software is used for both 3D modelling and 3D rendering. To perform georeferencing of each 3D building, OSM data are imported into Blender as flat objects in the transverse Mercator map projection. One places a 3D model at the correct position by moving and rotating it over the imported OSM data. The corresponding geographic coordinates and rotation angle are saved in a Blender file or in a database. Whole cities can be composed in this way.

There are two methods to create 2.5D maps. In the first method every 3D object is rendered in the oblique projection as a separate graphic symbol. Mapnik's PointSymbolizer is employed to render those images at the center of the corresponding object. In the second method all 3D objects are rendered in the oblique projection in one image. The image is georeferenced and rendered on the map as a raster layer. In both methods 3D objects are scaled in accordance with their latitude to take distortion of the Mercator projection into account.

3D objects must be placed on the terrain for bird views. SRTM data are used for that purpose. If necessary, terrain data are edited manually in Blender. Another key problem for bird views is to develop attractive 3D representation for numerous street objects like trees, street lights, fences, benches, bus stops, etc.

About the author

Vladimir Elistratov works as a developer of web mapping applications. He has been an OSM contributor.