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