Skip to content

Data cleaning

Deanna Bosschert edited this page Nov 8, 2020 · 11 revisions

Data Cleaning van de RDW-datasets

Stap 1: Data ophalen

Ik ben begonnen met het maken van een connectie met de API met wat willekeurige data; dit lukte prima! Daarna ben ik een analyse gaan maken van de te gebruiken datapunten. Ze staat uitgebreid omschreven in de wiki en readme, maar hier anders nog even een samenvatting.

(click to expand)

Deelvraag 1: avondklok

Welke parkeerplaatsen zouden qua tijdsframe een probleem kunnen vormen indien er een corona-avondklok wordt ingevoerd?

Datasets

Datapunten/kolommen

  • AreaManagerId (api: areamanagerid) - Identificatiecode van de gebiedsbeheerder of parkeerexploitant.

  • DayTimeFrame (api: daytimeframe) - Naam van een bepaalde dag voor een gebiedsbeheerder. Dit zijn de weekdagen maandag tot en met zondag, en de namen van de speciale dagen.

  • StartTimeTimeFrame (api: starttimetimeframe) - Datum en tijd van het begin van een periode waarop een bepaald tijdvak geldig is.

  • EndTimeTimeFrame (api: endtimetimeframe) - Tijdstip (uumm) waarop het tijdvak eindigt. Voor aansluitende tijdvakken is de EndTimeTimeFrame van het eerste tijdvak gelijk aan StartTimeTimeFrame van het tweede.

  • EndDateTimeFrame (api: enddatetimeframe) - Datum en tijd van het einde van een periode waarin een bepaald tijdvak geldig is.

  • MaxDurationRight (api: maxdurationright) - De maximale tijdsduur waarvoor in een gebied dat valt onder de betreffende regeling, in dit betreffende tijdvak een recht kan worden verworven (minuten).

  • MinParkingInterruption (api: minparkinginterruption) - De minimale tijdsduur in minuten tussen twee rechten in hetzelfde gebied voor hetzelfde voertuig die geldt bij dit TimeFrame.

Eventueel bruikbaar:

  • ClaimRightPossible (api: claimrightispossible) - Indicatie of het mogelijk is binnen dit TimeFrame een recht te verwerven of niet. J: in dit tijdvak is het wel mogelijk rechten te verwerven, N: in dit tijdvak is het niet mogelijk rechten te verwerven.
  • FareCalculationCode (api: farecalculationcode) - Verwijzing naar het tarief, indien voor een recht in een tijdvak een tarief verschuldigd is. Kan alleen van toepassing zijn als ClaimRightPossible = J

Sidenote: filter alle area's eruit die eerder dan vandaag, eindigen. Als het goed is houd ik dan 29.452 entries over.

Deelvraag 2: parkeergelegenheid coronateststraten

Is er in de buurt van coronateststraten, genoeg parkeergelegenheid voor wie moet wachten op zijn/haar test?

Datasets

Datapunten/kolommen

Parkeerplaatsen: dataset 1 (capaciteit)

  • AreaID (api: areaid)- Identificatiecode van een parkeergebied of - faciliteit.
  • Capacity (api: capacity)- Het aantal parkeerplaatsen in een parkeergebied of –faciliteit.

Eventueel bruikbaar:

  • ChargingPointCapacity (api: chargingpointcapicity) - Het aantal plaatsen binnen een parkeergebied of –faciliteit dat is voorzien van een oplaadpunt voor elektrische voertuigen.
  • DisabledAccess (api: disabledaccess)- Indicator die aangeeft aangeeft of een parkeerterrein toegankelijk is voor personen die afhankelijk zijn van een rolstoel. J = Ja, toegankelijkheid met een rolstoel. N = Nee, geen toegankelijkheid met een rolstoel.

Sidenote: Deze entry is niet meer geldig/bruikbaar anyways, aan de einddatum te zien. Verder vallen alle entries wel gewoon onder het 'nu'.
screenshot of unusable data point

Parkeerplaatsen: dataset 2 (locaties)

  • AreaId (api: areaid)- Identificatiecode van een parkeergebied of - faciliteit.
  • GeoDataAsText (api: areageometryastext) - Geometrie van een parkeergebied of -faciliteit, in coΓΆrdinatenstelsel WGS84 (EPSG: 4326)

Sidenote: filter alle area's eruit die eerder dan either vandaag of 24 augustus 2020 eindigen. Zijn ongeveer ofwel 350 ofwel precies 465 entries. fun fact: de ingebouwde filterfunctie van RDW lijkt dit niet helemaal lekker te verwerken als ik ga voor 'toon alleen entries nΓ‘ 07-11-2020'.

Locaties coronateststraten

GGD,Adres,provincie,lng,lat

  • GGD
  • Adres
  • Provincie
  • Longitude
  • Latitude

Ik heb voor de developmentfase eerst de datasets gedownload als .csv en geconvert naar json met https://csvjson.com/csv2json zodat ik niet mezelf op dag 1 al zou limiten.

screenshot of my dataset-files

Nadat alles ~werkt zal ik de data natuurlijk met de api ophalen als json.

Nu nog ophalen met d3.

Update: volgens mij kan je dat dus niet serverside doen looolll vandaar de errors die ik telkens krijg, flashbacks naar vorig jaar. Dan ga ik gewoon voor: data ophalen, filteren, cleanen etc server side, d3-graphs renderen met een client side script (gelinkt in de html).

Gezeik met icloud, mn .env file is verdwenen (????) en nieuwe manier voor fetchen aanmaken. Eentje voor data via api ophalen, laten werken en uitcommenten. Daarna ophalen via local file.

Stap 2: Data filteren

Ik wilde beginnen met de coronateststraten-deelvraag maar het is zo ongelooflijk frustrerend dat er NET NIET GENOEG data van is lol dus ik moet alsnog alle ggd's langs om te checken of ze drivethrough zijn of niet, rip. eerst maar de andere deelvraag doen dan. enfin.

Wat ik nu eerst ga doen, is de data ophalen voor vraag 1.

okay, wat ik moet doen; eerst alle niet-geldige meuk bij alles eruit filteren en dan alle overeenkomende areaid's, combineren.

jk: haal https://opendata.rdw.nl/Parkeren/Open-Data-Parkeren-PARKING-OPEN/figd-gux7 op en filter alles met ExitPossibleAllDay=0 eruit (api: exitpossibleallday) (Indicator die aangeeft of uitrijden de hele dag mogelijk is bij een parkeergebied, -garage of -terrein.)

komen er 109 uit .

Retrieved 1441 records.
Retrieved 109 records.

ik deeenk dat ik moet gaan mappen hiervoor en samenvoegen. check mss even pointerproject voor hoe/wat

πŸ“‹ Project

πŸ—“ Logboek

🧹 Data cleaning

πŸ“‹ Surveydata

βš™πŸ“ Documentatie

πŸ–ŠοΈ Notes

πŸ“ˆ Evaluatie

Clone this wiki locally