Optimale manier om hoogte data op te halen?

Beste geoforumers,
Ik heb een scriptje gemaakt om hoogte data op te halen via de WMS. De snelheid is niet om over naar huis te schrijven. Heeft iemand nog een tip?

Momenteel maak ik voor elk punt de kleinst mogelijke BoundingBox (3x3 pixels) en lees ik de FeatureInfo van de middelste pixel uit. voor ahn3 ziet dat er zo uit:

http://geodata.nationaalgeoregister.nl/ahn3/wms?service=wms&version=1.3.0
&request=getfeatureinfo
&layers=ahn3_05m_dsm;
&styles=//default
&crs=EPSG:28992
&bbox=78322.99,452024.99,78323.01,452025.01
&width=3
&height=3
&query_layers=ahn3_05m_dsm
&i=1
&j=1

bron: WMS reference — GeoServer 2.24.x User Manual

Mijn redenering is dat voor elk request een nieuw image gemaakt wordt, dus dan kan dat maar beter zo klein mogelijk zijn.
Of is er winst te boeken door opeenvolgende requests te baseren op een identieke, grotere bounding box?
Of kan ik in 1 request de featureinfo van meerdere pixels aanvragen? Staat niet gedocumenteerd, maar wel geprobeerd door een list van i en j waardes in te voeren (i=[0,1,2]&j=[0,1,2] bijvoorbeeld, maar misschien iets stoms gedaan.

GetFeatureInfo ophalen via de WMTS lukt niet. Is dat wel mogelijk? poging:
http://geodata.nationaalgeoregister.nl/
tiles/service/wmts?
&request=GetFeatureInfo
&VERSION=1.0.0
&LAYER=ahn3_05m_dsm
&STYLE=default
&FORMAT=image/png8
&TILEMATRIXSET=EPSG:28992
&TILEMATRIX=EPSG:28992:14
&TILEROW=8396
&TILECOL=6766
&query_layers=ahn3_05m_dsm
&j=1
&i=1
infoFormat=default

bron:07-057r7_Web_Map_Tile_Service_Standard

Alvast bedankt!

1 like

Ik denk dat je beter de WCS interface kan gebruiken, die haalt de onderliggende data echt op waarbij de hoogte in 1 band staat (mits je dus als format FLOAT32 gebruikt, anders krijg je alsnog een plaatje met waarden van 0-255).

Hieronder zie je bv dat ik zowel de WMS (groen) als de WCS (grijs) heb geladen van de ahh3_05m_dsm laag. Merk ook meteen op dat hier gaten in zitten (waar je dus het grijs erdoor heen ziet). Maar dat de ‘pixels’ hier inderdaad 0.5x0.5 meter zijn (meetlintje)

Ik denk dus als je van een bepaald deel de hoogte wilt weten dat je misschien beter gewoon dat stukje op kunt halen als raster.
Wel is de WCS niet zo snel voor grote stukken!
Zie ook: http://www.qgis.nl/2019/01/20/wcs-qgis-en-pdok/?lang=en

1 like

Bedankt r!
FLOAT32 format uit WCS ga ik proberen, in 1 keer een afbeelding downloaden klinkt een stuk dichter bij waar de service voor gebouwd is.
Nou ontbreekt jammer genoeg het laatste deel van je request aan de server op je afbeelding (rechtsonder). De syntax staat waarschijnlijk in 1 van deze bronnen: Web Coverage Service - Open Geospatial Consortium, maar als je me jouw voorbeeld nog kunt geven denk ik dat ik sneller op weg ben. Alvast bedankt!

Dit is een voorbeeld GetCoverage url in curl:

curl ‘https://geodata.nationaalgeoregister.nl/ahn3/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=GEOTIFF_FLOAT32&COVERAGE=ahn3_05m_dsm&BBOX=104709.5,490176.5,104726.5,490200.5&CRS=EPSG:28992&RESPONSE_CRS=EPSG:28992&WIDTH=34&HEIGHT=48’ -H ‘User-Agent: Mozilla/5.0 QGIS/3.5.0-Master’ --compressed

Als je kunt, kun je een nightly/ontwikkelversie van QGIS-master (je moet echt de allerallerlaatste code hebben) installeren/compileren en de preview van deze plugin:

zelf in de plugin dir zetten, dan zie je al het netwerkverkeer wat QGIS met de server uitwisseld.
LET OP: dit is allemaal nog alfa/beta/ongetest :slight_smile:

Bedankt! Daar kom ik zo te zien een heel eind mee.
QGIS is niet mijn tak van sport helaas. Ik gebruik de hoogte info om 3D modellen als situatiereferentie voor bouwplannen te maken in Autodesk Revit (breek me de bek niet open over hoe geschikt dat is, maar voor gebouwen werkt t prima) en scripten doe ik in Dynamo of Python.

Hoi Ekko, ik heb een andere manier om een dtm te maken met ahn voor in een autodesk produkt. Als je wilt kan ik je het recept wel doormailen :). Ik begrijp niet waarom je direct rasterdata wilt uitlezen. Conversie naar polygonen en vervolgens vector data gebruiken vind ik logischer zijn voor cad (revit) en werkt prima. Belangrijkste voorwaarde is dat je je revit model moet ‘georeferencen’, je crs oftwel shared reference points moet instellen.

