Open Source Geospatial Lab

World political map from OSM

On this page you can follow the development of idea and results of automatic creation of printed wall world political map from OpenStreetMap data.

OpenStreetMap is great for mapping street in your neighbourhood or a tree in your backyard. But what if we want to create world thematic map from OpenStreetMap data in a relatively small scale (e.g. 1:20 000 000 or smaller). This can be a challenging task, both methodologically and technologically.

Maps and data on this page are results of one attempt to create "old fashioned" world political map automatically from OpenStreetMap data.

Even though political maps are quite simple maps, it was proved that creating such a map can be a demanding task, but not impossible to achieve.


Take a look at the result of out first attempt (PDF, 45 MB).

Shapefiles and QGIS project

Download all project files (7z, 11.5 MB) here, unzip and take a look at how the map is created (QGIS project file created in version 2.4 Chugiak).

Documentation (in progress)...

1. Creating the Map Frame

Create new GRASS 7 location (name it WGS84) and mapset (name it osm) in WGS84 latitudes and longitudes. Define region for the whole world (North and South pole are mapped to lines in Winkel Tripel projection so only two points for its definition are needed (ewres=360), meridians are curves and we will use more vertices in polylines to get nice curved lines (nsres=0:05)):

g.region n=90N s=90S w=180W e=180E nsres=0:05 ewres=360 -p

Create area geometry for current region: –overwrite -d output=frame

Create new GRASS 7 location in any projection, and then manually edit PROJ_INFO file in PERMANENT folder of that location so

name: Winkel Tripel

proj: wintri

datum: wgs84

ellps: wgs84

lat_1: 50.4666666667

lon_0: 0.0

x_0: 0.0

y_0: 0

no_defs: defined

towgs84: 0.000,0.000,0.000

Reproject map frame to Winkel Tripel projection:

v.proj --overwrite input=frame location=WGS84 mapset=osm smax=0 output=frame

Export vector layer frame to ESRI shapefile for use in QGIS:

v.out.ogr input=frame@osm output=/home/dtutic/OSM/frame format=ESRI_Shapefile

Load shapefile in QGIS, set style so the outline is not shown (Border sytle = No Pen), and choose your favorite blue for oceans. When asked about CRS choose one of projected systems because QGIS does not support CRS with Winkel Tripel projection yet (e.g. World Robinson projection, EPSG: 54030). We will not use on the fly transformation in this project and all data for QGIS will be reprojected in GRASS GIS.

Now you have something like this.

Save QGIS project for it will be used for adding other layers. Now we can create meridians and parallels.