Skip to content

Instantly share code, notes, and snippets.

View h-a-graham's full-sized avatar

Hugh Graham h-a-graham

View GitHub Profile
@h-a-graham
h-a-graham / geoid_warp_EGM2008.R
Created May 8, 2022 21:29
An example of how to directly warp a geoid model into R.
# Warp and plot the EGM2008 1' geoid model
# geoid COGS hosted here: https://www.agisoft.com/downloads/geoids/
library(vapour)
library(gdalio)
library(terra)
source(system.file("raster_format/raster_format.codeR", package = "gdalio", mustWork = TRUE))
geoid <- '/vsicurl/https://s3-eu-west-1.amazonaws.com/download.agisoft.com/gtg/us_nga_egm2008_1.tif'
@h-a-graham
h-a-graham / GEE_driver_R.R
Last active April 29, 2022 15:50
GEE driver example in R
library(gdalio)
library(terra)
library(viridisLite)
source(system.file("raster_format/raster_format.codeR", package = "gdalio", mustWork = TRUE))
Sys.setenv(GOOGLE_APPLICATION_CREDENTIALS = "MYKEY.json")
gee_src <- "EEDAI:CGIAR/SRTM90_V4"
src_info <- vapour::vapour_raster_info(gee_src)
library(rstac)
library(sf)
library(raytrix)
library(rayshader)
# set region and search stac!
region <- st_bbox(st_buffer(st_point(c(-151.739,-16.501)), 0.063)) %>%
st_as_sfc() %>%
st_set_crs(4326)
@h-a-graham
h-a-graham / rstac_swisstopo.R
Last active December 9, 2021 13:37
Use rstac to query the swisstopo lidar collection and load into R. plot with terra and rayshader...
#rstac example/test
library(vapour)
library(gdalio)
library(rstac)
library(sf)
library(dplyr)
library(scico)
source(system.file("raster_format/raster_format.codeR", package = "gdalio", mustWork = TRUE))
# get random swiss region
#anglr questions
# example...
library(gdalio)
library(rayshader)
library(topography)
library(gdalwebsrv)
library(anglr)
source(system.file("raster_format/raster_format.codeR", package = "gdalio", mustWork = TRUE))
#functions...
# example...
library(gdalio)
library(rayshader)
library(topography)
library(gdalwebsrv)
rotate <- function(x) t(apply(x, 2, rev))
gdalio_rayshader_matrix <- function(dsn, ...) {
if (!"here" %in% installed.packages()[,"Package"]) install.packages('here')
library(here)
dir_home <- here()
# Function to un-nest all files in sub directories.
unnest_dir <- function(.root, sep="_DIR_SEP_"){
#list all the files in the directory and sub dirs
files <- list.files(.root, full.names = F, recursive = T)
# easy height data for rayshader
# remotes::install_github("hypertidy/topography")
library(gdalio)
library(topography)
library(sf)
library(rayshader)
library(scico)
library(dplyr)
# ------ get data -------------
# Get county data for England and Wales
# Raster Mask Benchmark
library(sf)
library(terra)
library(dplyr)
library(elevatr)
library(microbenchmark)
# library(tictoc)
library(bench)
# ------ get data -------------
# Find area difference of two lines and group by whether one line is higher or
# lower than the other. Possiblt a long way round but it works!
#--------- Load packages -------------
library(wk)
library(sf)
library(tidyverse)
#------------- Create some fake data in long form ---------------
fake_df <- tibble(scenario = c(rep('high',6),rep('low',6)),