Detect fishing vessel presence within Marine Protected Areas polygons in Mexico
Source:R/join_mpa_data.R
join_mpa_data.Rd
The function spatially joins the Vessels Monitoring System, VMS, points with the Marine Protected Area, MPAs, polygons in Mexico.
Arguments
- x
A data.frame with VMS data that must contain columns longitude and latitude
- all_mpas
A shape file that contains all MPA polygons in Mexico you can upload this using
data("all_mpas")
Details
It adds three columns zone
, mpa_decree
, state
, municipality
, region
, which are data from the
MPAs polygon. zone
contains the name of the MPA (in Spanish) and when the vessel is outside an MPA polygon is dubbed as open area
,
mpa_decree
contains the type of MPA (such as National Park, etc.),
state
contains the Mexican state with jurisdiction on the MPA, municipality
contains the Mexican municipality with jurisdiction over the MPA,
and region
contains the overall location of the MPA (in Spanish)
Examples
# Use sample_dataset
data("sample_dataset")
data("all_mpas")
vms_cleaned <- vms_clean(sample_dataset)
#> Cleaned: 969 empty rows from data!
vms_mpas <- join_mpa_data(vms_cleaned, all_mpas)
#> although coordinates are longitude/latitude, st_intersects assumes that they
#> are planar
#> although coordinates are longitude/latitude, st_intersects assumes that they
#> are planar
# Plotting data
# Points NOT inside MPA are removed to reduce data size
vms_mpas_sub <- vms_mpas |>
dplyr::filter(zone != "open area")
vms_mpas_sf <- sf::st_as_sf(vms_mpas_sub, coords = c("longitude", "latitude"), crs = 4326)
# Loading Mexico shapefile
data("mx_shape")
# Map
library(ggplot2)
ggplot(mx_shape, col = "gray90") +
geom_sf(data = all_mpas, fill = "gray60") +
geom_sf(data = vms_mpas_sf, aes(col = zone)) +
theme_void() +
theme(legend.position = "")