Data
Datareview #3: Meldingen Brandweer
In alweer deze derde datareview aandacht voor de Meldingen van de Brandweer. Deze dataset van 13MB (overzicht alle amsterdam data) groot zorgde voor enige discussie op Twitter: Is CSV een standaard, en zo ja hebben we er wat aan als iedereen een andere manier van implementatie gebruikt? Ehh. nee.
Want deze Brandweer CSV file is niet eenduidig te openen vanuit Excel en LibreOffice. Uit ervaring weet ik dat wat in Excel 2003 werkte, weer niet goed ondersteunt werd in Excel 2007. En dan krijgen we tweets als:
- ‘Beste #a4a, kunnen jullie die csv van de brandweer even goed controleren? Als dat geldige csv is, dan ben ik het ook..’
- ‘@HackdeOverheid is al gebeurd tip terug: strip alle ” en , vervang ; dan door , en openoffice snapt het. Powered by gedit. #ubuntu’ (bedankt Miblon)
Inderdaad. Op Linux (of met Cygwin) komen we met:
sed ‘s/”//g’ BrwAAincidenten.csv | sed ‘s/,//g’ | sed ‘s/;/,/g’ > output.csv
(ik gebruik hier –uiteraard :-)– meerdere, onnodige, pipes om de educatieve waarde van dit sed statement te vergroten.)
Excel opent dan de file nog steeds niet. Met Open of LibreOffice kan het wel, echter de opstarttijd is zo groot dat je een kopje koffie kan gaan zetten.
Informatiemodel
De rijen spreken voor zich, zoals straat, postcode, stad en meldingstype. Een uitzondering is het X & Y coordinaat. Dat zijn geen GPS coordinaten zo te zien… Iemand een idee?
Samenvattend
1) CSV bestanden, worden hier nou gelukkig van? Het kan zo mooi zijn, een simpel tabelletje in tekst. maar verschillende talen, het gebruik van bijzondere tekens gooien dan als snel roet (heheh) in het eten. Tegelijkertijd is er eigenlijk geen efficiëntere manier om data te versturen, vergelijk het maar met de overhead van XML of KML… Dus voor grote data is compressed CSV toch wel de way-to-go. Maar wat mij betreft dan graag UTF-8 space seperated. Om nou telkens te scripten speciaal voor een database import… Iets te veel van het goede, of zijn er andere gedachten hierover?
2) Brandweer data; wat gaan we hier mee doen? Nou het is best wel interessant om te zien wat er bij je in de buurt allemaal gebeurt, is het er wel brandveilig? Maar op Twitter stond ook al: ‘Hoeveel tijd besteed brandweer Amsterdam gemiddeld aan een incident? minimaal 0 gemiddeld ~6 uur en max. 218 days #datavervuiling #a4a’ . Een brandweer melding duurt gemiddeld zes uur. Is dat lang, of kort? Kortom genoeg te leren van de brandweer. Nu nog een handige App!
3) Geheel zonder garantie kan je de geprepareerde csv (of Excel) file downloaden bij Hack de Overheid.
Lex Slaghuis
Laatste berichten van Lex Slaghuis (toon alles)
- Atlas Natuurlijk Kapitaal - 17 september 2015
- Klik hier om de KvK te wijzigen - 20 april 2015
- Houd jouw sessie over Internet en wetgeving - 10 april 2015
Het probleem met zulke aanpassingen aan het CSV bestand is dat de oude bron/leverancier er dan niets meer mee kan. Als developer kun je natuurlijk ook met een paar regels code een simpele parser maken welke het direct plaatst in een database naar keuze.
De coordinaten zijn RD-coordinaten: http://nl.wikipedia.org/wiki/RD-co%C3%B6rdinaten
Rondvraag op het IRC kanaal van OpenStreetmap leerde mij dat deze waarschijnlijk zijn om te zetten naar werkbare GPS coordinaten.
Dat klopt. Vanuit principe wil je dit eigenlijk niet.
Maar voor data-analysts en Journo’s is het toch wel handig, met name omdat 1 dag een kort tijdsbestek is.
RD coördinaten zijn natuurlijk om te zetten in GPS (WGS84). De ‘formule’ in nogal complex, maar te vinden op het web. Makkelijk is via PostGis. In deze file staat het RD reference system:
https://github.com/tomdemeyer/cbs_rails/blob/master/Data/postgis_setup.txt
Hier een Python script om RDS om te zetten naar GPS (WGS84): https://github.com/MonsterSwell/rd2wgs84