Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

closed as too broad by PolyGeo Mar 13 at 8:19

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

Is this for a specific area or the entire USA? How far back to you need to analyze? – Craig Sep 4 '13 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 '13 at 16:29

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

share|improve this answer
How does it compare to Grass for this application? – ccleve Sep 4 '13 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: – Conor Sep 4 '13 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.

share|improve this answer

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