AHN WCS is afgelopen week kapot gegaan

We gebruiken veelvuldig de WCS service op de AHN (1,2,3). Zie bijvoorbeeld dataset https://www.pdok.nl/geo-services?articleid=1948833#17351c289c7ba67f45ecf07a52574703 met endpoint URL https://geodata.nationaalgeoregister.nl/ahn1/wcs?request=GetCapabilities .

Dit heeft jaren vlekkeloos gewerkt, maar de afgelopen week zijn om de beurt de AHN3, de AHN1 en als laatste de AHN2 “uitgevallen”. De service gedraagt zich niet meer hetzelfde, het lijkt alsof ze vervangen zijn door een nieuwe implementatie. Zelfs een simpel GetCapabilities request geeft errors.

Wie weet wat hier gebeurd is? Is dit tijdelijk of permanent, en is de oude implementatie ook beschikbaar?

Mvg Ivor Bosloper

Beste @ivorbosloper,

er zijn inderdaad wijzigingen doorgevoerd op de AHN1,2,3.
We zijn gemigreerd van Geoserver naar Mapserver voor de AHN, i.v.m. performance, stabiliteit en kapotte WCS requesten.

Officieel gesproken vraagt de OGC spec om een service=WCS parameter in het request.

capabilities

Specs link:
https://portal.opengeospatial.org/files/09-110r4

Get capabilities request:
https://geodata.nationaalgeoregister.nl/ahn1/wcs?request=GetCapabilities&service=WCS

We hebben veel last gehad (en nog steeds) van Geoserver die van alles en nog wat maar goed vondt aan de buitenkant. Hierdoor hebben we geen/weinig grip op wat voor een requesten er afgevuurd konden worden op onze PDOK endpoints.

Het request wat jullie dus deden was eigenlijk verkeerd en werkte bij toeval.

Mochten jullie er veel last van hebben dat dit niet meer werkt, kan ik met rewriterules de vergeten parameter toevoegen aan het request.

We hebben in onze logging gekeken naar het aantal requesten van de afgelopen periode voor de WCS services.
Hierin zagen we dat bij minder dan 0,3% van de WCS requesten de ‘services=WCS’ parameter ontbrak. Van deze 0,3% was meer dan de helft een getCapabilties request.

Beste @daneng,

Bedankt voor de support en uitleg! Ik had al de indruk dat het nu mapserver ipv geoserver was.

Alleen maar logisch om de OGC specificatie te gebruiken, ik zou geen rewrite rules opnemen maar gebruikers “opvoeden”. Ik had de service parameter gevonden, maar het GetCapabilities voorbeeld staat in de service documentatie (https://www.pdok.nl/geo-services?articleid=1948833#17351c289c7ba67f45ecf07a52574703), wellicht kan dit bijgewerkt worden.

Waar ik tegen aanloop zijn de volgende zaken. De coverages hebben andere namen gekregen. Voorheen was het bijvoorbeeld coverage=ahn2:ahn2_05m_non, dat is nu coverage=ahn2_05m_non (zonder prefix). De supported formats zijn niet meer hetzelfde, we gebruikten format=GeoTIFF , maar dat is vast gelijk aan format=image/tiff. Echter, we kregen een response met een single-band geotiff met float waarden (de hoogte), nu krijgen we een 3-band geotiff met bytes voor RGB (allemaal 0 overigens).

Hoe krijg ik een geotiff met de hoogtes van een bbox? Ik doe bijvoorbeeld een request:

http://geodata.nationaalgeoregister.nl/ahn2/wcs?service=WCS&version=1.0.0&request=GetCoverage&format=image/tiff&coverage=ahn2_05m_int&crs=EPSG:28992&width=400&height=400&bbox=237988,578508,238212,578726

Ik ben er zelf nog een beetje verder ingedoken. We gebruiken nu WCS 1.0, maar wellicht dat WCS 2 ons meer opties geeft. Daarmee kom ik op http://geodata.nationaalgeoregister.nl/ahn2/wcs?service=WCS&version=2.0.1&request=GetCoverage&format=image/tiff&coverageid=ahn2_05m_non&SUBSET=x(237988,238212)&SUBSET=y(578508,578726)&SUBSETTINGCRS=http://www.opengis.net/def/crs/EPSG/0/28992&size=x(400)&size=y(400) , maar helaas met hetzelfde resultaat (3-band byte geotiff).

De parameter RangeSubset heeft als enige optie 1, dus de layer zelf lijkt wel single-band. Komt de 3-band tiff output wellicht doordat output format format=image/tiff in mapserver als IMAGEMODE=RGB gespecificeerd staat? (zie WCS Server — MapServer 8.0.1 documentation ). En is het mogelijk om een image format toe voegen met FLOAT32 als mode?

Mvg Ivor Bosloper

2 likes

Hoi Ivor,

dank voor je feedback! Ik heb op de AHN1 WCS bij wijze van proef een viertal formaten toegevoegd.

<supportedFormats nativeFormat="raw binary">
<formats>GEOTIFF_BYTE</formats>
<formats>GEOTIFF_INT16</formats>
<formats>GEOTIFF_RGB</formats>
<formats>GEOTIFF_FLOAT32</formats>
</supportedFormats>

https://geodata.nationaalgeoregister.nl/ahn1/wcs?request=DescribeCoverage&service=WCS&version=1.0.0&coverage=ahn1_100m

Kan je hiermee uit de voeten? Dan voer ik die ook uit op de andere AHN endpoints.

1 like

Bedankt @daneng,

Ja perfect, kun jullie dit ook doorvoeren op de ahn2 en 3? Dan kunnen we weer mooie hoogtekaarten gebruiken.

Mvg Ivor Bosloper

http://geodata.nationaalgeoregister.nl/ahn1/wcs?service=WCS&version=2.0.1&request=GetCoverage&format=GEOTIFF_FLOAT32&coverageid=ahn1_5m&SUBSET=x(237988,239212)&SUBSET=y(578508,579726)&SUBSETTINGCRS=http://www.opengis.net/def/crs/EPSG/0/28992&size=x(400)&size=y(400)

Hoi @ivorbosloper,

de AHN2 en AHN3 hebben nu ook deze formaten beschikbaar.
Succes verder en ik hoor het graag als er nog meer dingen zijn waarbij we kunnen helpen.

2 likes

Klopt het dat de nodata waarde ontbreekt bij het aanvragen van een geotiff?
Voorheen ging dit goed.

@daneng, ik zier hier ook dat er geen nodata waarde meekomt uit de AHN3 WCS . In plaats daarvan lijkt de nodata met ‘0’ gevuld te zijn.

Reproduceren met:
http://geodata.nationaalgeoregister.nl/ahn3/wcs?service=WCS&version=2.0.1&request=GetCoverage&format=GEOTIFF_FLOAT32&coverageid=ahn3_05m_dtm&SUBSET=x({},{})&SUBSET=y({},{})&SUBSETTINGCRS=http://www.opengis.net/def/crs/EPSG/0/25831&size=x({})&size=y({})

@tomvantilburg @daneng is van een welverdiende vakantie aan het genieten maar we gaan er naar kijken. Kom er op terug!

1 like

@tomvantilburg het was even graven en zoeken, maar als het goed is worden de nodata waarden nu correct doorgegeven. Hoor het graag of het nu opgelost is.

3 likes

Helemaal naar wens :slight_smile:

2 likes