Genereren WKT van de polygoon van een pand op basis van een adres

Goedemorgen,

Ik probeer met de PDOK locatieserver API de WKT gegevens van een pand te genereren op basis van het adres (postcode+huisnummer). Het probleem is dat ik niet echt een goede documentatie kan vinden die dit tot in de puntjes uitlegt.

Ik heb deze site op Github gevonden: API Locatieserver · PDOK/locatieserver Wiki · GitHub.
Deze site is wel nuttig maar aangezien ik niet zoveel verstand heb van API’s wil ik een meer gedetailleerde uitleg. Tot nu toe kom ik wel op het maken van een url die correct adresgegevens opvraagt. Deze is alsvolgt: https://api.pdok.nl/bzk/locatieserver/search/v3_1/lookup?id=adr-56d09bf5f570649b8aca2204ce0ec49e&fl=*
Hierin zie ik ook de WKT gegevens als punt staan ( “geometrie_ll”:“POINT(5.58670288 52.1406855)”), maar ik wil dus de WKT gegevens van het pand retourneren waaraan een adres is gekoppeld.

Heeft iemand enige verdere documentatie die mij hiermee verder kan helpen? Of een lijst met allemaal voorbeelden van hoe je verschillende data kan opvragen.

Alvast heel erg bedankt.

Vriendlijke groet,

Daan

Hm, volgens mij kun je geen geometrie opvragen van een pand, alleen de centroid. Als je zowel de centroid als de geometrie opvraagt dan krijg je in beide gevallen een punt van het adres:

image

Geometrie kun je denk ik beter uit een andere bron ophalen, als het alleen een gebouwomtrek betreft dan is een WFS vermoedelijk het handigst. Zo’n bron serveert geometrie en is geschikt voor kleinere hoeveelheden data.

Klopt, de Locatieserver geeft geen volledige Pand-geometrie terug, daarvoor kun je de BAG-WFS gebruiken.

Ik had daarvoor ooit eens een voorbeeldje hier gegeven (nog wel op de oude url’s), maar die vind ik zo gauw even niet terug in mijn bookmarks.

@Anton en @sbjager bedankt voor jullie reacties. Via BAG-WFS lukt het wel inderdaad, alleen moet het in principe in twee stappen, waarbij je eerst een aanvraag naar het pandnummer en dan de geometrie genereert. Hierbij de URL’s zoals ik net beschreef:

Genereren pandnummer pc6+huisnummer:
https://service.pdok.nl/lv/bag/wfs/v2_0?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&typeName=bag:verblijfsobject&count=100&outputFormat=json&srsName=EPSG:4326&filter=<Filter><And><PropertyIsEqualTo><PropertyName>postcode</PropertyName><Literal>3771BV</Literal></PropertyIsEqualTo><PropertyIsEqualTo><PropertyName>huisnummer</PropertyName><Literal>40</Literal></PropertyIsEqualTo></And></Filter>

Genereren WKT op basis van pandid: https://service.pdok.nl/lv/bag/wfs/v2_0?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&typeName=bag:pand&outputFormat=json&srsName=EPSG:4326&filter=<Filter><PropertyIsEqualTo><PropertyName>identificatie</PropertyName><Literal>0203100000424566</Literal></PropertyIsEqualTo></Filter>]

Bedankt voor de hulp!

Klopt: een adres hangt ook niet aan een Pand, maar aan een Verblijfsobject, omdat er meerdere Verblijfsobjecten in een Pand aanwezig kunnen zijn. Je zoekt dus het Adres → VBO → Pand.

Zelf zou ik het begin nog wel via de Locatieserver doen, omdat je daar via het Suggest-endpoint wat meer opties hebt. Vooral erg prettig als je de zoekfunctie in een UI aanbied. Dan worden het 4 stappen:

Locatieserver Suggest → Locatieserver Lookup → BAG WFS VBO → BAG WFS Pand

Dit is vooral een erg prettige optie als je dit soort zoekfuncties via een UI aanbied, maar zelfs via software alleen vind ik het nog prettig: het geeft me namelijk extra info als een adres niet gevonden word bijvoorbeeld.

In het Lookup-antwoord van de Locatieserver vind je adresseerbaarobject_id, dat is de ID van je VBO. Die kun je dus rechtstreeks naar de BAG WFS gooien. Zie ook dit voorbeeld. Let wel op: dat voorbeeld is van enige tijd geleden, inmiddels zijn de url’s en versies van zowel de locatieserver als de BAG wfs veranderd!

2 likes