Skip to content

Commit bdf422b

Browse files
committed
Initial commit
1 parent 62ef207 commit bdf422b

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

gis/DataExtentSmoothing.R

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
###############################################
2+
# title: "Smoothing data range extent layer"
3+
# author: Elly Knight
4+
# date: August 8, 2025
5+
##################################################
6+
7+
#This code takes the NA tif output from "Probable_Range_Extent.R" and smooths it for masking packaged outputs to the area of available survey data.
8+
9+
#PREAMBLE############################
10+
11+
#1. Load packages----
12+
13+
library(tidyverse) #basic data wrangling
14+
library(sf) #read in & handle study area
15+
library(terra) #raster management
16+
17+
#2. Set root path for data on google drive----
18+
root <- "G:/Shared drives/BAM_NationalModels5"
19+
20+
#3. Get tif----
21+
na1 <- rast(file.path(root, "MosaicWeighting", "Range", "ABS_NA_Layer450.tiff"))
22+
23+
#4. Get Canada extent----
24+
can <- read_sf(file.path(root, "Regions", "BAM_BCR_NationalModel_Unbuffered_Canada.shp")) |>
25+
st_union() |>
26+
st_transform(crs(na1)) |>
27+
vect()
28+
29+
#5. Crop ----
30+
na2 <- na1 |> crop(can, mask=TRUE)
31+
32+
#6. Smooth it ----
33+
w <- matrix(1, 299, 299)
34+
na3 <- focal(na2, w=w, fun=mean, na.policy="omit", expand=TRUE)
35+
36+
#7. Rebinarize ----
37+
na4 <- na3 > 0.5
38+
39+
#8. Fix boundary ----
40+
na5 <- resample(na4, na2)
41+
na5[is.na(na5)] <- 0
42+
na6 <- sum(na5, na2)
43+
na6[values(na6) > 0] <- 1
44+
45+
#8. Plot ----
46+
plot(na6)
47+
48+
#9. Save ----
49+
writeRaster(na6, file.path(root, "gis", "DataLimitationsMask.tif"))
50+

0 commit comments

Comments
 (0)