From 0af9ba75c787e662b077354c0fff00b3193c04d6 Mon Sep 17 00:00:00 2001 From: Francesco Sabatini <francesco.sabatini@idiv.de> Date: Mon, 24 Feb 2020 10:46:06 +0100 Subject: [PATCH] Fixed issue in A97 - abs loc uncert --- code/04_buildHeader.Rmd | 14 +++++++------- code/A97_ElevationExtract.R | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/code/04_buildHeader.Rmd b/code/04_buildHeader.Rmd index 6e2a2a7..f65feaf 100644 --- a/code/04_buildHeader.Rmd +++ b/code/04_buildHeader.Rmd @@ -448,12 +448,13 @@ Split data into tiles of 1 x 1 degrees, and create sp::SpatialPointsDataFrame fi ```{r create tiles} header.tiles <- header %>% dplyr::select(PlotObservationID, Dataset, Longitude, Latitude, `Location uncertainty (m)`) %>% + mutate(`Location uncertainty (m)`=abs(`Location uncertainty (m)`)) %>% filter(`Location uncertainty (m)`<= 50000) %>% mutate_at(.vars=vars(Longitude, Latitude), .funs=list(tile=~cut(., breaks = seq(-180,180, by=.2)))) %>% filter(!is.na(Longitude_tile) & !is.na(Latitude_tile) ) %>% - mutate(tilenam=factor(paste(Longitude_tile, Latitude_tile))) %>% - mutate(`Location uncertainty (m)`=abs(`Location uncertainty (m)`)) + mutate(tilenam=factor(paste(Longitude_tile, Latitude_tile))) + ``` There are `r nrow(header.tiles)` plots out of `r nrow(header)` plots with Location uncertainty <= 50km (or absent). @@ -551,16 +552,15 @@ For those tiles that failed, extract elevation of remaining plots one by one ```{r} #create list of tiles for which dem could not be extracted myfiles <- list.files("../_derived/elevatr/") -done <- as.numeric(unlist(regmatches(myfiles, gregexpr("[[:digit:]]+", myfiles)))) -todo <- 1:nlevels(header.tiles$tilenam) -todo <- todo[-which(todo %in% done)] +failed <- list.files("../_derived/elevatr/", pattern = "[A-Za-z]*_[0-9]+failed\\.RData$") +failed <- as.numeric(unlist(regmatches(failed, gregexpr("[[:digit:]]+", failed)))) #create SpatialPointsDataFrame sp.tile0 <- SpatialPointsDataFrame(coords=header.tiles %>% - filter(tilenam %in% levels(header.tiles$tilenam)[todo]) %>% + filter(tilenam %in% levels(header.tiles$tilenam)[failed]) %>% dplyr::select(Longitude, Latitude), data=header.tiles %>% - filter(tilenam %in% levels(header.tiles$tilenam)[todo]) %>% + filter(tilenam %in% levels(header.tiles$tilenam)[failed]) %>% dplyr::select(-Longitude, -Latitude), proj4string = CRS("+init=epsg:4326")) sp.tile0 <- spTransform(sp.tile0, CRSobj = CRS("+init=epsg:3857 +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 diff --git a/code/A97_ElevationExtract.R b/code/A97_ElevationExtract.R index 674effc..8bca8f8 100644 --- a/code/A97_ElevationExtract.R +++ b/code/A97_ElevationExtract.R @@ -18,11 +18,12 @@ ElevationExtract <- function(header, output, ncores){ header.tiles <- header.shp@data %>% bind_cols(as.data.frame(header.shp@coords)) %>% rename(PlotObservationID=PltObID, Longitude=coords.x1, Latitude=coords.x2) %>% + mutate(lc_ncrt=abs(lc_ncrt)) %>% filter(lc_ncrt <= 50000) %>% mutate_at(.vars=vars(Longitude, Latitude), .funs=list(tile=~cut(., breaks = seq(-180,180, by=.2)))) %>% - mutate(tilenam=factor(paste(Longitude_tile, Latitude_tile))) %>% - mutate(lc_ncrt=abs(lc_ncrt)) + mutate(tilenam=factor(paste(Longitude_tile, Latitude_tile))) + print("Get continent") sPDF <- rworldmap::getMap(resolution="high") -- GitLab