Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

De api koppeling die naast de featureinfo is ingericht komt , binnen de featureinfo, als tabblad/button beschikbaar. Door hier op te klikken wordt een request naar de fme server webhook verstuurd ( met het bijbehorende bro_id) en wordt ( in dit geval) het bodemprofiel grafisch teruggeleverd.

...

Opdracht:

1-Ontwikkel en implementeer met FME een API koppeling om de bodemprofielen als grafiek in de featureinfo te kunnen bekijken.

Iedere REST interface vraagt kennis over de opbouw en de inhoud die de Rest services leveren. Meestal worden de Rest services in een vorm gepresenteerd (bv swagger UI) waarmee de gebruiker individuele endpoints kan testen.

Bekijk de REST services op BRO Rest services, we zien hier dat er twee sets van endpoints worden gegeven:

  1. uitgifte

  2. visualisatie

We pakken eerst de BHRP uitgifte service.

BHR-P uitgifte en validatie
url: https://publiek.broservices.nl/sr/bhrp/v2

Als we deze openen en vervolgens de documentatie link openen komen we uit op de swagger UI van deze rest services.

Hier zien we een endpoint om gegevens van een individueel boorpunt op te halen.

/sr/bhrp/v2/objects/{broId}

Als je deze openklikt en kiest voor 'tryout' kun je kijken wat dit endpoint terug levert. Probeer dit voor het volgende boorpunt ID: bro_id: BHR000000350843

Vul het broid in en klik op 'execute'

Je ziet vervolgens hoe de vraag wordt afgevuurd (request url). Bij een correcte verwerking krijg je een responsecode 200 en het antwoord.

image-20240508-111033.pngImage Added

Kopieer dit antwoord naar het clipboard

image-20240508-111124.pngImage Added

We gaan nu naar de bijbehorende visualisatie Rest services:

Hier zien we o.a. het volgende endpoint:

/sr/sfr/v2/profile/graph/dispatch

met als omschrijving: Grafische weergave boorprofiel op basis van een uitgifteresultaat (laag, diepte, kleur).

Ga ook deze middels 'tryout testen.

We hebben hier een veld 'request body' waarvan we de inhoud kunnen vervangen door het zojuist gekopieerde antwoord van het uitgifte-endpoint.

Als we deze uitvoeren zien we weer de uitgevoerde request en het antwoord. In het antwoord zien we dat er een xml wordt terggegeven en dat deze een SVG item bevat.

Deze svg zal in een html pagina worden getoond als de bodemprofiel grafiek.

...

We hebben het ophalen van een bodemprofiel grafiek voor een boorpunt nu uitgevoerd op de swagger-UI endpoints van de BRO rest services.

Probeer deze stappen nu op te nemen in een FME script:

1-defineer een user parameter voor de bro id

2-gebruik een http_caller om de uitgifte gegevens op te halen ( uitgifte GET met een bro_id als parameter)

3-gebruik een http_caller om het uitgifte resultaat als SVG grafiek op te halen (visualisatie POST met response uit eerste call als body)

4-plaats het resultaat van de SVG call in een json writer

opm: xml header uit de SVG response moet nog worden verwijdert. Dit kan bv met:

image-20240508-112759.pngImage Added