AHN bladnummers index shapefile als .zip download beschikbaar?

Via R ben ik een package aan het maken die automatisch een AHN hoogte ophaalt van een of meerdere punten of de hoogtes van een heel gebied (geotiff).

Bij het ophalen van een gebied, maak ik gebruik van de bladnummers index features. Dit kan door gebruik te maken van de WFS service. Om dit te doen heb je via R echter allerlei packages nodig die ook om extra installaties vragen (GDAL). Dit wil ik zoveel mogelijk voorkomen om mijn package zo toegankelijk mogelijk te maken.

Daarom mijn vraag of er ergens een shapefile te downloaden is van alle bladnummers via een zip atomfeed (net zoals de kaartbladen met hoogte data zelf).

Mijn ervaring is dat de shapefile die op data.nlextract.nl staat compleet is.

PDOK heeft een AHN3 indexfile (shape) die exact overeenkomt met de aanwezige TIFF’s en LAZ files van het AHN3. Ik heb gevraagd of deze ook als atomfeed beschikbaar kan komen. Deze file kan ook altijd opgevraagd worden via info@ahn.nl, maar ik denk niet dat je dat bedoelt.

1 like

Voor zover ik weet is er geen download beschikbaar van de ahn3 bladindex in shapefile (ik heb hier even rondgevraagd, als ik meer weet laat het ik weten). Twee mogelijke alternatieve oplossingsrichtingen:

  • Met de laatste update is de AHN3 compleet, dus het is zeer onwaarschijnlijk dat er voorlopig iets veranderd aan de structuur van de kaartbladen. Hierom kan je overwegen de ahn3_bladindex als asset in je R package op te nemen. Je kan met ogr2ogr eenvoudig een export maken van de WFS naar GeoPackage of GeoJSON formaat (Shapefile kan uiteraard ook, maar waarom zou je dat nog doen anno 2020 :wink: ). Hiermee is R package ook niet meer afhankelijk van de AHN3 WFS service. Wat in mijn ogen een voordeel is; minder afhankelijkheden is robuuster.
ogr2ogr -f GPKG ahn3_bladindex.gpkg  "WFS:https://geodata.nationaalgeoregister.nl/ahn3/wfs?" ahn3:ahn3_bladindex -nln ahn3_bladindex
  • De WFS bevragen met GeoJSON output, met dit HTTP request haal je alle kaartbladen op in 1 request. De GeoJSON kan in R uitlezen worden met het geojson package (ik weet echter niet of daar alle functionaliteit inzit die je nodig hebt, maar het geojson package heeft iig geen depedency op GDAL/OGR).

Let overigens op; in de laatste update zijn een aantal nieuwe kaartbladen meegekomen die niet voor alle datasets (05m_dsm, 05m_dtm, 5m_dsm, 5m_dtm, laz) data hebben. Dit hebben we ondervangen door in de ahn3_bladindex WFS de volgende velden Integer(Boolean) op te nemen:

  • has_data_05m_dsm
  • has_data_05m_dtm
  • has_data_5m_dsm
  • has_data_5m_dtm
  • has_data_laz

De extracten kunnen hier gedownload worden, waar ${bladnr_uppercase} er bijv zo uit ziet 72HZ2:

1 like

@Alkemade bedankt voor het navragen.

@antonbakker Bedankt voor je alternatieven. Ik heb inderdaad overwogen om de AHN3 bladindex mee te nemen als asset. Ik denk dat ik dat ook zeker ga doen nu dat de AHN3 dataset compleet is. Voor AHN1 en AHN2 had ik dat al gedaan.

Dankzij @e.j.h.polle oplossing heb ik uiteindelijk de functie st_read() gebruikt uit de sf package. Dit is wederom een andere manier om hetzelfde te bereiken. Dit scheelt weer een package minder die ik als dependency dan als ik ook geojson moet gebruiken.

Ik had inderdaad gezien dat er een boolean meegenomen is in de attribute table van de AHN3 bladindex. Betekent dit dat deze data momenteel niet beschikbaar is? Wat is hier precies de reden voor? Is daar een alternatief / workaround voor?

De reden van de boolean velden is dat er een aantal kaartbladen bij zijn gekomen, die bijvoorbeeld alleen LAZ bestanden hebben. Dit komt vooral voor bij kaartbladen die hoofzakelijk in het water liggen. Er zijn drie kaartbladen die niet alle data bevatten: 64ez1, 26an1, 70hn2. Zie bijvoorbeeld kaartblad 70hn2:

70hn2_zoomout

2 likes

Dag Jelle, Werkt het ook voor Bathymetrie van de noordzee, binnenwateren en kust? bijv. http://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/adn573b0-bd3b-4d7b-a97d-e65841e6e0b2. Wat mis je dan?

@Jellest vanwege de mogelijkheid via de WFS lijkt die oplossing voldoende voor nu (na overleg met @Alkemade).