Wat is het URL format om geojson bestemmingsplannen te downloaden binnen de omgevingswet?

Wij gebruiken nu dit URL formaat om plannen te downloaden van ruimtelijkeplannen.nl
https://afnemers.ruimtelijkeplannen.nl/afnemers/services?request=GetFeature&service=WFS&typeName=Enkelbestemming&version=2.0.0&bbox=153137,479449,153264,479716

Wat is nu de juiste manier om deze URL aan te roepen via de omgevingswet?

ik heb bijvoorbeeld deze URL:
https://ruimte.omgevingswet.overheid.nl/ruimtelijke-plannen/api/opvragen/v4/plannen/_zoek?pageSize=20&regelStatus=geldend,in%20ontwikkeling&expand=bbox

Maar hier zit geen polygoon data in (alleen een bbox). Wel een link naar de GML, maar ik wil graag de polygoon data downloaden voor alle bestemmingsplannen binnen een bbox, zoals mijn huidige URL doet.

Hoe kan ik dit doen? Ik hoop niet dat ik per aanvraag dan alle bestemmingsplannen apart moet gaan ophalen…

ik heb een python-script geschreven om via de API bestemmingsplannen te downloaden op basis van de gemeentecode en status (vigerend, etc).
vervolgens laat ik python het GML bestand inlezen, de geometrie eruit halen als WKT (Well-known text) en uiteindelijk opslaan als geopackage.

Ik weet niet of het slimmer kan, maar dit werkt ‘goed genoeg’ :slight_smile:

Dank je Thomas, Begrijp ik goed dat je dus wel meerdere ‘aanvragen’ doet? een voor de url hierboven, en een aparte voor de GML aanvraag?

in mijn geval kan een bbox prima overlappen met 4-5 bestemmingsplannen, dus dat zou betekenen dat ik 6 aanvragen moet doen. Het kan, maar niet echt ideaal.

Ja. Eerst heb ik een ‘lijst’ met de gemeentecode en plan_status:

gemeente_code = ['0394', '0393']
plan_status= ['vastgesteld','onherroepelijk', 'vigerend']

Daarna een loop met get-request in een f-string om de variabelen in te vullen:

href = f'https://ruimte.omgevingswet.overheid.nl/ruimtelijke-plannen/api/opvragen/v4/plannen?beleidsmatigVerantwoordelijkeOverheid.code={gemeente_code}&beschikbaarOp={today}T08:59:04Z&status={status}&page={jj}

die page{jj} moet beter kunnen. De API voorziet in paging of iets dergelijks dat je het script mee kan geven of er nog een volgende pagina is. Ik doe dat gewoon met een tellertje: jj = jj + 1. Komt er vanzelf een foutmelding als ie op de laatste pagina is. Dat is dan de trigger om verder te gaan in het script :slight_smile:

Uiteindelijk wordt elk .gml bestand dat aan de voorwaarde voldoet, lokaal opgeslagen.

Wat probeer je precies op te halen? Je hebt het over bestemmingsplannen, maar je eerste URL kijkt naar enkelbestemmingen.

Plannen met geometrie ophalen die raken met een “bbox” zoekgeometrie via de IHR API kan met het volgende request:

curl --location 'https://ruimte.omgevingswet.overheid.nl/ruimtelijke-plannen/api/opvragen/v4/plannen/_zoek?expand=geometrie' \
--header 'x-api-key: <....>' \
--header 'Content-Crs: epsg:28992' \
--header 'Content-Type: application/json' \
--data '{
  "_geo": {
    "intersects": {
      "type": "Polygon",
      "coordinates": [[
        [153137, 479449],
        [153137, 479716],
        [153264, 479716],
        [153264, 479449],
        [153137, 479449]
      ]
      ]
    }
  }
}'

Mocht je de geometrieën van bestemmingsvlakken willen opvragen kan dat met een vergelijkbaar request op /plannen/{planId}/bestemmingsvlakken/_zoek. Daarvoor zal je wel eerst een planId moeten opvragen via bijvoorbeeld bovenstaand request.