California’s campaign season might seem a little sleepy from the perspective of people in other states. There are no hot-button U.S. Senate races. Gov. Jerry Brown is expected to cruise to re-election. With the exception of the nonpartisan race for state schools chief, down-ticket contests haven't generated much heat, either, and this fall's lineup of ballot propositions include no big draws to the polls.
In fact, though, there is a lot of action in the 100 legislative districts – 80 in the state Assembly and 20 in the state Senate -- that are on the ballot Nov. 4. A lot is at stake. Democrats are trying to retain their supermajority status, while Republicans are trying to block their efforts while grabbing an extra seat or two.
Money, of course, makes it all happen. And this year The Sacramento Bee has unprecedented access to daily campaign-finance filings. We set out to visualize this, by district, on our election page. Tableau Desktop was our visualization tool of choice.
The first obvious hurdle was that Tableau, while having geographic roles for California’s 53 congressional districts, does not have them for California state Assembly and Senate seats.
My first task was to figure out how to convert Assembly and Senate shapefiles into a format that Tableau could use.
There are helpful step-by-step guides here and here. My first step was to simplify the California district boundary shapefiles in mapshaper. That eliminates a lot of tiny zigs and zags in the district shapefiles, which assists in the next step: opening the shapefile in ArcMap and converting the shapefile to points with ET Geowizards.
I opened the resulting point files in Tableau and just about all the districts came through perfectly. But both the Assembly and Senate polygons had a few districts that were all catawampus. Upon further inspection I realized that these were the districts that encompassed islands: the Farallon Islands off San Francisco and Channel, Catalina, San Nicolas, Santa Barbara, and San Clemente islands off Southern California.
Very few people live on these islands; Catalina is the most populated. To get the district maps to display correctly in Tableau, I made the executive decision to exclude the islands. In ArcMap, I turned on the Editor toolbar and used the modify feature tool and Sketch Properties button to delete the islands from the relevant districts. I ran the resulting shapefiles through ET Geowizard and the resulting point file loaded perfectly into Tableau Desktop.