Chris L Keller ...

Text

Table upon table of money & politics data available from MapLight, ready to be visualized

MapLight, a nonpartisan research organization that reveals money’s influence on politics, announces the launch of the MapLight Money and Politics Data Set, an easy-to-access, downloadable database of MapLight-enhanced Federal Elections Commission (FEC) campaign finance data for free public use.

A link to the full release from MapLight is here

I’m think the great thing about this data being available in Fusion Tables is that it opens up data visualization projects and analysis to a lot of people on the service’s learning curve.

Want to make a quick map? Want to do something more in-depth and use Fusion Tables as a quasi-database? You can do both.

And the data is “provided free of charge for all uses that are freely available to the public.”

Here’s what’s available:

Candidate Summaries

  • Latest Totals (Google Fusion Tables)
  • Historical Totals (Google Fusion Tables)

Committee Summaries

  • Latest Totals (Google Fusion Tables)
  • Historical Totals (Google Fusion Tables)

Contributions (itemized)

  • Presidential Candidates: Obama (Google Fusion Tables)
  • Presidential Candidates: Romney (Google Fusion Tables)
  • All Contributions (Bulk download - Google Drive)

Expenditures * Expenditures (Google Fusion Tables)

Text

Mapping data: Wisconsin state senate recall map

View the updated map


Tuesday is the day when six Democratic challengers to Republican incumbents will compete in a recall primary against six “protest” candidates fielded by the GOP.

The general election between the winners of the Democratic primaries and the six incumbent Republicans is Aug. 9.

In an attempt to visualize the recall contests, I came up with this map built with the Google Maps API and Google’s Fusion Tables. There’s plenty I would like to improve on — and I know I will improve the next map around — but I’m fairly pleased with the results.

2011-07-11_16h21_40

I’m long overdue for a walk-through to share what I’ve learned from others who shared what they had learned. But rather than reinvent the walkthrough, I’ll use the power of linking to highlight those who helped me get to the recall map, and show a bit more of the coding that I used.

Can you suggest a simple walkthrough?

Via Matt Stiles at StateImpact:

Google Fusion Tables allows journalists to publish, visualize and analyze large data sets in the browser without expensive software. Learn how this free tool can help you create custom online maps, graphs and timelines, mash-up different data sets and collaborate on data.

What is Fusion Tables and how can I use it?

Via Poynter:

If the data has been normalized and saved as an Excel file, .ods, .csv or .kml, Google Fusion Tables can help. Fusion Tables manages large collections of data so you can query, map, timegraph, chart, and add interaction — including user comments — to them.

I’ve heard about Shapefiles, do those work?

Via John Keefe

Fortunately, the U.S. Census and many municipalities provide those shapes in the form of “shapefiles.” These typically have the extension .shp, and use a format originally designed for cartographers wielding sophisticated (and pricy) software, like Esri’s ArcView. But thanks to a nifty, online tool called ShpEscape, you can use them, too. For free. And once you have shapes to play with, there’s a lot you can build.

That makes sense. Is there a practical news example

Via Christopher Groskopf & the Tribune’s News Apps Blog re: the Chicago Homicide Tracker

This might be the trickiest part. Our system “knows” that the addresses in this spreadsheet are in Chicago, but other systems wouldn’t because the addresses do not include city, state, or zip. To remedy this problem we need to add that information. Rather than doing it by hand, we will use a spreadsheet formula.

I’ve used FT to show states and population. What’s next

Via John Keefe re: the WNYC Census Map

We built the map with free tools and timely help from some smart, kind people. The short story is that we mashed together population numbers and geographic shapes using Google Fusion Tables, and then used JavaScript and Fusion Tables’ mapping features to make things pretty and interactive. The long story is meandering and full of wrong turns. But here are the highlights, should anyone need a little navigation.

I’d like to do more with FT than paste an embed code onto an index page

For that, I recommend getting familiar with the Google Maps javascript API. If it sounds daunting, do not worry. If a former sports writer can figure out how to make this work, I’m confident you can.

