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?
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.
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.
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] }
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.