Turn the long-format apparent-fishing-hours tibble returned by
gfwr::gfw_ais_fishing_hours() (formerly gfwr::get_raster()) into a
multi-layer SpatRaster on the package's canonical study grid. Each
level of layer_by becomes its own layer, named
effort_<level> (e.g. effort_drifting_longlines).
Usage
gfw_effort_to_raster(
effort,
grid = NULL,
layer_by = "geartype",
value = "Apparent Fishing Hours",
fun = "sum"
)Arguments
- effort
Data frame. Output of
gfwr::gfw_ais_fishing_hours()(a long-format tibble with at minimumLat,Lon, a value, and a grouping column).- grid
SpatRaster. Target grid (extent, resolution, CRS) — typically the same grid used for species ranges and WOA extraction. If
grid = NULL, assume target grid from input effort data frame.- layer_by
Character. Column in
effortwhose levels become layers.NULLproduces a single-layer total-effort raster. Default"geartype".- value
Character. Column in
effortto aggregate. Default"Apparent Fishing Hours".- fun
Character or function. Aggregation applied to records that fall into the same cell × layer level. Default
"sum".
Value
A SpatRaster with one layer per layer_by level (or one layer
if layer_by = NULL). Layer names follow effort_<level>.
Details
The input is expected to carry a cell centroid (Lat, Lon), a value
column (default "Apparent Fishing Hours"), and one categorical column
matching the API's group_by — for example geartype or flag (note
lower-case; this is what gfwr actually returns). Records that fall
into the same target cell × layer level are aggregated with fun.
Examples
if (FALSE) { # \dontrun{
jpn_eez_id <- gfwr::gfw_region_id(region = "JPN", region_source = "EEZ")$id
effort <- gfwr::gfw_ais_fishing_hours(
spatial_resolution = "LOW", # 0.01 deg
temporal_resolution = "YEARLY", # one bucket per year in [start, end]
start_date = "2022-01-01",
end_date = "2022-12-31",
region = jpn_eez_id,
region_source = "EEZ",
group_by = "GEARTYPE"
)
# Returns data.frame
head(effort)
# Create multi-layer SpatRaster from data.frame, one for each geartype
effort_by_gear <- gfw_effort_to_raster(
effort = effort,
layer_by = "geartype",
value = "Apparent Fishing Hours",
fun = "sum"
)
# Plot drifitng longlines effort
terra::plot(effort_by_gear$effort_drifting_longlines)
} # }