As you go through the tutorial you can follow the code for a map I made to show the 2011 Madison Mayoral vote. You can find the code for it on github, and the data from Fusion Tables.

And when that begins to make sense, consider that the only real change between that map and Wisconsin State Senate Recall map is the script:

If the pastebin code isn’t appearing, you can find it here.

I prefer to watch my tutorials

Thanks to Hacks/Hackers Austin and Ryan Murphy from the Texas Tribune we have this walkthrough of Fusion Tables.

These links and resources should get you started, but if you have any questions feel free to reach out to me or anyone linked to above. John and Christopher and everyone else have been so helpful and everything a noob could ask for.

Resources:

Text

Mapping data: Wis. Supreme Court voting, Madison Mayoral Voting, State Life Expectancies & school funding

The last month has been one of enjoying some summer sun and some new found free time, but that doesn’t mean there hasn’t been learning going on. Thanks to guidance and suggestions from Jon Davenport, John Keefe, Christopher Groskopf, Brian Boyer and so many others, I’ve developed some skills at making data maps via Google’s Fusion Tables and the Maps javascript API.

My first public attempt was a map of April’s Supreme Court election in Wisconsin which was quickly outdated as other votes were discovered and a recount ordered.

That map provided a perfect opportunity to branch out and try some new things in terms of displaying the data, if only because there was so much of it that changed between the first vote and the certification of the recount. You can find the new version here on madison.com.

The tabbed info window may not be the most elegant, but it serves a purpose and I am able to learn from it, which counts for something.

I also finished off a map of how Madison voted in April 2011 mayoral election, how life expectancies for Wisconsin men and women have changed since 1987, and Wisconsin Department of Public Instruction estimates for state school aid for the 2011-12 school year.

Learning how to use the Maps javascript API has also helped me make progress toward one of my goals for 2011, though these lean heavily — OK downright mimic — work by Jon, John, Chris and Brian.

Then again, there’s something on the horizon that will help me put a checkmark next to many of those goals here in the coming months. 

Text

I think I made a web app for things to do outdoors in Madison

I’m not a web developer, but I know some things about web design and what particular genres of websites should do and strive to accomplish. And I’m not a programmer, but I know some code and some functions, and can get a reasonable idea what variables can be swapped out to make something happen.

But as much as I want to be, and as much as I learn things here and there, I don’t know when to optimize script loading time and when to sanitize user input to avoid sql injection, etc. I don’t know what a https request is, and RESTful apis make me want to take a nap.

No, I’m an editor. Whether sports editor, news editor, assignment editor, online editor and editor-in-charge-of-the-paper editor, that’s where my skill set lies. And lately I’ve been looking at what I have learned to do online with a text editor, and I think I have learned to be a code editor.

That has to be how I came up with this — dare I say webapp — in a weekend, a thing I call “Things Outside: Madison,” but could as easily be called Googling your way to making something work.

T.O.M. — which I think only works on iOS & Android right now because a friend tried it on webOS and the geolocation didn’t work, but if you have Android let me know if it works — will find your location and show you parks, beaches, pools, hiking trails and other things nearby that you might want to enjoy on a nice day. You can change the map layer to display only those things you want to see, and to help you arrive at your destination, you can toggle on and off biking trails.

I don’t profess to have put together something unique or revolutionary. Not in the least. And no way is T.O.M. as good as it could be. But for the first time in my online tinkering I identified a problem — albeit one for my wife and I, who just moved back to Madison — and developed a solution.

But back to being a code editor.

Editing is largely following a set of rules, guidelines and suggestions that are surrounded by several levels — and years — of preference, and often large thumbs with a healthy dash of coaching.

It’s also and thorough line-by-line editing of a news story, a need to not only understand the principals of grammar and journalism at play, but become knowledgable about the subject of this particular story, the sources quoted and the material cited. It’s knowing how to tell a good story, whether it’s about a community bake sale, a husband and wife being separated by war or a guy trying to develop a strain of chili peppers that will grow in the colder Wisconsin climate. It’s know what to hold back for another story, and what to run with.

