API Ruimtelijke plannen opvragen - maatvoeringen per zoekgebied

Ik wil de Ruimtelijke plannen API aanroepen om de maximale bouwhoogte per kliklocatie te vinden. In de YAML documentatie lees ik dat maatvoeringen verwijzen naar een bestemmingsvlak, bouwvlak of gebiedsaanduiding. Met het volgende stappenplan kom ik uit bij maatvoeringen per bestemmingsvlak:

  • Post request om bestemmingsplannen te vinden op een kliklocatie (…/plannen/_zoek&planType=bestemmingsplan)

  • For each bestemmingsplan:

    - For each bestemmingsvlak:
          - Get request op bestemmingsvlak href
          - Get request op ‘maatvoeringen’ href
    

Dit geeft me een lijst van maatvoeringen per bestemmingsvlak, per bestemmingsplan. De maatvoeringen binnen bouwvlakken en gebiedsaanduidingen ontbreken nog. Hier is een groot aantal API calls nodig (bestemmingsplannen hebben al snel 200 bestemmingsvlakken) die bij deze API stuk voor stuk meer dan 30 seconden duren.

Kent iemand een efficientere manier om maximale bouwhoogtes op te halen?

Dag twtmeer,

Als je het ID van het bestemmingsvlak hebt dan kun je met dat ID rechtstreeks een call doen op /maatvoeringen?bestemmingsvlak=<INSERT_ID>. We leveren nu nog geen embedded data uit bij de bestemmingsvlakken dus hier zul je dan zelf helaas wat logica op de URL los moeten laten (keep after last /). Dit zou het geheel echter wel al sneller moeten maken.

edit: Zoals Robin dus al aangeeft is het al mogelijk om alle maatvoeringen voor een bestemmingsplangebied op te vragen. Jouw stappenplan zou er dan zo uit komen te zien.

Foreach plan:
/maatvoeringen?bestemmingsplangebied=<PLAN_ID>

1 like

Wat is het endpoint waar requests meer dan 30 seconden duren? Er zijn recent een heel aantal performance verbeteringen doorgevoerd in deze API. Zulke trage responses zou ik graag nog eens naar kijken.

Met de optionele bestemmingsplangebied parameter op het maatvoeringen endpoint kan je al alle maatvoeringen van een specifiek bestemmingsplan opvragen. Het ID van het plan is dan de waarde voor deze parameter.

1 like

Dankjewel! precies wat ik nodig had

Dankjewel Robin, dat werkt inderdaad een stuk beter. Ik heb inderdaad gemerkt dat de performance vooruit is gegaan (minder request timeouts, snellere responses), maar het zoeken op alle plannen in de hoofdcollectie (…/plannen/_zoek) gaat nog vrij traag. Zoeken per punt duurt bij mij meestal tussen de 10 en 25 seconden, per polygoon duurt het tussen de 20 en 40 seconden.

Ja, ik vreesde al dat het het /plannen/_zoek endpoint zou zijn. Dat is een bekend performance probleem waar we actief mee bezig zijn. Een oplossing waarmee de meeste requests met gemeente-grootte-achtige polygonen minder dan 10 seconden gaan duren is in de maak, maar moet nog doorgezet worden naar onze productie omgeving (die je nu bevraagt). Dit kan nog een weekje duren. Ik zal een seintje geven als dat werk is afgerond.

1 like

Een manier om nu al een significante performance verbetering te bewerkstelligen bij /plannen/_zoek is het meegeven van de gemeenteCode parameter. De waarde hiervan is een viercijferige code die uniek is voor de gemeente. Een waardelijst kan je onderaan deze pagina vinden bij Downloads.

Deze gemeentecode is niet geheel toevallig gelijk aan de vier cijfers in de plan IDs: NL.IMRO.<gemeentecode>.rest van naam.