Over the last two years, cartography has drawn my attention from time to time. In 2009 I started my work in the field by porting the PROJ.4 library to ActionScript. My first notable interactive map application was a world map widget for the Piwik Analytics project, which is in use until today. It was born from the need to have a simple world map that is lightweight, easy to use and completely independent from external map services like Google Maps.
A lot of things happened in the field since then and some cool mapping frameworks have been released. Google Maps keeps innovating and gives people lots of reasons to use their service, even on a commercial basis. But still one thing seems to never change: the Spherical Mercator projection.
Why should we care about map projections at all
In contrast, data journalists are nowadays limited to just one projection. To illustrate the journalistic dimension of this limitation I will now show you three maps of the same geographic area. The first uses the well-known Mercator projection:
The Mercator map looks neutral, clean and… boring. In fact, the projection shows the earth as an cylinder shot from an infinite distance. You really can’t distort a view on our planet much more. Note that the area of Spain looks as big as (and maybe even slightly smaller than) Germany. In contrast, the next map uses an equal area projection.
The curved grid lines indicate that we’re living on a spherical planet, but still we are looking at it from an infinite distance. Looking at the equal-area projection, one would now say that Spain is slightly bigger than Germany (in fact it is 141% the size of Germany). You can easily imagine scenarios where true areas are really important, say if you want to show the extend of devastation of the latest environmental disaster or something..
And finally, here’s the last shot which shows the same geography using the tilted satellite projection:
Since I know that it’s kind of unfair to propose new awesome features while knowing that almost nobody is able to use them, I decided to turn my ideas into code. For 4 months or so I had been working on a new mapping framework which I finally named Kartograph.
Here’s a bit of the rationale behind Kartograph. Most notably Kartograph..
- ..allows to select and fine-tune the map projection, which is like the fundamental equipment for telling stories with maps
- ..ships with the tools needed to easily convert open geo data (shapefiles, kml, geojson) into interactive data-driven maps
- ..gives its users complete control about what to include in their maps and what not to include.
- ..puts a focus on reliable data visualization techniques.
- ..does not rely on hosted (and costly) mapping services like Google Maps or MapBox
Of course, there is a lot of work left, and I’m currently looking for some way that allows me to continue the work on Kartograph for another two or three months. In the meantime I also plan to release a new version of the world map widget for the Piwik dashboard, which was kind of the initial reason for starting to work on the library.
Now, I’m really curious for your feedback about Kartograph. Do you think it is worth the effort? Do you know of any existing library that can do the same? What are the killer features you would like to see in a modern vector mapping framework?