Years ago, in the 1990s, I used MapInfo to do political analysis, voting histories and trends and the like.

My knowledge is two decades old at this point, though. What are the tools I should be using today?

What I need to do is to find out how particular districts voted in the past, taking redistricting into account. Which means that I need to get old precinct data, allocate the vote to census blocks, and then reassemble the results by figuring out which new districts the blocks belong to. This will require direct database access, SQL queries, and the ability to draw boundaries and lasso the blocks within a polygon.

(I am a software developer, and can write code, but I'm on a short timeline and would prefer to avoid a big learning curve.)

Does Google Maps have the ability to do this?

Is there something online I can use?

Or do I have to spend a lot of money and buy something?

  • 1
    Is this for a specific area or the entire USA? How far back to you need to analyze?
    – Craig
    Sep 4, 2013 at 16:26
  • It's for Chicago. I'd like to go back to the 90s, but I'm not sure I have the data for that. Definitely need to go back to the 2000s before the 2010 census.
    – ccleve
    Sep 4, 2013 at 16:29

2 Answers 2


Since you have used MapInfo before, you should get QGIS. It's free, open source and pretty similar to MapInfo conceptually. It has the ability to do all of the things you mentioned in your question.

For your database, you could use shapefiles, or store them in a RDBMS like PostGIS.

Direct database access

SQL queries (scroll down to "Advanced Search")

Drawing boundaries in QGIS

  • How does it compare to Grass for this application?
    – ccleve
    Sep 4, 2013 at 16:43
  • QGIS has a more user-friendly interface than GRASS, but GRASS has some advanced tools that QGIS does not have out of the box. These GRASS only features can be accessed through the GRASS plugin for QGIS: grasswiki.osgeo.org/wiki/QGIS_GRASS_Cookbook
    – Conor
    Sep 4, 2013 at 16:56

Originating from the fact that you can code, a suggestion would be to use CartoDB You can sort your geodata with a slick GUI and the data is stored in a Postgresql/postgis environment. You can then use CartoCSS to style your shapes, based on different values you set. As for the cost, it has a free plan but it really depends on the size of your data and the number of data tables. They also have a couple of nice examples too, that can give you inspiration and ideas for your project.

Of course the above assumes that you want to visualize your content on a web map like google maps or leaflet. If you want the end results to be printed, then I think QGIS will be the most practical solution both cost and leatrning curve vise.

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