Free and Open Source Software for Geomatics Conference FOSS4G 2010 Barcelona

Selected Presentations

Home > Presentations > Abstract details




Based on Gastner and Newman's diffusion-based method for producing density-equalizing maps, we developed a web page that creates a cartogram from the user shapefiles and presents it as an animation from the original map, deforming it to end up in the cartogram itself.  The whole calculation and animation generation takes just seconds, so the application can be used by normal web users who expect fast feedback from the server.

The page is written in PHP with several calls to GRASS functions. The user is required to use Google Chrome 4.1 or Mozilla Firefox 3.6 to take advantage of the multiple file upload option. The user is prompted to choose the shapefile to be uploaded to the server. Then the shapefile is
read and from available fields the user can select the one that will be used to create the cartogram. The transformation grid resolution can be changed as well.

Most calculations are carried out in GRASS and are exported to an ASCII grid in a suitable format for the cartogram program (written in C) in which the transformation grid is calculated. With this, the original polygons are transformed with a bilinear interpolator. After these transformations are completed, the transformed polygons are imported back to GRASS and a series of SVG files are written to show an animation of how the polygons are converted from their original shape to their finalized, transformed one. The animation can be played forwards or backwards. The user can then export the current cartogram as a shapefile for use in external
mapping applications.


As a comparison, it is about 30 to 45 times faster than using ScapeToad and between 1.5 to 4.75 times faster than the ArcMap extension using the default settings.




Rodrigo Tapia-Mcclung - Centro de Investigacion en Geografia y Geomatica "Ing. Jorge L. Tamayo"
Fidel Serrano Candela - Centro de Investigacion en Geografia y Geomatica "Ing. Jorge L. Tamayo"