Karnataka 01/2007 to 12/2014: OSM Map Evolution

Posted by yogi_ks on 21 May 2015 in English. Last updated on 18 August 2020.

For the past two years, I’ve been mostly mapping some of the rural areas in Karnataka, mainly connecting village roads/major district roads to State/National Highways. Thanks to some of the experienced mappers like docaneesh, indigomc and others who have been mapping this region since the inception when the entire region was blank, Karnataka, now has a fairly mapped road network in India OSM.

This can’t happen overnight and its interesting to see how this is being done over time by the OSM community. Below is a simple animated GIF that I created using Mapolution showing the evolution of OSM Map(only roads) in Karnataka. Karnataka 2007 to 2014

If you’re interested to create a simple animation like the above one and if you’re on Ubuntu GNU/Linux, here’s the small how-to:

  • Mapolution uses Libosmium library, Gdal and its dependencies. Get them all by running-
    sudo apt-get install git cmake cmake-curses-gui make libprotobuf-dev protobuf-compiler libosmpbf-dev libexpat1-dev zlib1g-dev libbz2-dev libsparsehash-dev libboost-dev libboost-program-options-dev libgdal1-dev libgeos++-dev libproj-dev doxygen graphviz libgdal-dev gdal-bin libboost-filesystem-dev libboost-program-options-dev osmctools

  • Build and compile the Mapolution binary -
    git clone
    git clone
    cd osmium-contrib/mapolution
    mkdir build
    cd build
    cmake ..

  • Get the OSM full history dump extract from here. Make sure the area isn’t too large and extract smaller area using Osmconvert/osmosis if necessary. For example, this will extract Karnataka from India OSM history dump -
    osmconvert india.osh.pbf -B=karnataka.poly -o=karnataka.osh.pbf
    where karnataka.poly can be downloaded from by providing the relation id of Karnataka.

  • Run the Mapolution with the OSM history file to get the animation -
    ./mapolution -S 120 karnataka.osh.pbf

This will create shapefiles in out directory for every 4 months(120days) and save the animated gif in a file called anim.gif with the result. And to add month-year to the gif, you can edit it in Gimp.

Thanks to Jochen Topf for helping out with an issue while running the Mapolution.

Location: Jeevanbhima Nagar, East Zone, Bengaluru, Bangalore East, Bengaluru Urban District, Karnataka, India


Comment from robert on 22 May 2015 at 00:33

This is great mapping work.

Comment from Aury88 on 22 May 2015 at 08:28

You need also git in the “sudo apt-get install” package list ;)

I think I’ve a problem with make step…this is my make output in terminal:

[ 50%] Building CXX object CMakeFiles/mapolution.dir/cmdline_options.cpp.o [100%] Building CXX object CMakeFiles/mapolution.dir/main.cpp.o Linking CXX executable mapolution [100%] Built target mapolution

Linking CXX executable mapolution is written in red and Building CXX object CMakeFiles/mapolution.dir/cmdline_options.cpp.o reach only 50% but it’s written in green…I don’t know why and if they are ok in this way… I use ubuntu 15.04

Comment from tompor598 on 22 May 2015 at 10:07

Excellent!!! Thank You very much :)

Comment from fidelcastrogis on 22 May 2015 at 12:59

We need to update the villages and settlements in India.

Alt text

Comment from DaCor on 22 May 2015 at 14:04

You’ve done good work and the gif shows the progress in the area quite nicely

Comment from yogi_ks on 23 May 2015 at 18:00

@Aury88, thanks for noticing that. Yes, git is indeed.! I didn’t come across that error. I had used Ubuntu 14.04. Did you install all the dependencies and were you able to build some tests with Libosmium?

@fidelcastrogis - is the data used to create that map is open or closed.?

@robert, @tompor598 and @DaCor - Its been a great community effort.:)

Comment from stephan75 on 23 May 2015 at 19:36

looks great!!

I added a link to the OSM wiki about

Feel free to finetune that.

Comment from QZI9000 on 24 May 2015 at 10:27

Comment from Aury88 on 24 May 2015 at 17:04

@ yogi_ks I done only the step you wrote (plus a sudo apt-get intall git gifsicle)…but seem it work despite that error ;)

Login to leave a comment