Hallo Hans,
Dat maakt uiteraard nieuwsgierig!
Ik haal overigens geen polygonen op bij de AHN, die zijn, als 2D info, prima ontsloten via de BAG WFS en nu ook de BGT beta WFS, of openstreetmap.

De overweging om niet bijvoorbeeld bestaande ArcGIS, QGIS of Civil3D producten te implementeren is dat we liefst de mensen die de data verzamelen niet te ver uit hun comfortzone trekken. Adres intikken, omtrek tekenen van gewenste gebied op een kaart, in de software waar ze altijd in werken. Maar als je andere ervaringen hebt, ik luister. Ik ben me goed bewust van de beperkingen van onze methode.

Als je revit voor je gebouwontwerp gebruikt wil je naast 2d perceelgrenzen natuurlijk ook het liefst 3d maaiveld kunnen gebruiken. Ik wel in ieder geval ;-). Benieuwd of het je op dezelfde manier wilt doen.

Ad. Overigens is het juist de truc eerst 3d (niet 2d) Polygonen uit ahn te halen via raster to vector.

Dit is de link

https://www.revitforum.org/nederlands-forum/40370-ahn-data-omzetten-naar-topo.html#post214982

Bedankt Hans, ziet er solide uit. Daar hebben vast veel mensen plezier van!
Wel QGIS en autocad nodig, dat is voor ons een paar stappen te ver. We hebben het hier over gebruikers die met de nodige overredingskracht Sketchup uit getrokken zijn, en een uitgebreide handleiding zien als argument om iets juist niet te willen. Nou ja, als iemand anders het voor ze doet misschien, want zelf geen tijd om te gaan lezen en proberen.

Haha. ‘Islands of automation’ heet dat :slight_smile: Dat iedereen lekker en comfortabel op je eilandje blijf rondhangen. No offence…, Ekko

None taken. En zo heb ik als bruggenbouwer tenmiste wat te doen.

Hoi Richard,

Bedankt voor deze uitleg en je mooi geschreven post over WCS QGIS and PDOK. naar aanleiding hiervan heb ik een vraag dat misschien net per se gerelateert is aan de oorspronkelijke vraag van deze thread maar het heeft er wel mee te maken.

Je geeft aan dat het soms beter kan zijn om de raster op te halen, zeker als het gaat om grote gebieden. Ik neem aan dat je dan bedoeld om de raster bladen te downloaden via de atom feeds, correct? (zoals voor AHN2 of AHN3)

Ik vraag me dit af omdat ik bijna klaar bent met een AHN extract tool (via R voor nu) om de atomfeed links automatisch te genereren op basis van locatie en omgeving (via een buffer). X/Y coördinaten en radius van de buffer geef je dan op als input. Hieruit haalt hij eerst de ruwe raster bladen op die binnen het gebied vallen en daarna verkleint hij het gebied via een clip.

Daarom mijn vraag: Is het downloaden van ruwe raster bladen overbodig als het ook via WCS kan in een bepaalde omgeving zoals R of Python?

Ik hoor het graag van je.

