Open data
Open data CMI DWH50dt OWP3 2012 Rudy de Jong Rutger Touburg Han van der Werken Jolanda van Dam
Open data
Document informatie Documentnaam:
Versie beheer Versie Datum 0.1 0.2
18032012 29032012
0.3 0.4
03042012 05042012
0.5
09042012
0.6
10042012
0.7 1.0
16042012 19042012
BIRDWH50dt Open Data V1.0.docx
Aangebrachte wijzigingen
Auteur
opzet initiële document aanvulling structuur, 1e hoofdstuk toegevoegd en aanvullingen Rutger verwerkt. H2 toegevoegd functionele eisen plus bijdragen Rutger en Rudy toegevoegd, resultaten van overleg verwerkt bijdragen Rutger verwerkt, uitwerking informatiebehoefte, beschrijving app bijdragen Rudy verwerkt, documentstructuur bijgewerkt laatste aanvullingen verwerkt laatste correctieronde
Jolanda van Dam Jolanda van Dam
Jolanda van Dam Jolanda van Dam
Jolanda van Dam Jolanda van Dam Jolanda van Dam Jolanda van Dam, Rutger Touburg
Teamleden Naam
Studentnummer
Contactgegevens
Rudy de Jong
0825087
Rutger Touburg
0833114
Han van der Werken Jolanda van Dam
0827556 0823738
[email protected] 0652523622
[email protected] 0619019705
[email protected] [email protected] 0654927041
Projectbegeleiding Naam Contactgegevens Hans de Wit Peter Conradie Erwin Timmerman
[email protected] [email protected] [email protected]
Pagina 2 van 15
BIRDWH50dt Open Data V1.0.docx
Inhoudsopgave
DOCUMENT INFORMATIE ........................................................................................... 2 INHOUDSOPGAVE ................................................................................................... 3 1
INLEIDING ................................................................................................... 4 1.1. 1.2. 1.3.
2
BESCHRIJVING VAN DE APP ......................................................................... 5 2.1. 2.2. 2.3.
3
DE OPDRACHT .............................................................................................. 4 GLOBAAL CONCEPT ........................................................................................ 4 PROJECTSCOPE ............................................................................................. 4
FUNCTIONELE EISEN ....................................................................................... 5 DOELGROEPEN EN BELANGHEBBENDEN.................................................................. 6 DELIVERABLES ............................................................................................. 6
UITVOERING ................................................................................................ 7 3.1. INFORMATIEBEHOEFTE .................................................................................... 7 3.2. BESCHIKBARE DATA ....................................................................................... 7 illustratie1: De koppelingen van de app. ............................................................. 8 3.3. DATATRANSFORMATIE ..................................................................................... 8 illustratie2: datatransformatie. .......................................................................... 9 3.4. BEHEER VAN BESTANDEN EN DOCUMENTATIE .........................................................10 3.5. KENMERKEN VAN GELEVERDE BESTANDEN .............................................................10 illustratie3: Het laden van de informatie in de datamart. .....................................11 3.6. ONDERHOUD VAN DATA OP SERVER ....................................................................12
4
CONCLUSIE ................................................................................................. 13 4.1. 4.2.
5
OPEN DATA ................................................................................................13 VERBETERINGEN ..........................................................................................13
BRONVERMELDING ..................................................................................... 15
Pagina 3 van 15
BIRDWH50dt Open Data V1.0.docx
1 INLEIDING 1.1.
De opdracht
Het project Open Data is een opdracht uitgevoerd voor BIRDWH50dt in het derde jaar HBO. De opdracht moet uitgevoerd worden door studenten van verschillende opleidingen: DBI, DCMD, DINFB en DINFS. Zij moeten ieder vanuit de eigen deskundigheid een bijdrage leveren aan het maken van gezamenlijk eindresultaat. De opdracht betreft een uitgewerkt concept voor een app op basis van open databestanden van de gemeente Rotterdam. De app (die voor deze opdracht alleen bedacht wordt, er wordt niet geprogrammeerd) wordt in een presentatie aan begeleiders en medestudenten getoond.
1.2.
Globaal concept
We hebben gekozen voor een app die op basis van gewenste eindlocatie aangeeft welke de dichtstbijzijnde parkeergarage met beschikbare plaatsen is en de route er heen daarbij rekening houdend met wegopbrekingen etc. De app moet zo mogelijk drie opties bieden waaruit de gebruiker kan kiezen en betreft parkeergarages binnen de gemeente Rotterdam
1.3.
Projectscope
Binnen de scope van het project vallen: - De uitwerking van het concept, definiëren van de informatiebehoefte; - Beheer van aangeleverde bestanden en documentatie; Buiten de scope van het project vallen: - Het daadwerkelijk ontwikkelen van de app; - Garages buiten Rotterdam en garages binnen Rotterdam waarvoor geen geschikte data beschikbaar is; De leden van de projectgroep zijn niet verantwoordelijk voor de accuratesse noch voor de actualiteit van de geboden informatie omdat ze geen invloed hebben op de kwaliteit van de gegevens.
Pagina 4 van 15
BIRDWH50dt Open Data V1.0.docx
2 BESCHRIJVING VAN DE APP Rotterdam is een dynamische gemeente waar gewoond wordt en gewerkt. De stad is 7 dagen van de week toneel van verkeersopstoppingen die veroorzaakt worden door recreatief en zakelijk verkeer. De intensiteit van het verkeer veroorzaakt dagelijkse files in en om de stad en vraagt om regelmatig onderhoud van de wegen. Dit onderhoud plus werkzaamheden aan gebouwen en objecten veroorzaken opstoppingen en vormen aanleiding voor wegomleggingen. Bezoekers aan de stad die met de auto naar Rotterdam komen treffen hierdoor vaak onverwachte situaties en zelfs mensen die de stad op hun duimpje kennen worden regelmatig geconfronteerd met onvermoede obstakels. Wanneer bezoekers hun auto kwijt moeten willen ze graag zo dicht mogelijk bij hun eindpunt parkeren. Het gevolg hiervan is dat mensen zo ver mogelijk tot hun eindpunt rijden en daar beginnen te zoeken naar parkeerruimte. Wanneer dat niet direct gevonden worden mondt dit uit in het rijden van rondjes, op die manier het stadsverkeer verder belastend. Straten maar met name kruispunten worden soms urenlang volledig geblokkeerd, zich ergerende automobilisten geven doelloze claxonneerconcerten, er ontstaan gevaarlijke verkeerssituaties doordat automobilisten in hun haast de chaos achter zich te laten geen oog meer hebben voor andere weggebruikers, en de toch al slechte luchtkwaliteit gaat verder achteruit.
2.1.
Functionele eisen
De gebruiker van de app moet een locatie kunnen invoeren De app berekent op basis van de invoer waar de drie dichtstbijzijnde parkeergarages met vrije plaatsen zijn en toont deze mogelijkheden op een plattegrond. Door op de mogelijkheden te ‘klikken’ krijgt de gebruiker additionele informatie over de parkeergarage te zien: maximale inrijhoogte, betaalmogelijkheden, openingstijden, loopafstand tot eindlocatie. Door een mogelijkheid te bevestigen kiest de gebruikers zijn/haar voorkeursgarage. Een keuze kan te allen tijde ongedaan gemaakt worden door een andere voorkeur aan te geven. De app bepaalt de eigen positie De app berekent de route naar de parkeergarage en geeft deze op een kaart weer. Wanneer voor het bereiken van het eindpunt de parkeergarage de status ‘vol’ krijgt wordt een geluidssignaal gegeven, de app biedt nieuwe keuzes aan en de procedure start opnieuw zonder dat een nieuw eindpunt ingevoerd hoeft te worden. Bij het bepalen van de route wordt rekening gehouden met mogelijke obstakels door bijv werk aan de weg.
Pagina 5 van 15
BIRDWH50dt Open Data V1.0.docx
De eigen positie blijft zichtbaar in de kaart, en wordt tijdens de reis bijgewerkt zodat de positie tov het eindpunt bekend is. Het eindpunt is een locatie binnen de gemeente Rotterdam. De uitvoering kan te allen tijde afgebroken worden om opnieuw te beginnen, de gebruiker krijgt dan de mogelijkheid om een nieuwe eindlocatie in te voeren of uitvoering volledig te stoppen.
2.2.
Doelgroepen en belanghebbenden
Automobilisten die in Rotterdam willen parkeren, voordat ze in de auto stappen maar ook als ze al in de stad zijn. Winkelpubliek Het centrum van Rotterdam is een groot winkelgebied waar de winkels 7 dagen per week geopend zijn. Het wordt bezocht door consumenten uit de gehele regio die massaal de voorkeur geven aan de auto boven het OV. Zeker wanneer er grote en dure aankopen worden gedaan is het aangenaam om de meest nabij gelegen parkeergarage met vrije parkeerplaatsen te kunnen vinden. Zakelijk gebruik Parkeren is voor bezoekers van bedrijven gevestigd in de binnenstad een probleem, zeker als er alternatieven gegeven kunnen worden heeft deze app waarde voor ondernemers die bezoek ontvangen. Gemeente Rotterdam Bereikbaarheid is voor een grote stad als Rotterdam belangrijk voor de economische ontwikkeling van de stad. Bovendien neemt de verkeerdruk in de stad af wanneer automobilisten direct naar de meest geschikte parkeergelegenheid rijden zonder gezoek. De luchtkwaliteit neemt toe en de kosten van onderhoud van het wegennet nemen af. Bewoners en ondernemers Ondernemers zijn gebaat bij een betere bereikbaarheid, bewoners bij een schonere en veiliger leefomgeving.
2.3.
Deliverables
Het project kent de volgende deliverables: - Het projectdocument waarin opgenomen de beschrijving van de beoogde app en een beschrijving van de informatie die nodig is om deze app te realiseren; - Een presentatie.
Pagina 6 van 15
BIRDWH50dt Open Data V1.0.docx
3 UITVOERING 3.1.
Informatiebehoefte
eindlocatie: wordt ingevoerd door de gebruiker en vastgelegd voor verwerking. Aan de hand van ingevoerde adresgegevens worden de coördinaten van de eindlocatie berekend. Minimale invoer bestaat uit uitsluitend de naam van een straat in Rotterdam, optimale invoer bevat postcode en huisnummer; beginlocatie/actuele locatie: wordt vastgesteld met gps en constant geüpdate; garagegegevens: locaties worden vastgelegd obv coördinaten, dit is statische informatie die samen met inrijhoogte, betalingswijze en openingstijden wordt opgeslagen; garagestatus: dit is dynamische informatie op basis waarvan wordt vastgesteld of een parkeergarage in aanmerking komt als keuzemogelijkheid (vrij/bezet/gesloten/geen info beschikbaar). Deze informatie wordt geüpdate al naar gelang de door gemeente geboden mogelijkheid; loopafstand: dit is dynamische informatie die op basis van de eindlocatie en de locatie van de parkeergarage wordt berekend; wegwerkzaamheden: dit is dynamische informatie die door de gemeente Rotterdam beschikbaar moet worden gesteld, regelmatig geüpdate moet worden en locatie en begin- en einddatum van de werkzaamheden moet bevatten.
De keuzemogelijkheden worden geselecteerd op basis van de garagestatus en de loopafstand, getoond worden de garagegegevens en de loopafstand.
3.2.
Beschikbare data
De data die op dit moment beschikbaar is, wordt in JSON formaat geleverd en betreft de wegwerkzaamheden in Rotterdam. Naar gelang de frequentie waarmee deze data wordt aangeboden zal het ververst worden op de Google Maps kaart. Hoe de data van de parkeergarages er uit komt te zien is nog onbekend. Hierover staat een vraag uit bij de gemeente Rotterdam die verantwoordelijk is voor de data. Om de app van de nieuwste data te voorzien wordt er gebruik gemaakt van de webservices die gemeente Rotterdam aanbiedt. De app heeft verschillende koppelingen met externe bronnen zoals de API van Google Maps. Middels de API is het mogelijk om een route te bereken vanaf het startpunt naar het eindpunt. Om de gebruiker op Google Maps te zetten is er een GPS verbinding nodig. De GPS geeft vervolgens door
Pagina 7 van 15
BIRDWH50dt Open Data V1.0.docx
waar de gebruiker zich bevindt, zodoende weet de gebruiker hoe ver het is naar de eindbestemming en kan eventueel zijn weg nog wijzigen.
illustratie1: De koppelingen van de app.
3.3.
Datatransformatie
Voordat de open data informatie wordt, worden er enkele stappen doorlopen. Allereerst wordt de data getransformeerd naar data wat we nodig hebben voor de app. Deze data wordt vervolgens opgeslagen in de database. Als de app een verzoek doet, wordt de data weer getransformeerd naar informatie die door de app wordt gevraagd. De weg van open data naar informatie voor de app doorloopt een aantal stappen, zoals weergegeven in onderstaande afbeelding.
Pagina 8 van 15
BIRDWH50dt Open Data V1.0.docx
illustratie2: datatransformatie.
Voor deze app zijn niet heel veel gegevens nodig, helaas hebben we tijdens het project grote moeite gehad iets beschikbaar te krijgen. Gegevens die we beschikbaar hebben gekregen betreffen uitsluitend de wegwerkzaamheden. Onderstaand tabel geeft weer, wat er betreffende dit onderwerp beschikbaar is en wat we daarvan nodig hebben (in groen). Data ID PLAATSBEPA STARTDATUM EINDDATUM BEGINTIJD EINDTIJD SOORT_AFSL TIJDSBEPAL
Omschrijving Data id Locatie van de werkzaamheden Startdatum van de werkzaamheden Einddatum van de werkzaamheden Begintijd wanneer de werkzaamheden uitgevoerd worden Eindtijd wanneer de werkzaamheden klaar zijn Dit veld geeft aan of de werkzaamheden ook in het weekend plaatsvinden. ‘Friendly’ tekst betreffende de werkzaamheden
Pagina 9 van 15
Toelichting
Van maandag 3 september 2012 tot en met zondag 16 september 2011 iedere dag (ook in het weekend) tussen 07:30 en 16:00 uur, Daarbuiten wordt de afzetting verwijderd.
BIRDWH50dt Open Data V1.0.docx
WERKZAAMHE
Type werkzaamheden
MAATREGELE
Eventuele maatregelen voor het verkeer
BIJZONDERH STRAATNAAM STRAATNUMM COORDINATES
Eventuele bijzonderheden Straatnaam Straatnummer 93740.780000, 431926.810000
3.4.
Aanbrengen nieuwe bestrating Algehele afsluiting middels dubbele schrikhekken en C01 borden.
De coördinaten kunnen gebruikt worden de plaatsbepaling op Google Maps.
Beheer van bestanden en documentatie
De gemeente Rotterdam heeft voor onze projectgroep data beschikbaar gesteld. -
data over parkeergarages; data over wegwerkzaamheden.
3.5.
Kenmerken van geleverde bestanden
Van de gemeente Rotterdam hopen we de benodigde bestanden te krijgen in de volgende formats: -
XML JSON
De hier uit onttrokken gegevens zullen in een datamart op een server gezet worden. Om goed overzicht te behouden zal de data gestructureerd worden opgeslagen. Daarbij zal worden gesorteerd op een aantal metagegevens. Nieuwe bronbestanden zullen op de volgende metagegevens worden gecontroleerd: - juiste opmaak van records en items (alle aangegeven parkeergarages); - datum en versienummer; - data- categorie. Er wordt onderscheid gemaakt tussen dynamische data en statische data. Bijvoorbeeld: de inrijhoogte van een parkeergarage is een statisch gegeven, de ‘parkeerplekstatus’ (wel of geen vrije parkeerplek beschikbaar) is dynamische van aard.
Pagina 10 van 15
BIRDWH50dt Open Data V1.0.docx
De data betreffende wegwerkzaamheden is van nature dynamisch van aard. Voor de waarde van de app is het van groot belang dat de dynamische data zeer frequent geüpdate wordt Het ETL omzettingsproces Door middel van de ETL methode worden deze bestanden geladen in de datamart. ETL staat voor: -
-
Extraction, het uitlezen van databron en vervolgens het uitpakken van op opgevraagde pakket; Transformation, dit betreft het omzetten van opgevraagde data, met gebruikmaking van regels, opzoektabellen of het combineren van data van verschillende bronnen; Load, dit betreft het schrijven van data naar het gewenste doel (ODS datamart).
ETL
DataMart
ETL
Open data Rdam
Bruikbare data tbv App
illustratie3: Het laden van de informatie in de datamart.
Zo kan een klant bijvoorbeeld de meest dichtbij zijnde parkeergarage bij Hogeschool Rotterdam opvragen, rekening houdend met wegwerkzaamheden nabij deze locatie. Dit is een voorbeeld van een query.
Pagina 11 van 15
BIRDWH50dt Open Data V1.0.docx
3.6.
Onderhoud van data op server
De status van elke parkeergarage dient constant te worden geüpdate. Het gegeven dat een momenteel volle parkeergarage een uur geleden nog wel plek had, is voor de gebruiker totaal irrelevant. -
de dynamische data van parkeergarages en wegwerkzaamheden moet in real- time geüpdate worden; de datasoorten hebben ieder een bepaalde retentietijd, nadien zal de data van de server worden gewist; de database op de server zal een keer per maand geoptimaliseerd worden. Dit met het oog op de opslagcapaciteit en de performance van de server.
Het is nog niet bekend hoe de facilitering aan de serverkant georganiseerd zal worden. Deze facilitering zal door bijvoorbeeld de Google Playstore of de App Store gerealiseerd worden. Beveiligingeisen: - de server is standaard beveiligd met een firewall; - de server zal voortdurend worden voorzien van beveiligingsupdates en patches; - de database is op het externe netwerk onzichtbaar en is voorzien van een wachtwoordbeveiliging. Operationele eisen: Naast accuratesse en de juistheid van de informatie is ook de performance belangrijk. Performance- criteria voor de app: - acceptabele responsetijd; - zorgen voor genoeg bandbreedte ivm gelijktijdig gebruik.
Pagina 12 van 15
BIRDWH50dt Open Data V1.0.docx
4 CONCLUSIE 4.1.
Open Data
De start van dit project verliep moeizaam, het was onze bedoeling op basis van de beschikbare data een onderwerpkeuze te maken maar het was niet mogelijk een goed beeld te vormen van die data. Om gegevens beschikbaar te krijgen werd ons geadviseerd eerst aan Peter en Erwin duidelijk te maken wat we nodig hadden, dan zouden zij eea bij de gemeente proberen los te krijgen. Blijkbaar is er een ingang nodig om aan de gegevens te komen, dit maakt dat de open data van de gemeente Rotterdam niet zo openbaar is als we aan de start van het project dachten. De tot nu toe beschikbare data betrof uitsluitend wegwerkzaamheden, was niet up to date en wordt met onbekende frequentie aangeboden. Deze data is onvoldoende om de applicatie te kunnen realiseren, zowel qua inhoud als qua actualiteit. Vaak zagen we dat de data (jaren) oud was, dat is voor het ontwikkelen van een prototype niet erg maar moet voordat de app live kan gaan uiteraard wel veranderen. Helaas hebben we geen inzicht kunnen krijgen in data over de parkeergarages. De data sets die meer informatie moesten geven waren niet bereikbaar, daarom hebben we hier in het prototype een eigen invulling aan gegeven. De data van de parkeergarages moet real time beschikbaar zijn. Indien de data bijvoorbeeld ieder uur wordt ververst is de info niet betrouwbaar en zullen gebruikers de app niet gebruiken. Het is dus noodzakelijk dat de data zeer frequent wordt aangeboden. De data van de wegwerkzaamheden kan met minder frequente updates toe maar moet toch minimaal dagelijks ververst worden om relevante informatie te kunnen bieden.
4.2.
Verbeteringen
Het project heeft als onderwerp Open Data in de Gemeente Rotterdam. Open data bestaat uit gegevens die op basis van de wet openbaarheid van bestuur door de overheid beschikbaar moeten worden gesteld aan geïnteresseerden. Voor dit project is het echter interessanter, wanneer naast de informatie over de parkeergarages van de gemeente Rotterdam ook die over de particuliere parkeergarages beschikbaar is. Omdat dit tegelijkertijd voordeel voor de particuliere exploitanten oplevert, denken wij dat zij bereid gevonden kunnen worden deel te nemen. Hiermee wordt de app interessanter voor de gebruiker en effectiever bij de bestrijding van de verkeersdruk in de stad. Informatie die niet uitsluitend de status geeft van wel/geen parkeerplaatsen beschikbaar, maar tevens het aantal beschikbare Pagina 13 van 15
BIRDWH50dt Open Data V1.0.docx
plaatsen aangeeft zou de app- waarde nog verder verbeteren. We vragen de gemeente daarom nog eens goed te kijken of het ook mogelijk is om het aantal vrije plaatsen mee te sturen. -positieve info: markt voor app die status functionaliteit biedt voor parkeergarages.
Pagina 14 van 15
BIRDWH50dt Open Data V1.0.docx
5 BRONVERMELDING Modulewijzer: BIRDWH50dt
Internetbronnen: http://www.emerging-media.rotterdamopendata.nl/ http://www.rotterdam.nl/opendata http://nl.wikipedia.org http://en.wikipedia.org http://www.cbs.nl/nl-NL/menu/home/default.htm
Pagina 15 van 15