-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #144 from afsc-gap-products/dev2
Fix demos
- Loading branch information
Showing
11 changed files
with
166 additions
and
11 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# Example: Access data directly from a geopackage | ||
# SCRUG, akgfmaps, January 22, 2025 | ||
# Created by Sean Rohan (GitHub: sean-rohan-noaa) | ||
|
||
# akgfmaps installs layer files locally | ||
# Layers used to include a variety of formats; starting with akgfmaps v4, layers will be included in | ||
# geopackage (.gpkg) files. | ||
list.files(system.file("extdata", package = "akgfmaps"), | ||
full.names = TRUE) | ||
|
||
# Loading layers directly from built-in Geopackage | ||
# Geopackages are an open, standards-based, platform-independent format for storing geospatial data. | ||
# They are based on SQLite, can store multiple layers and data types in one file. | ||
|
||
library(akgfmaps) | ||
library(dplyr) | ||
|
||
# Filepath to geopackage with AFSC bottom trawl survey layers | ||
gpkg_fpath <- system.file("extdata", "afsc_bottom_trawl_surveys.gpkg", package = "akgfmaps") | ||
|
||
# Inpsect the layers at the dsn (data source name). | ||
# There are four layers in individual tables (called 'layers' in sf) | ||
sf::st_layers(dsn = gpkg_fpath) | ||
|
||
# Load all of of the features from the survey_area layer | ||
survey_areas <- sf::st_read(dsn = gpkg_fpath, | ||
layer = "survey_area") | ||
|
||
survey_areas | ||
|
||
# Plot the survey areas | ||
ggplot() + | ||
geom_sf(data = survey_areas, | ||
mapping = aes(color = SURVEY_NAME), | ||
fill = NA) + | ||
facet_wrap(~DESIGN_YEAR) + | ||
theme(legend.position = "bottom") | ||
|
||
# Filter to retreive the NBS survey area | ||
nbs_area <- dplyr::filter(survey_areas, SURVEY_DEFINITION_ID == 143) | ||
|
||
ggplot() + | ||
geom_sf(data = nbs_area, | ||
mapping = aes(color = SURVEY_NAME)) + | ||
facet_wrap(~DESIGN_YEAR) + | ||
theme(legend.position = "bottom") | ||
|
||
# Alternatively, we can retrieve features from the geopackage using a SQLite query. | ||
# In this case, retrieve GOA stratum polygons for the 1984 and 2025 design years. | ||
goa_strata <- sf::st_read(dsn = gpkg_fpath, | ||
query = | ||
"SELECT | ||
AREA_TYPE, | ||
SURVEY_DEFINITION_ID, | ||
DESIGN_YEAR, | ||
AREA_ID AS STRATUM, | ||
AREA_M2, | ||
GEOM | ||
FROM SURVEY_STRATA | ||
WHERE SURVEY_DEFINITION_ID = 47" | ||
) | ||
|
||
head(goa_strata) | ||
table(goa_strata$DESIGN_YEAR) | ||
|
||
# Plotting the 1984 and 2025 GOA survey strata | ||
ggplot() + | ||
geom_sf(data = goa_strata, | ||
mapping = aes(fill = factor(STRATUM)), | ||
color = NA) + | ||
scale_fill_viridis_d(option = "H") + | ||
facet_wrap(~DESIGN_YEAR, nrow = 2) + | ||
theme(legend.position = "none", | ||
axis.title = element_blank()) | ||
|
||
|
||
# Land layers | ||
sf::st_layers(dsn = system.file("extdata", "land_layers.gpkg", package = "akgfmaps")) |
75 changes: 75 additions & 0 deletions
75
assets/demo/akgfmaps_SCRUG_20250122/ex5_get_layers_old_version.R
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Example: Using the old get_base_layers() function | ||
# SCRUG, akgfmaps, January 22, 2025 | ||
# Created by Sean Rohan (GitHub: sean-rohan-noaa) | ||
|
||
# Through the end of 2025, an option will be provided to use the old interface and layers using | ||
# get_base_layers_v3(). The function is limited to the functionality and layers that were avaialble | ||
# in akgfmaps v 3.6.2 | ||
# | ||
# The old version has the following limitations: | ||
# - No access to design years (e.g., the most recent GOA BT survey stratum shapefile will be 1984) | ||
# - Cannot select multiple regions at the same time | ||
# - Field names differ among shapefiles | ||
# - No correspondence with GAP_PRODUCTS | ||
# - Access to longline | ||
|
||
# Recommendation: Don't use this version unless you can't replace with the new version due to time | ||
# and reliance on fields in specific shapefiles. | ||
|
||
library(akgfmaps) | ||
|
||
# Arguments differ between function versions | ||
?get_base_layers | ||
?get_base_layers_v3 | ||
|
||
# Retrieve and plot GOA and EBS/NBS strata | ||
goa_1984_v3 <- akgfmaps::get_base_layers_v3( | ||
select.region = "goa", | ||
set.crs = "EPSG:3338", | ||
high.resolution.coast = FALSE | ||
) | ||
|
||
ebs_nbs_2024_v3 <- akgfmaps::get_base_layers_v3( | ||
select.region = "ebs", | ||
set.crs = "EPSG:3338", | ||
high.resolution.coast = FALSE | ||
) | ||
|
||
ggplot() + | ||
geom_sf(data = goa_1984_v3$akland) + | ||
geom_sf(data = goa_1984_v3$survey.strata, | ||
mapping = aes( | ||
fill = factor(STRATUM) | ||
) | ||
) + | ||
scale_x_continuous(limits = goa_1984_v3$plot.boundary$x, | ||
breaks = goa_1984_v3$lon.breaks) + | ||
scale_y_continuous(limits = goa_1984_v3$plot.boundary$y, | ||
breaks = goa_1984_v3$lat.breaks) + | ||
theme_bw() + | ||
scale_fill_viridis_d(option = "H") + | ||
theme(legend.position = "none") | ||
|
||
ggplot() + | ||
geom_sf(data = ebs_nbs_2024_v3$akland) + | ||
geom_sf(data = ebs_nbs_2024_v3$survey.strata, | ||
mapping = aes( | ||
fill = factor(Stratum) | ||
) | ||
) + | ||
scale_x_continuous(limits = ebs_nbs_2024_v3$plot.boundary$x, | ||
breaks = ebs_nbs_2024_v3$lon.breaks) + | ||
scale_y_continuous(limits = ebs_nbs_2024_v3$plot.boundary$y, | ||
breaks = ebs_nbs_2024_v3$lat.breaks) + | ||
scale_fill_viridis_d(option = "H") + | ||
theme_bw() + | ||
theme(legend.position = "none") | ||
|
||
# Note that the field names do not match within or between regions. | ||
head(goa_1984_v3$survey.area) | ||
head(goa_1984_v3$survey.strata) | ||
head(goa_1984_v3$survey.grid) | ||
|
||
head(ebs_nbs_2024_v3$survey.area) | ||
head(ebs_nbs_2024_v3$survey.strata) | ||
head(ebs_nbs_2024_v3$survey.grid) |
Binary file not shown.