Optimale manier om hoogte data op te halen?

Beste Jelle

Deze scripts zijn volgens mij erg handig!
Ik heb enkele pogingen gedaan om je scripts werkend te krijgen maar daar heb ik nog wat moeite mee.
Daarom heb ik op een ander forum wat hulp gevraagd om met R studio dit draaiend te krijgen

Zou jij hier naar willen kijken om potentiële gebruikers klein beetje op weg kunnen helpen?

BVD

Dit 'demo’tje laat zien hoe je xyz direct goed uit Qgis kunt exporteren.
XYZ kunt je in de meeste DWG programma’s of in Revit importeren als topo surface,

Hoi

Je bent me net voor want ik was bezig om een Nederlandstalige post op deze forum hierover te plaatsen. Deze kun je nu hier vinden.

in deze post staat ook uitgelegd hoe de package preceis werkt en hoe je hem moet installeren. Als je een foutmelding krijgt dat hij de functie ahn_point() niet kan vinden, dan heb je waarschijnlijk de package nog niet gedownload EN geladen.

Super!
Ik denk dat het handig is de discussie hierover hier voort te zetten

Installatie

library(raster)
library(devtools)
devtools::install_github(“Jellest/rAHNextract”)
library(rAHNextract)

Dit resultaat


package ‘R.methodsS3’ successfully unpacked and MD5 sums checked
package ‘shiny’ successfully unpacked and MD5 sums checked
package ‘manipulateWidget’ successfully unpacked and MD5 sums checked
package ‘miniUI’ successfully unpacked and MD5 sums checked
package ‘base64enc’ successfully unpacked and MD5 sums checked
package ‘webshot’ successfully unpacked and MD5 sums checked
package ‘httpuv’ successfully unpacked and MD5 sums checked
package ‘xtable’ successfully unpacked and MD5 sums checked
package ‘sourcetools’ successfully unpacked and MD5 sums checked
package ‘fastmap’ successfully unpacked and MD5 sums checked
package ‘glue’ successfully unpacked and MD5 sums checked
Error: Failed to install ‘rAHNextract’ from GitHub:
** (converted from warning) cannot remove prior installation of package ‘glue’**

Dus de install verloopt niet vlekkeloos
Functie wordt niet herkend

ahn_point(name = “Utrecht point”, X = 136550, Y = 456060)
Error in ahn_point(name = “Utrecht point”, X = 136550, Y = 456060) :
could not find function "ahn_point"

Dit probleem kom ik ook wel eens tegen met het installeren van andere packages. Snap dat zelf ook nog niet zo goed. Bij mij lukte het toen om de package waar het mis ging eerst te verwijderen en deze handmatig te installeren.

In dit geval:

remove.packages(“glue”)
install.packages(“glue”)
en dan weer
devtools::install_github(“Jellest/rAHNextract”)

kun je dat eens proberen?

> install.packages("glue")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/Admin/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)

  There is a binary version available but the source version is
  later:
     binary source needs_compilation
glue  1.4.0  1.4.1              TRUE

  Binaries will be installed
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/glue_1.4.0.zip'
Content type 'application/zip' length 158875 bytes (155 KB)
downloaded 155 KB

package ‘glue’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
	C:\Users\Admin\AppData\Local\Temp\RtmpshAVvb\downloaded_packages



> devtools::install_github(“Jellest/rAHNextract”)
Error: unexpected input in "devtools::install_github(“"

Het is niet gelukt.
Heb andere varianten van de tekst geprobeerd maar het werkt niet.
Is Glue nu geinstalleerd of niet. Nogal onduidelijk om alleen te vertellen dat het gedownload is…

Vervolgens lijkt Rstudio me te zeggen dat het Jelle/rAHNextract misschien niet kan bereiken. Lastige materie.

Beste Jelle, ik ben een klein stapje verder. Blijkbaar mag je in Rstudio geef copy paste in de command line uitvoeren. ik heb de tekst eens uitgetikt en dat werkt de install wel. Heel maf.

Nu de volgende …

