BAG API 2.0 een bevraging op basis van coördinaat

Beste BAG API medewerker,

In ons grafische pakket, dat we leveren aan onze klanten, maken we nu gebruik van de BAG API 1.0 voor het opvragen van panden op een locatie (x,y coördinaat).
Omdat de DATA voor de BAG API 1.0 vanaf april 2021 niet meer geupdate zal worden, ben ik nu al de code aan het aanpassen, zodat we op tijd een nieuwe versie aan de klanten kunnen leveren, die gebruik maakt van de BAG API 2.0.

Nu heb ik te horen gekregen dat het bevragen op basis van een coördinaat pas vanaf Q1 2021 beschikbaar komt.
Dit levert bij ons toch wel de vraag op: wanneer in Q1. Als dat maart 2021 wordt, vinden we dat best krap ten opzichte van het stoppen van updaten van de BAG API 1.0.

Hebben jullie er meer zicht op wanneer die functionaliteit beschikbaar komt?

Met vriendelijke groet,
Kees Braaksma

Hallo Kees,
De planning is iets aangepast. Ik verwacht dat deze functionaliteit in december beschikbaar komt.
Met vriendelijke groet,
Nicole Kortooms

Hallo Nicole,

Bedankt voor je snelle reactie!

Dat zou heel fijn zijn!

Hartelijke groet,
Kees

Beste BAG-API medewerker,

Vandaag probeer ik met de BAG API 2.0 een bevraging van panden op een locatie (x,y coördinaat).
Maar krijg nog steeds een foutmelding.
ik gebruik:
https://api.bag.acceptatie.kadaster.nl/lvbag/individuelebevragingen/v2/

Is deze functionaliteit beschikbaar gekomen in december?

Met vriendelijke groet,
Kees

Hallo Kees,

De functionaliteit is beschikbaar gekomen. Door middel van een post kunnen de gegevens van het pand opgehaald worden op basis van een x en y coördinaat.

Met vriendelijke groet,

Nathalie Vos

Beste BAG API medewerker,

Is de bevraging op basis van x,y coördinaat gewijzigd in versie 2.0 t.o.v. versie 1.0?

Ik doe het volgende:

url1: https://api.bag.acceptatie.kadaster.nl/lvbag/individuelebevragingen/v2/panden
Url2: https://api.bag.kadaster.nl/lvbag/individuelebevragingen/v2/panden

Body: { “geometrie”: { “contains”: { “type”: “Point”, “coordinates”: [ 5.012677 , 52.136543 ] } } }

Method: “POST”

Voor beide url’s heb ik van jullie een x-api-key ontvangen:
x-api-key = “xxxxx”
// ook geef ik een referer mee.
referer = “xxxx”

ContentType = “application/json”

url1: (503) Server is niet beschikbaar.

url2: (500) Interne serverfout.

Wat doe ik fout?

Met vriendelijke groet,
Kees Braaksma

Hallo Kees,

er zijn een paar dingen die niet helemaal kloppen:

  • de body heeft niet het juiste formaat. Zie hiervoor onze OpenAPI-specificatie (m.n. het Point-component). In het kort, er dient geen nesting binnen een geometrie- en contains-element plaats te vinden.
  • de BAG-API maakt gebruik van RD-coördinaten, jouw voorbeeld lijkt op WGS84.
  • vergeet niet de benodigde CRS-headers, in dit geval dien je zowel Accept-Crs als Content-Crs mee te geven; ook hiervoor, zie onze specificatie.

met vriendelijke groet,
Michel ten Voorde

Beste BAG-medewerker,

Helaas kom ik er niet uit met jullie documentatie.
De juiste syntax voor het doorgeven van een coördinaat in json kan ik niet vinden.
Daarnaast geef ik bij Content = “application/hal+json” mee, maar dan krijg ik “Unsupported Media Type”.
En die melding krijg ik niet bij Content = “application/json”
Verder
Accept = “epsg:28992”
en geometrie:
{ “type”: “Point”, “coordinates”: [ 129514.784 , 461056.393] }

En wat bedoelen jullie met Content-Crs ?

En wat doe ik verkeerd?
Groeten,
Kees

Hallo Kees,

Ik heb je zojuist een persoonlijk berichtje gestuurd met mijn persoonlijk mailadres om je te helpen met de vragen.

Met vriendelijke groet,

Nathalie Vos

Voor andere gebruikers van de BAG API 2.0 voor het opvragen van pandinformatie via coördinaat:

Op de volgende manier is het mogelijk om in C# pandinfomatie op te vragen:

        string _Url = "https://api.bag.kadaster.nl/lvbag/individuelebevragingen/v2/panden";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_Url);
        request.Headers.Add("x-api-key", "xxxxxxxxxxxxxxxxxxxxx");
        request.Headers.Add("Content-Crs", "epsg:28992");
        request.Headers.Add("Accept-Crs", "epsg:28992");

        // Zet een time-out op 10 sec.
        request.Timeout = 10000;

        Stream newStream = null;
        request.Method = "POST";
        // Set the content type of the data being posted.
        request.ContentType = "application/json";
        request.Accept = "application/hal+json";

        // Format voor het doorgeven in json van coördinaat (in meters)
        string _Data = "{ "type": "Point", "coordinates": [195253.439,328354.793] }";
        // Set the content length of the string being posted.
        byte[] byteArray = Encoding.UTF8.GetBytes(_Data);
        request.ContentLength = byteArray.Length;
        newStream = request.GetRequestStream();
        newStream.Write(byteArray, 0, byteArray.Length);

        // Get the response.
        string _Result = string.Empty;
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        StreamReader httpWebStreamReader = null;
        using (httpWebStreamReader = new StreamReader(response.GetResponseStream()))
        {
            _Result = httpWebStreamReader.ReadToEnd();
        }
        if (newStream != null)
            newStream.Close();
        response.Close();
        // het resultaat staat in _Result in json

via de ontvangen dat kan verdere informatie opgevraagd worden, zoals verblijfsobjecten, huisnummers, straatnaam en plaatsnaam.

Succes ermee,
Kees

1 like