groeten,
Jelle

Hoi Jelle,
Het ligt eraan wat je met de data gaat/wilt doen, en of je veel stukjes nodig hebt of steeds verspreid over nederland een heel klein stukje.
Als je veel grotere gebieden nodig hebt is het idd misschien beter om de losse bladen te downloaden (en die heb je dan ook ‘in cache’ lokaal). OF als je bv steeds het dak van elk huis in een gemeente zou willen hebben, zou ik denk ik ook voor de download gaan.

Maar als het gaat om kleinere gebieden verspreid over Nederland (bv een tool van een zonnepanelen-installateur die willekeurig door NL steeds een dakje moet hebben), dan zou ik misschien gaan voor WCS. Van R heb ik niet zoveel Kaas gegeten, ik gebruik normaal QGIS en pyqgis ervoor.
Er is de Python OWS lib:
OWSLib documentation voor veel OGC services, maar de WCS voorbeelden ontbreken nog, dus ik weet niet of dat wel al werkt…

Hoi Richard,

Bedankt voor je antwoord. Het gaat in mijn geval om gebieden van 500-2000 meter. Daarmee zou mijn gevoel ook zeggen dat een download beter is en misschien ook sneller?

Als het in R goed werkt zal ik ook een python variant maken, aangezien ik verwacht deze sneller gebruikt zal worden. Het is eigenlijk een automatische manier om slim gebruik te maken van meerdere atom feed urls tegelijkertijd. En zo te horen is het downloaden van data wel tegelijk beter om te doen in bepaalde gevallen. Zou dit een handige plugin zijn voor QGIS of is dat overbodig?

1 like

Beste EkkoNap,
Kun jij mij helpen uit de WCS de AHN3 data te halen? Het gaat mij erom van een opeenvolgende reeks, Ik heb een vergelijkbare vraag: Wil via WCS service AHN data raadplegen, echter geen 3D modellen.
Eigenlijk wil ik alleen van een serie XY coördinaten het Z coördinaat van de DTM maaiveld hoogte ophalen, bij voorkeur in een .csv bestand.
Het gaat om serie’s van slechts 40 tot 400 coördinaten, bij uitzondering misschien een keer 1000 stuks.
Kun je mij laten zien hoe dit kan; zover ik tot nu toe begrijp moet het mogelijk zijn.
Indien niet rechtstreeks mogelijk, heb ik ook QGIS ter beschikking, maar ben daar nog niet erg in thuis.
Bij voorbaat dank!

Beste M,
Ik ben uiteindelijk nooit verder gekomen met uitwerken van de WCS. Mijn WMS methode zoals hierboven beschreven werkt, maar traag.

Beste Halam,
Ik las jouw bericht aan EkkoNap: ‘ik heb een andere manier om een dtm te maken met ahn voor in een autodesk produkt. Als je wilt kan ik je het recept wel doormailen’
Zou je het mij ook kunnen mailen?
Groet,
Martien.

Beste R Duivenvoorde,
Ik las jouw bericht in post ‘Optimale manier om hoogte data op te halen?’ op Geoforum.
Ik zou heel graag via WCS het Z coordinaat van een reeks XY coordinaten uit het AHN3 ophalen en indien mogelijk in .csv formaat downloaden.
Ben al aan het orienteren hoe Postman werkt of dat dit via QGIS kan, maar het is allemaal nieuw voor mij, maar kan wel wat hulp gebruiken.
Heb je misschien tips, of kun jij misschien dit misschien heel makkelijk voor een reeks XY doen? Als ik één keer de code heb, zou ik wellicht heel gemakkelijk die code voor mijn volgende reeksen XY coordinaten kunnen gebruiken…
Bij voorbaat dank,
Martien.

Ik heb het link met het documentje hieronder nog eens geplakt. Een trukje om punten te filteren is om met notepad++ een scriptje te maken die 99 regels delete uit de cvs en er een overslaat. Zo hou je 1 procent over, een behapbaar cvs bestand dat toch een redelijk goed beeld geeft van het oppervlakte. Omgezet naar DWG kun je ze overal wel in gebruiken.

AHN in Revit verwerken.pdf (1,0 MB)