Hoe kunnen we het beste bepalen of een gebied (ook) binnen de EEZ valt?

Betreffende API bestuurlijke grenzen (Bestuurlijke Grenzen API - BRK).

Wij zouden graag op basis van een geometrie (locatie) willen weten of deze locatie binnen ‘LND6030.B ((landsgrens + territoriale wateren + EEZ)’ valt. Welke service zouden we hier het beste voor kunnen gebruiken? De twee services waar we naar gekeken hebben:

  • openbare-lichamen/_zoek
    In deze service kunnen we in de response zien of de gegeven locatie in Nederland valt (LND6030), maar wordt hierbij ook rekening gehouden met ‘EEZ’?

  • bestuurlijke-gebieden/_zoek
    Deze service kunnen we bevragen en op basis van de geometrie in de response controleren of deze intersect met gegeven geometrie locatie. Wat zou de beste manier zijn om dit te doen?

Als je de BRT (Basisregistratie Topografie) neemt, krijg je die kenmerkende punt in de Noordzee.
Ik weet niet of dat de EEZ of territoriale wateren zijn, maar dat is wel wat je bedoeld, toch?

Ik hoop dat we binnen Nederland een keer de volgende (essentiële) stap gaan maken op het gebied van open data: Juiste en volledige databeschrijvingen. Ik kan je helaas niet helpen met deze vraag, maar ik hou het uit interesse in de gaten!

Ja, dat is wat we bedoelen. Klopt het dan idd. dat als we een coördinaat uit dat gebied kiezen, dat we altijd “LND6030” (openbaar lichaam) terug krijgen?

De Dienst der Hydrografie publiceert datasets met de Nederlandse grenzen op de Noordzee, waarin volgens mij inmiddels rekening gehouden wordt met het langelijnenadvies van de NSGI. Voor de datasets van de BRT is dat volgens nog niet het geval. In beide is dit alleen de geometrie, geen service die point-in-polygon voor je doet, dat zou je dan zelf moeten doen.

Via het NGR kun je daar een WFS van vinden, en die ondersteunt volgens de Capabilities ruimtelijke zoek-opdrachten.

Je kunt dan dus de locatie die je hebt daar naar toe gooien, en als je resultaat leeg blijft ligt het niet in de EEZ. Als je de EEZ terugkrijgt, dan dus wel.

Dat laatste is precies wat we nu doen.

@nico.plat

Met de bestuurlijke grenzen API zou je dat als volgt kunnen doen:

een HTTP POST naar /bestuurlijke-gebieden/_zoek?type=territoriaalInclusiefEEZ

met in de body een contains operatie met de te testen geometrie, bijv:

{
  "geometrie": {
    "contains": {
      "type": "Point",
      "coordinates": 
      [
        5.310697457,
        52.108508775
      ]
    }
  }
}

Als het resultaat leeg blijft dan is er geen match, anders wel.

1 like

Ik kom er nog niet helemaal uit. Doe ik iets fout in onderstaand request?

curl --location --request POST https://brk.basisregistraties.overheid.nl/api/bestuurlijke-grenzen/v2/bestuurlijke-gebieden/_zoek?type=territoriaalInclusiefEEZ --header "X-Api-Key: ..." --header "Accept-Crs: epsg:28992" --header "Content-Type: application/json" --data "{ \"geometrie\": { \"contains\": { \"type\": \"Point\", \"coordinates\": [ 0, 400000 ] } } }"

Dat geeft namelijk altijd een leeg resultaat, ongeacht in inputcoördinaten:

{ "_embedded" : { "bestuurlijkeGebieden" : [ ] }, "_links" : { "self" : { "href" : "https://brk.basisregistraties.overheid.nl/api/bestuurlijke-grenzen/v2/bestuurlijke-gebieden/_zoek?type=territoriaalInclusiefEEZ" } } }

Je moet nog een Content-Crs header met waarde epsg:28992 toevoegen als je requestbody een geoJSON in RD bevat.

1 like

Ik heb de Bestuurlijke Grenzen-API getest, maar deze blijkt helaas nog geen rekening te houden met het langelijnenadvies van de NSGI. Dit geeft met name als je de API in epsg:4258 (ETRS89) aanroept significante fouten. Voor een punt op de grens van de EEZ kan de fout oplopen tot ruim 200 meter. Ik vermoed dat dit probleem ook bij de WFS optreedt.

Voorbeeld:
Ik heb twee punten A en B gekozen. Punt A ligt dicht bij de grens van de EEZ en punt B op ruim 200 meter van de grens. Volgens de API liggen beide punten in RD binnen de EEZ en liggen beide punten in ETRS89 buiten de EEZ.

ID x RD (m) y RD (m) lon. ETRS89 (°) lat. ETRS89 (°)
Punt A 162237.4180 713137.5459 5.498624893 54.402624985
Punt B 162406.0620 713252.6900 5.501223824 54.403656709

NB: Coördinaten in RD en ETRS89 conform RDNAPTRANS™.

1 like