Skip to content
Snippets Groups Projects
Select Git revision
  • 93a80a4f1a84b27602dfd7ab4acf28a7c808727b
  • master default protected
2 results

01_Extract_elevation.Rmd

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    01_Extract_elevation.Rmd 3.25 KiB
    title: "sPlot 3.0 - Construction"
    subtitle: "Extract elevation"
    author: "Francesco Maria Sabatini"
    date: "6/21/2019"
    output: html_document
    ![](/data/sPlot/users/Francesco/_sPlot_Management/splot-long-rgb.png "sPlot Logo")

    Timestamp: r date()
    Drafted: Francesco Maria Sabatini
    Version: 1.0

    This report describes how elevation data was matched to plot locations.

    knitr::opts_chunk$set(echo = TRUE)
    library(reshape2)
    library(tidyverse)
    library(readr)
    library(dplyr)
    library(data.table)
    library(elevatr)
    library(sp)
    library(raster)
    library(knitr)
    library(kableExtra)
    library(viridis)
    library(grid)
    library(gridExtra)
    library(ggforce)
    

    Import header data

    header <- readr::read_csv("../sPlot_data_export/sPlot_data_header_fix1.csv",
                                col_types=cols(
      PlotObservationID = col_double(),
      PlotID = col_double(),
      `TV2 relevé number` = col_double(),
      Country = col_factor(),
      `Cover abundance scale` = col_factor(),
      Author = col_character(),
      `Date of recording` = col_date(format="%Y"),
      `Relevé area (m²)` = col_double(),
      `Altitude (m)` = col_double(),
      `Aspect (°)` = col_double(),
      `Slope (°)` = col_double(),
      `Cover total (%)` = col_double(),
      `Cover tree layer (%)` = col_double(),
      `Cover shrub layer (%)` = col_double(),
      `Cover herb layer (%)` = col_double(),
      `Cover moss layer (%)` = col_double(),
      `Cover lichen layer (%)` = col_double(),
      `Cover algae layer (%)` = col_double(),
      `Cover litter layer (%)` = col_double(),
      `Cover open water (%)` = col_double(),
      `Cover bare rock (%)` = col_double(),
      `Height (highest) trees (m)` = col_double(),
      `Height lowest trees (m)` = col_double(),
      `Height (highest) shrubs (m)` = col_double(),
      `Height lowest shrubs (m)` = col_double(),
      `Aver. height (high) herbs (cm)` = col_double(),
      `Aver. height lowest herbs (cm)` = col_double(),
      `Maximum height herbs (cm)` = col_double(),
      `Maximum height cryptogams (mm)` = col_double(),
      `Mosses identified (y/n)` = col_logical(),
      `Lichens identified (y/n)` = col_logical(),
      Locality = col_character(),
      Naturalness = col_factor(),
      Forest = col_logical(),
      Shrubland = col_logical(),
      Wetland = col_logical(),
      Grassland = col_logical(),
      `Sparse vegetation` = col_logical(),
      EUNIS = col_factor(),
      Longitude = col_double(),
      Latitude = col_double(),
      `Location uncertainty (m)` = col_double(),
      Dataset = col_factor()
    ))

    Split data into tiles of 5 x 5 degrees, and create sp files

    header.sp <- header %>%
      dplyr::select(PlotObservationID, Longitude, Latitude) %>%
      mutate_at(.vars=vars(Longitude, Latitude), 
                .funs=list(tile=~cut(., breaks = seq(-180,180, by=5)))) %>%
      filter(!is.na(Longitude_tile) & !is.na(Latitude_tile) ) %>%
      mutate(tilenam=factor(paste(Longitude_tile, Latitude_tile)))
      #group_by(Longitude_tile, Latitude_tile) %>%
      #summarize(n())
    
    #create sp
    sp.tile <- SpatialPoints(coords=header.sp %>% 
                               filter(tilenam %in% levels(header.sp$tilenam)[1]) %>%
                               dplyr::select(Longitude, Latitude),
                             proj4string = CRS("+init=epsg:4326"))
    
    
    raster.tile <- get_elev_point(sp.tile )