if (FALSE) {
## create synthetic DEM
dem <- terra::rast(nrows = 20, ncols = 20,
xmin = 0, xmax = 10000,
ymin= 0, ymax = 10000,
vals = rep(0, 400))
## define station coordinates
sta <- data.frame(x = c(1000, 9000, 5000),
y = c(1000, 1000, 9000),
ID = c("A", "B", "C"))
## create synthetic signal (source in the center of the DEM)
s <- rbind(dnorm(x = 1:1000, mean = 400, sd = 50),
dnorm(x = 1:1000, mean = 400, sd = 50),
dnorm(x = 1:1000, mean = 800, sd = 50))
## plot DEM and stations
terra::plot(dem)
text(x = sta$x,
y = sta$y,
labels = sta$ID)
## calculate spatial distance maps and inter-station distances
D <- spatial_distance(stations = sta[,1:2],
dem = dem)
## restore SpatRaster object for plotting purpose
D_map_1 <- terra::rast(crs = D$maps[[1]]$crs,
ext = D$maps[[1]]$ext,
res = D$maps[[1]]$res,
val = D$maps[[1]]$val)
## plot distance map
terra::plot(D_map_1)
## locate signal
e <- spatial_parabola(data = s,
d_map = D$maps,
v = 1000,
dt = 1/100,
plot = "parabola",
zlim = c(0, 2))
}
Run the code above in your browser using DataLab