{"id":493,"date":"2014-08-04T03:37:04","date_gmt":"2014-08-04T03:37:04","guid":{"rendered":"http:\/\/zacharybaiel.com\/blog\/?p=493"},"modified":"2014-08-05T11:46:21","modified_gmt":"2014-08-05T11:46:21","slug":"data-visualization-for-west-lafayette-2015-city-budget","status":"publish","type":"post","link":"https:\/\/zacharybaiel.com\/blog\/2014\/08\/04\/data-visualization-for-west-lafayette-2015-city-budget\/","title":{"rendered":"Data Visualization for West Lafayette 2015 City Budget"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/openspending.org\/wlin-2015-budget--2014-08-04\/embed?widget=treemap&amp;state=%7B%22drilldowns%22%3A%5B%22Fund%22%2C%22Department%22%2C%22Category%22%2C%22Sub-Category%22%5D%2C%22year%22%3A2014%2C%22cuts%22%3A%7B%7D%7D&amp;width=500&amp;height=400\" width=\"500\" height=\"400\" frameborder=\"0\"><\/iframe><\/p>\n<p>(You can also access the full page for the <a href=\"https:\/\/openspending.org\/wlin-2015-budget--2014-08-04\/views\/treemap-view-by-fund\">City of West Lafayette 2015 Preliminary Budget with information from 2014-08-04<\/a>.)<\/p>\n<p>Tomorrow&#8217;s August City Council meeting will include Ordinance No. 25-14, \u00a0<em>An Ordinance Setting The 2015 City Budget And Setting The 2015 Tax Levy On Property And Tax Rate<\/em>.<\/p>\n<p>This data is usually contained within a database and exported as a table.\u00a0 The <a title=\"West Lafayette 2015 Budget Forms\" href=\"http:\/\/www.westlafayette.in.gov\/egov\/docs\/1406557708922.htm\">budget forms<\/a> are online in this format on the City&#8217;s web site.<\/p>\n<p><a href=\"http:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/WL-Budget-PDF-2014-08-03.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-495\" src=\"http:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/WL-Budget-PDF-2014-08-03-940x627.jpg\" alt=\"WL-Budget-PDF-2014-08-03\" width=\"474\" height=\"316\" srcset=\"https:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/WL-Budget-PDF-2014-08-03-940x627.jpg 940w, https:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/WL-Budget-PDF-2014-08-03-580x387.jpg 580w, https:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/WL-Budget-PDF-2014-08-03.jpg 1088w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p>As we know, looking at tables doesn&#8217;t always provide the clearest picture.<\/p>\n<p>Over the past several months, I have been learning more and more about various civic hacking projects around the globe.\u00a0 One that I found incredibly exciting was <a href=\"http:\/\/openbudgetoakland.org\/\">Open Budget Oakland<\/a>.<\/p>\n<p>I thought they used their own software, created under the Code for America group, however, upon further investigation, I learned that their lovely <a href=\"http:\/\/en.wikipedia.org\/wiki\/Treemapping\">tree map<\/a> visualizations were provided by <a href=\"https:\/\/openspending.org\/\">OpenSpending.<\/a><\/p>\n<p>With this recent budget announcement, I decided to get the City&#8217;s data online and accessible in this format.\u00a0 Sadly, the only data that is on the City&#8217;s web site is in PDF form.\u00a0 Upon doing some more research, I learned about an amazing piece of FLOSS called <a href=\"http:\/\/tabula.nerdpower.org\/\">Tabula<\/a>. As their web site states, <em>Tabula is a tool for liberating data tables locked inside PDF files.\u00a0 <\/em>And liberate it did.<\/p>\n<p><a href=\"http:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/Tabula-2014-08-03.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-494\" src=\"http:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/Tabula-2014-08-03-940x510.jpg\" alt=\"Tabula-2014-08-03 Screenshot\" width=\"474\" height=\"257\" srcset=\"https:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/Tabula-2014-08-03-940x510.jpg 940w, https:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/Tabula-2014-08-03-580x315.jpg 580w, https:\/\/zacharybaiel.com\/blog\/wp-content\/uploads\/2014\/08\/Tabula-2014-08-03.jpg 1231w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a>After exporting the data from Tabula, I made a few corrections (column headers contained extra spaces which caused problems in OpenSpending) and we were all set to go.<\/p>\n<p>The result is at the top of this post.<\/p>\n<p>Sadly, there currently isn&#8217;t a way to backup the navigation on the tree map, but it appears that <a href=\"http:\/\/openbudgetoakland.org\/test_mayor_13-15_proposed.html?fund=Pension%20Override%20Tax%20Revenue\">Open Budget Oakland<\/a> has this worked out and we are in communication as to how they made that happen. In the meantime, please refresh your browser.<\/p>\n<p>We plan on having a public dialogue about the budget process using these new data visualizations at the <a href=\"http:\/\/www.wlaf.lib.in.us\/\">West Lafayette Public Library<\/a> in the coming months. Please check back for more details.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(You can also access the full page for the City of West Lafayette 2015 Preliminary Budget with information from 2014-08-04.) Tomorrow&#8217;s August City Council meeting&#8230;<\/p>\n","protected":false},"author":1,"featured_media":499,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,78,43],"tags":[109,110,111,108],"class_list":["post-493","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education-2","category-politics","category-presentations","tag-budget","tag-data-visualization","tag-openspending","tag-west-lafayette-city-council","entry"],"_links":{"self":[{"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/posts\/493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/comments?post=493"}],"version-history":[{"count":5,"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/posts\/493\/revisions"}],"predecessor-version":[{"id":501,"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/posts\/493\/revisions\/501"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/media\/499"}],"wp:attachment":[{"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/media?parent=493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/categories?post=493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zacharybaiel.com\/blog\/wp-json\/wp\/v2\/tags?post=493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}