Frankfurt

Documentation of the Open Data Day in Frankfurt, Germany.

Ergebnishaushalt der Stadt Frankfurt am Main
Profit and loss budget of the City of Frankfurt (Ergebnishaushalt der Stadt Frankfurt am Main) on OpenSpending.org

Mapping
{	"transaction": { "description": "Unique transaction ID", "datatype": "string", "label": "Unique ID", "column": "id", "key": true, "type": "value", "dimension": "transaction" },	"produktbereich": { "description": "Produktbereich", "taxonomy": "ffm-level-1", "label": "Produktbereich", "facet": true, "fields": [ {			"column": "produktbereich", "datatype": "id", "name": "name" },		{			"column": "produktbereich", "datatype": "string", "name": "label" },		{			"column": "produktbereich-id", "datatype": "string", "name": "produktbereich-id" }		],		"type": "classifier", "dimension": "produktbereich" },	"amount": { "description": "Betrag f\u00fcr angegebenes Jahr", "datatype": "float", "label": "Betrag", "column": "budget", "type": "value", "dimension": "amount" },	"haushaltsstelle": { "description": "Haushaltsstelle", "taxonomy": "ffm-level-3", "label": "Haushaltsstelle", "facet": true, "fields": [ {			"column": "haushaltsstelle", "datatype": "id", "name": "name" },		{			"column": "haushaltsstelle", "datatype": "string", "name": "label" },		{			"column": "haushaltsstelle-id", "datatype": "string", "name": "haushaltsstelle-id" }		],		"type": "classifier", "dimension": "haushaltsstelle" },	"time": { "description": null, "datatype": "date", "label": "Jahr", "column": "date", "type": "value", "dimension": "time" },	"produktgruppe": { "description": "Produktgruppe", "taxonomy": "ffm-level-2", "label": "Produktgruppe", "facet": true, "fields": [ {			"column": "produktgruppe", "datatype": "id", "name": "name" },		{			"column": "produktgruppe", "datatype": "string", "name": "label" },		{			"column": "produktgruppe-id", "datatype": "string", "name": "produktgruppen-id" }		],		"type": "classifier", "dimension": "produktgruppe" } }

Views
[	{		"name": "default", "label": "Aufgeteilt nach Produktbereichen", "cuts": {}, "drilldown": "produktbereich", "entity": "dataset", "dimension": "dataset" },	{		"name": "default", "label": "Aufgeteilt nach Produktgruppen", "cuts": {}, "drilldown": "produktgruppe", "entity": "dimension", "dimension": "produktbereich" },	{		"name": "default", "label": "Aufgeteilt nach Haushaltsstelle", "cuts": {}, "drilldown": "haushaltsstelle", "entity": "dimension", "dimension": "produktgruppe" },	{		"name": "default", "label": "Haushaltsstellen nach Produktgruppen", "cuts": {}, "drilldown": "produktgruppe", "entity": "dimension", "dimension": "haushaltsstelle" } ]

Dataset-Beispiele
1.10.01;Wahlen;A;Abschreibungen;2008;28.081,83 1.10.01;Wahlen;A;Abschreibungen;2009;16.000,00

Converter
 'Wahlen und übergeordnete Angelegenheiten',	11 => 'Ordnung und Sicherheit',	12 => 'Brandschutz und Rettungsdienst',	13 => 'Stadtplanung',	14 => 'Geoinformationen und Grundstücksordnungen',	15 => 'Bauaufsicht und Denkmalschutz',	16 => 'Nahverkehr und ÖPNV',	17 => 'Wohnen',	18 => 'Soziales',	19 => 'Gesundheit',	20 => 'Bildung',	21 => 'Kultur, Freizeit und Sport',	22 => 'Umwelt',	30 => 'Leitung der Stadtverwaltung',	31 => 'Finanzen',	32 => 'Personal und Organisation',	33 => 'Revision und Recht',	34 => 'Grundstücks- und Gebäudemanagement',	35 => 'Zentrale Serviceleistungen',	36 => 'Wirtschaftsförderung',	98 => 'Zentrale Finanzwirtschaft' );

$jahre = array(2008,2009,2010, 2011, 2012, 2013, 2014, 2015,2016);

foreach (array(array('name' => 'aufwendungen', 'id' => 'A'), array('name' => 'ertraege', 'id' => 'E')) as $dataset) { $csv = ""; $delimiter = ",";

foreach ($cols as $col) { $csv .= csvText($col). $delimiter; }	csvEndOfLine($csv);

if (($handle = fopen($file, "r")) !== FALSE) { while (($input = fgets($handle)) !== FALSE) { $data = explode(';', $input); if (!in_array($data[5], $jahre)) { continue; }			if ($data[3] == $dataset['id']) { $uid = md5(uniqid(true)); /* must be unique */ $bereich = explode('.', $data[1]); $csv .= csvText($uid). $delimiter. csvInt($data[5]). $delimiter. // produktbereich csvText($data[0]). $delimiter. csvText($bereiche[$data[0]]). $delimiter. // produktgruppe csvText($bereich[1]). $delimiter. csvText($data[2]). $delimiter. // haushaltsstelle csvText(md5($data[4])). $delimiter. csvText($data[4]). $delimiter. csvFloat(str_replace(',', '.', str_replace('.', '', $data[6]))). $delimiter; csvEndOfLine($csv); }		}	}	fclose($handle);

$output = "data/ffm_data_". $dataset['name']. ".csv"; file_put_contents($output, utf8_encode($csv)); } ?>

openspending.inc.php

Open Seed Data
Addresses of institutions that exchange botanic seeds with the Frankfurt Palmengarten visualized, the code is in GitHub.

Services for People with Disabilities
Our next projects will focus on visualizing services for people with disabilities in Frankfurt.


 * Traffic lights for blind people
 * Accessible Public Toilets
 * Accessible parking