Hoe koppel je AreaId aan RegulationId in de parkeerdata?

17 views
Skip to first unread message

Ewout ter Hoeven

unread,
Oct 20, 2025, 8:27:00 AMOct 20
to RDW Open Data

Hallo allemaal,

Ik ben bezig met een applicatie die parkeertarieven moet berekenen op basis van GPS-coördinaten, dag van de week en tijdstip. Hiervoor gebruik ik de Open Data Parkeren datasets van de RDW, maar ik loop tegen een fundamenteel probleem aan met de koppeling tussen gebieden en regulaties.

Mijn aanpak tot nu toe:

Ik werk met vijf datasets: GEBIED, GEOMETRIE_GEBIED, PARKEERGEBIED, TIJDVAK en TARIEFDEEL. De gedachte was om via de coördinaten een gebied te vinden in GEOMETRIE_GEBIED, dan via het AreaId de bijbehorende regeling op te zoeken in TIJDVAK (op basis van dag en tijdstip), en vervolgens met de FareCalculationCode de tarieven uit TARIEFDEEL te halen. In theorie zou dit moeten werken, maar in de praktijk kom ik erachter dat AreaId en RegulationId niet aan elkaar te koppelen zijn voor het merendeel van de gebieden.

Het concrete probleem:

Neem bijvoorbeeld een parkeerlocatie in Amsterdam op coördinaten 52.363, 4.9094. Via de geometrie vind ik gebied T12A onder AreaManagerId 363. Als ik vervolgens in TIJDVAK kijk naar welke RegulationIds er zijn voor AreaManagerId 363, zie ik alleen codes zoals 363_AREN, 363_ARENDK, 363_BOME, 363_BOMEDK, 363_DOME, 363_DOMEDK, 363_HES, 363_MARK, 363_MIKA, etc. Er is dus geen enkele RegulationId die overeenkomt met of lijkt op T12A.

Ik heb dit voor meerdere gebieden getest. Van de 410 unieke AreaManagerIds in GEBIED komen er 406 ook voor in TIJDVAK, dus de overlap op dat niveau is prima. Het probleem zit hem in de koppeling tussen AreaId en RegulationId binnen een AreaManagerId. Voor Rotterdam vond ik bijvoorbeeld wel gebied 599_BHST waar AreaId precies gelijk is aan RegulationId, en daar werkt alles perfect (€15,50 voor 2 uur parkeren). Ook gevonden: 518_ARCHIP (Den Haag), 153_BROU (Enschede), 275_CPVEL en 70_CPFRA. Maar dit zijn uitzonderingen - bij het merendeel van de gebieden matchen de IDs niet.

Wat ik heb geprobeerd:

Ik heb eerst gedacht dat RegulationId gewoon gelijk zou zijn aan AreaId, maar dat klopt dus niet. Daarna heb ik geprobeerd om fuzzy matching te doen op basis van gedeeltelijke string-overeenkomsten, maar ook dat leverde niets op. Ik heb ook gekeken of het prefix toevoegen van de AreaManagerId zou helpen (bijvoorbeeld 363_T12A), maar ook dat bestaat niet als RegulationId. Ik heb alle beschikbare tabellen samengevoegd (GEBIED, GEOMETRIE_GEBIED, PARKEERGEBIED) om te zien of daar ergens een koppelingsveld in zou zitten, maar ik zie niets wat helpt. Het veld UsageId (BETAALDP, VERGUNP, etc.) komt in meerdere tabellen voor, maar lijkt niet te helpen bij de koppeling naar regulaties.

Als noodoplossing zou ik kunnen terugvallen op "gewoon de eerste beschikbare RegulationId voor die AreaManagerId gebruiken", maar dat voelt niet goed omdat de tarieven per zone flink kunnen verschillen. Ik wil natuurlijk graag het juiste tarief teruggeven en niet een grove schatting.

Mijn vragen:

Mis ik een dataset die deze koppeling maakt? Is er misschien een tabel die aangeeft welke AreaIds onder welke RegulationId vallen? Of is er een logica of hiërarchie die ik over het hoofd zie, bijvoorbeeld dat RegulationIds zones representeren die meerdere AreaIds bevatten? Ik heb alle vijf de parkeer-gerelateerde datasets op de open data portal doorgenomen, maar misschien zit er ergens anders nog een relevante tabel?

Of is het simpelweg zo dat een groot deel van de gebieden in GEOMETRIE_GEBIED geen koppeling heeft met regulaties in TIJDVAK? Dan zou ik dat ook graag weten, zodat ik de applicatie kan bouwen met de verwachting dat alleen een subset van de locaties ondersteund wordt.

Heeft iemand ervaring met het werken met deze parkeerdata en weet hoe deze koppeling in de praktijk gemaakt moet worden? Alle tips, suggesties of verwijzingen naar documentatie zijn zeer welkom!

Alvast bedankt voor jullie hulp.

Ewout ter Hoeven

unread,
Oct 21, 2025, 12:56:01 AMOct 21
to RDW Open Data
Ik kwam er achter dat er nog een dataset was bij de open parkeer data GEBIED REGELING  : https://opendata.rdw.nl/Parkeren/Open-Data-Parkeren-GEBIED-REGELING/qtex-qwd8/about_data

Met deze dataset is het te koppelen.

Het blijft wel complex dat je 6 verschillende datasets nodig hebt om tot parkeertarieven te komen.
Op maandag 20 oktober 2025 om 14:27:00 UTC+2 schreef Ewout ter Hoeven:
Reply all
Reply to author
Forward
0 new messages