I am trying to work out what mapping tools I would need to use to dynamically create Choropleth maps from our data.

I am working on a project where the back-end is a big database of statistics, and the front end is various dynamically-generated presentations, from graphs to maps.

For example: If we had population statistics, we would want to be able to display them a little like this: http://crschmidt.net/mapping/choropleth.html or this: http://indiemaps.com/blog/2012/04/introducing-openlayers-symbology/ (although the examples for that library aren't working in my browsers).

Those are entirely in-browser: they take a GeoJSON file and adds it as a layer to OpenLayers. But it looks doubtful how responsive that can be: you seem to end up with either a fairly simple map which doesn't withstand zooming to country level well or a very large GeoJSON file. So I wonder if it is necessary to have some kind of server (MapServer?) dynamically generating map views at the requisite level of detail?

The locations in a dataset could be every country in the world, every country in a continent (or club, like OECD), or sub-national administrative areas. Ideally, as a version 2 aim, we want to be able to zoom in and out from world to sub-national level, as the project is all about providing more context for data.

EDIT: the Thematic Mapping API (http://thematicmapping.org/api/choropleth.php) looks like a solution but requires a browser plugin or KML viewer. We are looking for an in-browser solution.

So: Is dynamically generating Choropleth maps a solved problem? Is there a standard approach or library? If not, can you suggest a sensible angle of attack? I'm new to GIS and still reading in.

1 Answer 1


Is dynamically generating Choropleth maps a solved problem?

No. The in-browser examples you point to use simplified shapes for the world's countries. This fits into most browser's processing and memory constraints. If you were to make a choropleth of, for instance, census blocks, every browser would crash. The geographic data matters.

There's no standard approach; there are many, many tools to do this. Tiles if you need a ton of places, vectors if you need a few and they are simple. The 'joining with data' problem is very unsolved because data equates to a thousand formats and schemas.

  • 1
    The problem of generating dynamic choropleth maps has been solved for some time now. However, to my knowledge there is no open source implementation or standards based approach. For an example of dynamic non-simplified census block-group level maps see gwikis.com
    – Charles
    Commented May 11, 2014 at 18:00
  • Had to flag that comment, since it's a self-link but not indicated as such.
    – tmcw
    Commented May 12, 2014 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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