And those experiences are what I have found to be helpful when throwing code against the wall — html, css and any number of snippets of programming languages. What does this little combination of code supposed to, how does it do it, and can it be used to do something else? Or is it better used somewhere else?

Much like well-written paragraphs can be interchangeable throughout a news story, well-structured code can be adapted and reused in project after project.

For anyone interested in what I did to get T.O.M. off the ground, I’ll write up an explainer post on how I cobbled it together, and what I’d like to add — some actual design, driving directions, custom map markers and outdoor places to eat — because that’s how I learned.

And if a code editor can pull something like T.O.M. off in a weekend, just imagine what a real developer could do.

Text

Wisconsin’s state supreme court vote visualized

UPDATED JUNE 28: It took me a while, but I finished off an updated version of this map, which you can find here on madison.com.

UPDATED 8:09 P.M. THURSDAY: Things took another turn on Thursday as Waukesha County Clerk Kathy Nickolaus said due to an inputting error she had undercounted — by 14,000 votes.

Via The Wisconsin State Journal:

The new totals showed Prosser with 92,263 votes in Waukesha County, while Kloppenburg had 32,758. Waukesha County Clerk Kathy Nickolaus said the votes weren’t reported to The Associated Press on Tuesday due to “human error.”

Thinking I will now hold off on updating the numbers on the Wisconsin Supreme Court election map until canvassing is completed. Scroll down and you will find it. The colors are still solid, but obviously the numbers in each county are now off.

You can find some aggregated links on the votes in Waukesha County here.


UPDATED 4:17 P.M. THURSDAY: On Thursday afternoon, the Winnebago County clerk updated election numbers that now give incumbent Justice David Prosser 710 more votes and assistant attorney general JoAnne Kloppenburg 466 votes.

Via The Wisconsin State Journal:

If the numbers stand, Prosser would be ahead of Kloppenburg by 40 votes.

Working on updating the map below to show the change.


When the final precinct finally reported Wednesday — that’s you Lake Mills — attorney JoAnne Kloppenburg declared victory over incumbent state Supreme Court Justice David Prosser.

But when a candidate declares victory with 50.01 percent of the vote, a recount is obviously on the horizon.

Denying that the Supreme Court race turned into a referendum on his push to end collective bargaining rights for state union workers, Gov. Scott Walker said Wednesday afternoon that Tuesday’s results were “largely driven by Madison” and that there are two worlds in the state.

The map below shows there are two worlds, but perhaps a bit more equal than any partisan will admit.

Obviously Dane, Waukesha and Milwaukee counties are the state’s population centers, so they carry a bigger weight when all the votes are counted.

But just as the vote count stands at 50.01 percent for Kloppenburg and 49.99 for Prosser, so too does the state it seems judging by the county-by-county breakdown for each candidate.

Much thanks goes out to Jon Davenport and John Keefe for their suggestions and tutorials, and to news app teams at the Chicago Tribune and the Bay Area Citizen for their inspiration.

John K’s blog post put forward a great method for working with the shapefiles and merging them census data in Google’s Fusion tables. John’s patience and help as I fired off questions on Twitter can’t be understated.

And special thanks to Christopher Groskopf for his how-to blog post on the RedEye’s homicide map, and for making the data available. The quick walk-through helped me get a quick win and make sure I wasn’t crazy.

There is plenty more I could do with this. The fact that eastern counties drift off into Lake Michigan bothers me, and I may still try to overlay a map showing how the state voted in November, when Walker defeated Democrat Tom Barrett. Adding a default zoom-level and some other bells and whistles would be neat. Campaign finance data for each candidate broken down by the county would be way cooler.

But for now, I’m gonna call it a completed project and move on to the next thing. Seems I have too many “works-in-progress” and not enough I call complete.