PDOK - Omtrek van gebouw op basis van coordinaten?

Hi, ik probeer de omtrek (en daarnaast oppervlakte & hoogte) van een perceel / gebouw te verkrijgen, waarvan ik de RD coördinaten heb verkregen via de BAG API (bijvoorbeeld: 135910.144, 452812.736 - dit gebouw is kruisvormig).

Ik heb geprobeerd om wat met de API van de kadastrale kaart te spelen (https://geodata.nationaalgeoregister.nl/kadastralekaart/wfs/v4_0), maar ik kom hier niet helemaal uit en Googlen levert geen resultaten op.

Kan iemand mij wellicht verder helpen? Zit ik op de juiste API voor het verkrijgen van omtrek/oppervlakte en wat zouden de juiste parameters hiervoor zijn? Of is hier welicht een andere API voor te gebruiken?

Voor hoogte van een gebouw weet ik dat de TU Delft een 3D BAG API heeft, maar ook daar weet ik niet goed hoe ik die met een HTTP request raadpleeg…

Hoi GeoCoder,

Je vraag is mij niet helemaal duidelijk: wil je een gebouw (Pand) of een Perceel hebben op de locatie die je hebt? Als je het perceel wilt hebben, is die WFS in ieder geval de juiste.

Verder heb je misschien iets aan deze post: Gebouw omtrek maken op basis van latitude en longitude - #14 door sbjager
Roland was op zoek naar het Pand bij een adres-locatie. Qua request is het ophalen van het perceel vrijwel gelijk, die WFS filters werken hetzelfde - alleen de attribuutnamen zijn verschillend. Maar met een GetCapabilities request en een DescribeFeatureType request moet je daar wel uit komen, denk ik.

Oh, en als je meer wilt weten hoe een WFS te bevragen, vind ik zelf dit wel een redelijke resource: WFS reference — GeoServer 2.21.x User Manual

1 like

Hoi sbjager,

Allereerst bedankt voor je reactie!
Ik heb beide pagina’s inderdaad al gevonden / doorgespit bij het zoeken naar ‘omtrek WFS’ en ‘circumference WFS’ op Google, echter kom ik er zelf nog steeds niet uit, het voelt allemaal vrij overweldigend…

Ik bedoelde inderdaad het pand, voor duidelijkheid heb ik een screenshot van het pand op de gespecificeerde RD-coördinaten in de BAG-viewer gemaakt:

Met de volgende HTTP-request krijg ik, naast bijvoorbeeld bouwjaar en een ‘min’ en ‘max’ oppervlakte, een reeks coördinaten:

https://geodata.nationaalgeoregister.nl/bag/wfs/v1_1?service=WFS&version=2.0.0&request=GetFeature&typename=bag:pand&outputFormat=json&filter=%3Cfes:Filter%20xmlns:fes=%22http://www.opengis.net/fes/2.0%22%20xmlns:xsi=%22http://www.w3.org/2001/XMLSchema-instance%22%20xsi:schemaLocation=%22http://www.opengis.net/wfs/2.0%20http://schemas.opengis.net/wfs/2.0/wfs.xsd%22%3E%20%3Cfes:PropertyIsEqualTo%3E%3Cfes:PropertyName%3Eidentificatie%3C/fes:PropertyName%3E%3Cfes:Literal%3E0344100000051478%3C/fes:Literal%3E%3C/fes:PropertyIsEqualTo%3E%3C/fes:Filter%3E

Moet ik hier dan op de een of andere manier zelf de omtrek uit halen? Of is daar ook een attribuut van op te halen, zoals bouwjaar meegegeven wordt?

Groetjes,

Bart

Ah, je hebt alle gegevens al zie ik.

Ja, daar moet je zelf de omtrek uit halen, als je de omtrek in meters wilt hebben. Het antwoord dat je krijgt op jouw request, is een GeoJson FeatureCollection. Object 0 is een Feature, met Properties (de ‘attributen’) en een geometry oftewel geometrie. Uit die geometrie kun je de omtrek berekenen, hoewel alle GIS-paketten dat voor je doen. Die GIS-paketten kunnen die geometrie dan ook eenvoudig op kaart tonen, mocht je dat willen. Je krijgt de omtrek niet als standaard attribuut mee vanuit de WFS, dus daar moet je zelf nog wel wat voor doen.
En dan komen er bij mij een paar vervolg-vragen op:
Waar heb je de omtrek van een Pand voor nodig? (Nieuwsgierigheid :wink: )
Wat voor software gebruik je, en waar kun je over beschikken?
ZItten daar specifieke gis-tools tussen? die maken het wel een heel stuk makkelijker (het algoritme om de omtrek van een polygoon te berekenen is vrij eenvoudig, maar als je van een standaard bibliotheek gebruik kunt maken is een stuk makkelijker).
Is dit een eenmalig iets, of moet dit heel regelmatig gebeuren? In het tweede geval is een herbruikbare oplossing een stuk makkelijker.

1 like

Ik zal je nieuwsgierigheid vast beantwoorden: ik probeer een tool te maken die de materiële restwaarde van een pand in beeld brengt, op basis van de gebouwafmetingen en daarnaast gebruikersinput over gebruikte materialen :slightly_smiling_face:
Dat is dus inderdaad een proces dat regelmatig / geautomatiseerd moet gebeuren.

De software die ik gebruik is een NodeJS backend, die in Javascript HTTP-requests uitvoert waarmee ik tot nu toe o.a. het pand-id kan verkrijgen wanneer een gebruiker een adres invoert (en nu dus ook een lijst met polygonen).

Ik heb niet direct een geschikte library gevonden, maar ben ook pas net na je reactie gaan zoeken.
Zelf berekenen lijkt dan ook interessant, ik heb bijvoorbeeld de volgende functie gevonden:

Wellicht zoiets, maar dan met meerdere polygonen? (En nog converteren van RD naar Lon/Lat)

Als je NodeJS gebruikt, zou ik eens kijken naar Turf bijvoorbeeld. Er zijn vast nog wel meer biliotheken die je op NodeJS kunt gebruiken, ik heb er zelf geen ervaring mee. DIt is de eerste die google me terug geeft :wink:
Een snelle blik op Turf’s website leert mij dat er geen standaard methode lijkt te zijn om de omtrek van een polygoon op te vragen, maar er is wel een methode om een polygoon om te zetten naar een lijn, en er is een methode om de lengte van een lijn op te vragen - en dat is het antwoord dat je zoekt.

Zou ik niet doen, daarmee haal je jezelf alleen maar allerlei problemen op de hals. Binnen NL is het veel makkelijker om RD te gebruiken, omdat dat een geprojecteerd coordinatensysteem is, en je met bijvoorbeeld pythagoras prima je afstanden kunt berekenen.

1 like

Zou ik niet doen, daarmee haal je jezelf alleen maar allerlei problemen op de hals. Binnen NL is het veel makkelijker om RD te gebruiken, omdat dat een geprojecteerd coordinatensysteem is, en je met bijvoorbeeld pythagoras prima je afstanden kunt berekenen.

Ah nu valt het kwartje, RD-coördinaten worden al uitgedrukt in absolute meters! Dat maakt het inderdaad een stuk makkelijker om mee te rekenen.

Ik zal Turf eens proberen, maar ik zie ook leuke berekeningen voor polygonen op het internet staan. Wellicht dat ik het met eigen functies probeer te doen :slight_smile:

Zo moet ik er wel uitkomen, hartelijk bedankt voor het meedenken en de info!

-Bart

:grin: Doe ik ook altijd. Veel leuker om het zelf te doen :joy:

Succes, en als je vragen hebt: d’r loopt hier altijd wel iemand rond die ergens iets vanaf weet :wink:

1 like

Dat is niet helemaal waar. Een meter in RD is in het midden van het land 0.1 mm te groot en in de uithoeken 0.1 mm te klein. Maar dat lijkt me voor gebouw- en perceelomtrekken verwaarloosbaar.

2 likes