Description obs_data.csv elev_ned30m.tif sites_nc.shp streams.shp geology.shp landuse_r.tif lakes.shp pointsources.shp Examples
openSTARS provides functions to prepare data so that it can be imported by
the SSN
package for spatial modelling on stream networks.
'GRASS GIS 7.0' (or greater) with installed addons r.stream.basins,
r.stream.distance, r.stream.order, and r.hydrodem is needed.
Artificial observation data with arbitrary measurements.
South-West Wake county National Elevation Data 30m.
Arbitrary sites along rivers in North Carolina.
Rivers in North Carolina.
Geological data.
Land use date in North Carolina.
Artificial lakes (not at topologically correct locations)
Artificial point sources.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | # Initiate and setup GRASS
dem_path <- system.file("extdata", "nc", "elev_ned_30m.tif", package = "openSTARS")
if(.Platform$OS.type == "windows"){
grass_program_path = "c:/Program Files/GRASS GIS 7.6"
} else {
grass_program_path = "/usr/lib/grass78/"
}
setup_grass_environment(dem = dem_path,
gisBase = grass_program_path,
remove_GISRC = TRUE,
override = TRUE
)
gmeta()
# Load files into GRASS
dem_path <- system.file("extdata", "nc", "elev_ned_30m.tif", package = "openSTARS")
sites_path <- system.file("extdata", "nc", "sites_nc.shp", package = "openSTARS")
streams_path <- system.file("extdata", "nc", "streams.shp", package = "openSTARS")
preds_v_path <- system.file("extdata", "nc", "pointsources.shp", package = "openSTARS")
preds_r_path <- system.file("extdata", "nc", "landuse_r.tif", package = "openSTARS")
import_data(dem = dem_path, sites = sites_path, streams = streams_path,
predictor_vector = preds_v_path, predictor_raster = preds_r_path)
# Derive streams from DEM
# burn in 'streams' 10 meters
derive_streams(burn = 10, accum_threshold = 700, condition = TRUE, clean = TRUE)
# Check and correct complex confluences (there are no complex confluences in this
# example date set; set accum_threshold in derive_streams to a smaller value
# to create complex confluences)
cj <- check_compl_confluences()
if(cj){
correct_compl_confluences()
}
# calculate slope as potential predictor
execGRASS("r.slope.aspect", flags = c("overwrite","quiet"),
parameters = list(
elevation = "dem",
slope = "slope"
))
# Prepare edges
calc_edges()
calc_attributes_edges(input_raster = c("slope", "landuse_r"),
stat_rast = c("max", "percent"),
attr_name_rast = c("maxSlo", "luse"),
input_vector = "pointsources", stat_vect = "count",
attr_name_vect = "psource")
# Prepare site
calc_sites()
# Usually, only one of the following methods is needed. The exact one takes
# longer to run
# approximate potential predictor variables for each site based on edge values
calc_attributes_sites_approx(input_attr_name = c("maxSlo", "lusep_1", "lusep_2",
"lusep_3", "lusep_4", "lusep_5",
"lusep_6", "lusep_7"),
output_attr_name = c("maxSloA","luse1A", "luse2A",
"luse_3A", "luse4A", "luse5A",
"luse6A", "luse7A"),
stat = c("max", rep("percent", 7)))
# exact potential predictor variables for each site based on catchments
calc_attributes_sites_exact(input_raster = c("slope", "landuse_r"),
attr_name_rast = c("maxSloEx", "luseE"),
stat_rast = c("max", "percent"))
# Plot data
library(sp)
dem <- readRAST("dem", ignore.stderr = TRUE, plugin = FALSE)
sites <- readVECT("sites", ignore.stderr = TRUE)
sites_orig <- readVECT("sites_o", ignore.stderr = TRUE)
edges <- readVECT("edges", ignore.stderr = TRUE)
plot(dem, col = terrain.colors(20))
lines(edges, col = "blue")
points(sites_orig, pch = 4)
cols <- colorRampPalette(c("blue", "red"))(length(sites$H2OArea))[rank(sites$H2OArea)]
points(sites, pch = 16, col = cols)
# Write data to SSN Folder
ssn_dir <- file.path(tempdir(), "nc.ssn")
export_ssn(ssn_dir, delete_directory = TRUE)
# Check if all files are ok
library(SSN)
check_ssn(ssn_dir)
# Load into SSN-package
ssn_obj <- importSSN(ssn_dir, o.write = TRUE)
print(ssn_obj)
#Datasets shipped with openSTARS
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.