Plancapaciteit.nl voor de provincie Noord-Holland
Een goede ruimtelijke ordening
Om inzicht te hebben in de woningbouwplannen, ze te beoordelen, te sturen op de bouw van voldoende en juiste woningen en voor een goede ruimtelijke ordening is het van belang dat er betrouwbare informatie beschikbaar is over de plancapaciteit (woningbouwplannen) in Noord-Holland.
De Provincie Noord-Holland en de Metropoolregio Amsterdam maken beide veel gebruik van deze informatie en werken daarom als opdrachtgevers voor de Monitor Plancapaciteit samen om ervoor te zorgen dat deze gegevens op een betrouwbare manier worden verzameld via de Monitor Plancapaciteit.
Het ministerie van Binnenlandse Zaken en Koninkrijksrelaties (BZK) vraagt Rigo halfjaarlijks om gegevens over plancapaciteit aan te leveren. Die gegevens komen uit deze monitor. Ook andere partijen, waaronder bouwpartijen, woningcorporaties en energieleveranciers maken gebruik van de gegevens van de Monitor Plancapaciteit.
Functionaliteit
De Plan Capaciteit Monitor geeft inzicht in de bouwplannen in een vroeg stadium. De kaartfunctie toont de geografische bestemmingen aan de rechterkant. Aan de linkerkant van het scherm zijn de bouwplannen aanklikbaar voor elke regio en gemeente, samen met enkele filteropties.
De gemeenten loggen zelf in op het systeem, Drupal, om de bouwplannen in te voeren. Grote gemeenten zoals Amsterdam gebruiken hiervoor bulkimporten. Kleine gemeenten voeren de plannen handmatig in en gebruiken deze tool zelfs als primaire basis voor het vastleggen van gemeentelijke doelbestemmingen.
Niet alle plannen zijn openbaar beschikbaar. Gemeenten kunnen bij het bewerken of aanmaken van een plan de optie ‘Vertrouwelijk’ instellen, waardoor het plan openbaar of niet-openbaar wordt.
Technologie
De applicatie is ontwikkeld met Drupal en Geoserver aan de back-end en ReactJS en LeafletJS aan de front-end.
We maken gebruik van Drupal voor zowel contentbeheer als API-serving, in combinatie met een Geoserver-kaartlaagapplicatie. De overkoepelende front-end, inclusief een tekstueel overzicht van de bouwplannen, is ontwikkeld met ReactJS. Deze maakt gebruik van een Drupal REST-endpoint om de benodigde plangegevens te verzamelen. Voor het tonen van de kaarten in de browser wordt LeafletJS ingezet.
De redactionele schermen binnen Drupal, die worden gebruikt voor het creëren van de plannen, bevatten ook een kaartweergave. Medewerkers hebben de mogelijkheid om direct op de kaart de contouren van het plan te tekenen. Deze getekende contouren fungeren als coördinaten voor de weergave op de website.
Gebruik
De applicatie wordt gebruikt door meer dan 100 gemeenten en bevat meer dan 500 woningbouwplannen voor de regio Noord-Holland.
Er is aanzienlijke aandacht besteed aan zowel de front-end, dat wil zeggen de kaartapplicatie op plancapaciteit.nl, als aan de back-end, vertegenwoordigd door Drupal. Binnen dit kader zorgen gemeentelijke medewerkers voor de invoer van de plannen. Rigo fungeert als coördinator en vervult de rol van webmaster.
We maken gebruik van Drupal als een low-code platform. Rigo neemt de leiding bij het configureren van verschillende aspecten, zoals het toevoegen van gemeenten en gebruikers, het implementeren van tooltips, en het faciliteren van het importeren en exporteren van bulkcontent. Bovendien behandelt Rigo grotendeels de jaarlijkse veranderingen in regelgeving die van invloed zijn op zowel het veld als andere instellingen binnen Drupal.
Waardevol
Één database voor zowel Drupal als Maps functionaliteit
Het ontwerpen van de architectuur achter Drupal in combinatie met Maps functionaliteit bleek een interessante uitdaging. De plannen worden opgeslagen als coördinaten om ze vervolgens op de kaart te tonen met behulp van kaartlagen in Geoserver, die zijn eigen database als bron heeft. Aangezien ook Drupal zijn eigen database heeft, moesten we een manier vinden om de coördinaten naar de Geoserver database te transporteren. Echter, het zou nog beter en veiliger zijn als er helemaal geen gegevenstransport nodig zou zijn.
En toen kwam het idee! De database abstractielaag to the rescue. Drupal heeft de flexibiliteit om met meerdere databasesystemen te werken, terwijl Geoserver gegevens rechtstreeks uit PostgreSQL kan lezen.
De oplossing bleek verrassend eenvoudig: het gebruik van één PostgreSQL database voor zowel Geoserver als Drupal. Dit niet alleen vereenvoudigt de gegevensuitwisseling, maar draagt ook bij aan de veiligheid, aangezien er minder communicatie tussen verschillende databasesystemen nodig is.
API voor eindgebruikers
Hoewel de initiële focus van de website gericht was op kaartfunctionaliteit, had de klant direct de wens om gemeenten de flexibiliteit te bieden om uitsluitend specifieke gegevens op te halen of te importeren. Deze behoefte ontstond doordat grotere gemeenten vaak gebruikmaken van hun eigen software voor het beheer van woningbouwplannen.
Om aan deze vraag te voldoen, is vanaf het begin Drupal opgezet met een front-end API. Deze API wordt niet alleen ingezet om gebruikers toegang te geven tot de gegevens, maar stelt gemeenten ook in staat om automatisch ruwe planinformatie in te lezen in hun eigen geografische planningsystemen of andere geschikte software naar keuze.
Bijdrage aan de Drupal community
Verbeterde Geofield-module in de Drupal-community voor naadlozere integratie met de database. We hebben aanzienlijke inspanningen geleverd om een langlopend probleem met de Geofield-module aan te pakken, die essentieel is voor het opslaan van coördinaten van locaties in de Drupal-database. Hoewel we een PostgreSQL-database gebruiken, ondervonden we aanvankelijk problemen met de compatibiliteit van de Geofield-module.
Na grondig onderzoek hebben we in samenwerking met de modulebeheerder een effectieve oplossing ontwikkeld en deze beschikbaar gesteld binnen de Drupal-community:
Drupal Splash Award 2023
Op 16 november werd plancapaciteit.nl bekroond met de eerste prijs in de categorie Overheid tijdens de Drupal Splash Awards. De jury prees vooral de doeltreffende koppeling van Drupal aan de back-end met Geoserver.
Interessant?
Neem dan contact met ons op voor een vrijblijvende kennismaking.