> ahn_point(name = “Utrecht point”, X = 136550, Y = 456060)
Error: unexpected input in “ahn_point(name = “”

Hij snapt de naamgeving niet. Is dit een verwijzing naar een ID in een database om weg te schrijven…
BVD Hans

Dat is bijzonder. Goed om te lezen dat het nu wel werkt.

Ik denk dat het nu ook fout gaat met het kopiëren en plakken. Probeer het eens zelf in te voeren… de " wordt namelijk verkeerd gekopieerd. Het is overigen niet verplicht om de ‘name’ parameter te gebruiken. Dit is slechts een naam die hij gebruikt als je bestanden wilt wegschrijven.

Ik ben overigens nog een klein foutje tegen gekomen als je de ‘resolution’ parameter niet zelf invult. Ik heb het aangepast. Je kunt het beste de package opnieuw installeren via devtools:install_github("Jellest/rAHNextract")

Als je nog problemen of gekke dingen tegenkomt, dan hoor ik het graag van je. Deze package in namelijk nog in ontwikkeling (pre-release).

1 like

wordt er een beetje moedeloos van :frowning:

devtools::install_github(“Jellest/rAHNextract”)
Error in loadNamespace(j ← i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
there is no package called ‘glue’

Glue weer opnieuw installeren denk ik

remove.packages(“glue”)
Removing package from ‘C:/Users/Admin/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)
Error in remove.packages : there is no package called ‘glue’

package ‘glue’ successfully unpacked and MD5 sums checked
Error: Failed to install ‘rAHNextract’ from GitHub:
(converted from warning) cannot remove prior installation of package ‘glue’

ja ja
Ik denk dat we beter de discussie kunnen voeren op het Rstudio forum.
Even volhouden… :stuck_out_tongue:

Beste Jelle!
Eureka. Rstudio heb ik nu zovaak getweaked en gespeeld dat het volgens mij AHN bespeelt
Wat ik me alleen afvraag is hoe deze tot waarde +58 boven NAP komt. +4.60 lijkt me eerder een reeele waarde. Kun ik de verwijzing laten lopen naar data die wél gefilterd is?

ahn_point(X = 136550, Y = 456073)
AHN3 0.5 resolution DSM (ruw) selected.
trying URL ‘https://geodata.nationaalgeoregister.nl/ahn3/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=ahn3_05m_DSM&BBOX=136549.5,456072.5,136551,456074&CRS=EPSG:28992&RESPONSE_CRS=EPSG:28992&FORMAT=GEOTIFF_FLOAT32&WIDTH=3&HEIGHT=3
Content type ‘image/tiff’ length 562 bytes
downloaded 562 bytes

[1] “Download raster image succeeded.”
[1] “Intersecting raster. Getting elevation…”
[1] "Elevation of AHNelevation: 58.98 m."
[1] 58.98

ahn_point(X = 136550, Y = 456063)
AHN3 0.5 resolution DSM (ruw) selected.
trying URL ‘https://geodata.nationaalgeoregister.nl/ahn3/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=ahn3_05m_DSM&BBOX=136549.5,456062.5,136551,456064&CRS=EPSG:28992&RESPONSE_CRS=EPSG:28992&FORMAT=GEOTIFF_FLOAT32&WIDTH=3&HEIGHT=3
Content type ‘image/tiff’ length 562 bytes
downloaded 562 bytes

[1] “Download raster image succeeded.”
[1] “Intersecting raster. Getting elevation…”
[1] “Elevation of AHNelevation: 4.61 m.”
[1] 4.61

De 58.98 m is de hoogte van het gebouw dat op Neude in Utrecht te vinden is. Zoals je ziet heeft hij de DSM geselecteerd, en neemt hij dus de hoogte van gebouwen mee. Als je het maaiveld hoogte wilt hebben, moet je `dem=“DTM” gebruiken als parameter. Bij deze specifieke coördinaten, heeft de DTM hier geen hoogte opgenomen.

ahn_point(X = 136550, Y = 456073, dem = "DTM")
AHN3 0.5 resolution DTM (maaiveld) selected.
trying URL 'https://geodata.nationaalgeoregister.nl/ahn3/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=ahn3_05m_DTM&BBOX=136549.5,456072.5,136551,456074&CRS=EPSG:28992&RESPONSE_CRS=EPSG:28992&FORMAT=GEOTIFF_FLOAT32&WIDTH=3&HEIGHT=3'
Content type 'image/tiff' length 562 bytes
downloaded 562 bytes

[1] "Download raster image succeeded."
[1] "Intersecting raster. Getting elevation..."
[1] "Elevation of AHNelevation: NA m."
[1] NA
1 like

Jelle, ik begrijp dat er een manier is om een csv bestandje voorzien van X,Y coordinaen via Rstudio en rAHNextract te laten ‘vullen’ met Z waarden van het maailveld. De documentatie is erg vrij cryptisch en mager en ik kom er niet achter hoe je dit werkend krijgt. Kun jij daar iets over toelichten? Het is namelijk wel ontzettend intressant voor legio toepassingen !

Jelle, ik kan me voorstellen dat je het erg druk hebt en dit niet direct top priority is.
Zou fjin zijn als je een beetje uit de doeken kunt doen hoe bijvoorbeeld de csv file eruit ziet die in 262 wordt aangehaald.

C:/Users/jelle/Documents/coordinaten_Zwaanshoek.csv"

Nog mooier zou zijn als er een soort ‘specify file’ > browse functie zou worden gebruikt in Rstudio.
Zijn er andere mensen bekend met Rstudio die dit werkend kunnen krijgen?Zou leuk zijn :slight_smile:

Schermopname van deze WCS method die ik graag met wat hulp meer generiek wil krijgen voor ‘POINT SERIES’

=> INPUT XY RANGE
=> OUTPUT XYZ RANGE

Hoi ,

Excuses dat ik nu pas reageer. Heb dit even gemist in combinatie met een paar dagen er tussenuit. Nogmaals mijn excuses hiervoor.

R packages zijn vaak zo gemaakt dat ze werken met andere packages en dat ze om algemene R kennis vragen. Het inlezen van een .csv bestand en een functie in een loop draaien zijn voorbeelden daarvan. Mijn documentatie legt slechts uit hoe je de functies van mijn package moet gebruiken.

het ahn_hoogte.R bestand dat je hebt gevonden op de github pagina is inderdaad een voorbeeld hoe het moet. Dit was echter een eerste versie van het script dat iemand anders toen heeft gebruikt. Let wel, gebruik niet de rest van de code want dat is verouderd. Ik raad om het via de package te doen. Wel kun je de techniek gebruiken om een csv in te lezen (regel 262 in het bestand ahn_hoogte.R).

Wat bedoel je precies met ‘specify file’ > browse functie’? In R zul je alles moeten doen met inlezen van bestanden vai allerlei commands/functies.

2 likes

Hey Jelle, Ik probeer momenteel voor een project hoogtes op te halen van punten binnen amsterdam. Mijn vraag is eigenlijk: hoe weet jij de correspodentie tussen punten op het raster van de TIFF en de long/lats?

Alvast bedankt,

Pim

Hoi Pim,

De TIFF bestanden van de AHN zijn GeoTIFF. Deze tiff bestanden bevat een attribuut met de extent (xmin,ymin,xmax,ymax) waar het is. Als je deze tiff bestanden als raster in je script/programma laadt, dan weet hij meteen waar het is via de extent attribuut. Beantwoord dit een beetje je vraag?

@Jellest ik heb het Rstudio script geprobeerd maar er lijkt een sp onderdeel te missen. Enig idee welke (sub) functionlaitiet ik moet inladen

library(raster)
Loading required package: sp
library(rAHNextract)
punten ← read.table(“C:\Users\Admin\Documents\_R Studio\coordinaten.csv”, header = TRUE, sep=",")
Error in file(file, “rt”) : cannot open the connection
In addition: Warning message:
In file(file, “rt”) :

Error in mapply(ahn_point, name = punten$ID, X = punten$X, Y = punten$Y, :
object ‘punten’ not found

EDIT:
documentatie

library(sp) ; lijkt enig effect te sorteren

Alleen krijg ik nu een andere foutmelding

alle_hoogtes ← mapply(ahn_point, name = punten$ID, X = punten$X, Y = punten$Y, dem = “DTM”)
Error in mapply(ahn_point, name = punten$ID, X = punten$X, Y = punten$Y, :
object ‘punten’ not found
#voeg resultaten samen met coordinaten in een tabel en maak kolom namen
alle_hoogtes_tabel_ruw ← data.frame(“DTM”, punten, alle_hoogtes)
Error in data.frame(“DTM”, punten, alle_hoogtes) :
object ‘punten’ not found
colnames(alle_hoogtes_tabel_ruw) ← c(“DEM”, “ID”, “X”, “Y”, “hoogte”)
Error in colnames(alle_hoogtes_tabel_ruw) ← c(“DEM”, “ID”, “X”, “Y”, :
object ‘alle_hoogtes_tabel_ruw’ not found
#rond af alles af naar 2 decimalen
alle_hoogtes_tabel ← alle_hoogtes_tabel_ruw
Error: object ‘alle_hoogtes_tabel_ruw’ not found
is.num ← sapply(alle_hoogtes_tabel, is.numeric)
Error in lapply(X = X, FUN = FUN, …) :
object ‘alle_hoogtes_tabel’ not found

Deze coordinaten.csv geprobeerd

DEM,“ID”,“X”,“Y”,“hoogte”
DTM,1,113219.34,472445
DTM,2,113219.53,472445
DTM,3,113219.73,472445.82

DEM,“ID”,“X”,“Y”,“hoogte”
DTM,1,113219.34,472445,
DTM,2,113219.53,472445,
DTM,3,113219.73,472445.82,

DEM,“ID”,“X”,“Y”,“hoogte”
DTM,1,113219.34,472445,
DTM,2,113219.53,472445,
DTM,3,113219.73,472445.82,

Een werkende set data met alles erop en eraan die “fool proof” load zou ik willen nastreven.

Hoi Hans,

De oorzaak van je eerste foutmelding is ook de oorzaak van je tweede. Het heeft niks met sp te maken. Er gaat iets mis met inladen van je punten. Als je \ gebruikt moet je er twee plaatsen. Één werkt als escape character. Je kunt ook één / gebruiken. Let ook op dat je de juiste " gebruikt.

Ik heb \ gebruikt. Heb al eerde gemerkt dat Rstudio heel merkwaardig doet met gekopieerde teksten. Zal het een intypen. Bedankt!