Soms komt het voor dat een databron fouten bevat. Of soms, ga er maar vanuit dat het bijna altijd zo is. Verzamelen van grote hoeveelheden data kan niet met een 100% nauwkeurige controle. Om dat te ondervangen heeft de mens de term ‘foutmarge’ bedacht. Dit is een fictief cijfer dat aangeeft hoeveel een waarde mag afwijken of hoeveel objecten in een dataset fout mogen zijn. In het Zip Scribble bericht bleek dat de postcode dataset items had die in de verkeerde provincie vielen. Hoe kun je die controleren, oftewel de fouten opsporen?
Om te beginnen heb je de datalaag nodig die fouten bevat, in dit geval de postcodes. Deze datalaag bevat eveneens velden van de plaatsnaam en provincie waarin het zich bevindt. Hieronder leg je dan de datalaag ‘Provincies’ uit de Bestuurlijke Grenzen.
Het beste maak je nu gebruik van een bestaande functie in QGIS die twee lagen kan koppelen op basis van de locatie. Deze functie vindt je onder het menu Vector > Datamanagement-gereedschap > Koppel attributen op basis van plaats.
Kies als basislaag de postcodelocaties en als koppellaag de provincies. Geef op dat je wilt zoeken binnen (of indien niet vertaald within) en geef eventueel de velden op die je in de nieuwe laag toe wilt voegen aan de velden die worden overgenomen van de postcodelaag. In ieder geval is de provincienaam handig, zodat je die kunt vergelijken met de al aanwezige naam. Dit resulteert in een nieuwe laag dat een kopie is van de laag met postcodelocaties en als extra voorzien is van het veld ‘Provincienaam’ uit de vergelijkingslaag. Je zou deze stap mogelijk over kunnen slaan, zo kun je ook selecties (i.p.v. lagen) maken op basis van een locatie die je in een expressie kunt vergelijken met de oorspronkelijk opgegeven provincienaam.
In ieder geval, met een aparte laag kun je natuurlijk de foute locaties eenvoudig stijlen. Dit doe je door de Symbologie van de laag in te stellen op ‘Regel-gebaseerd’ met daarin één regel waarvan je het filter aanpast met een expressie:
provincie != provincienaam
Dit houdt in dat alleen de symbolen worden getoond waarvan beide velden niet aan elkaar gelijk zijn. Mochten er kleine afwijkingen zijn, bijvoorbeeld hoofdletters, dan kun je beide veldnamen eventueel nog omzetten met de functie lower(). Geef een mooi, duidelijk symbool op voor deze filter/regel en je ziet in de kaart waar de fouten zich bevinden. Het zijn er meer dan gedacht:
Nogmaals, er zijn meer methoden die naar Rome leiden. Ook kun je simpelweg het veld ‘provincie’ verwijderen en opnieuw toevoegen op basis van de locatie. Maar dan kom je er nooit achter of een punt in de verkeerde provincie ligt of dat de locatie niet klopt. Ook zijn er postcodelocaties die zo dicht op de (vereenvoudigde) provinciegrens liggen dat ze er net overheen vallen, bijvoorbeeld Tynaarlo.
Gelukkig zijn er niet enorm veel foute locaties dus het loont de moeite om ze per stuk even langs te lopen om te corrigeren (het corrigeren doe je uiteraard in de originele laag). Zo blijkt dat ongeveer de helft een foute provincienaam heeft maar de andere helft een verkeerde locatie heeft.