The raw data come from Datos abiertos.
These data are collected and curated by Mexico’s SISMEP
(Sistema de Monitoreo Satelital de Embarcaciones Pesqueras). They reports the
identity, coordinates, and timestamp of Mexican fishing vessels that comply with
Mexico’s fisheries regulation on the matter.
Simply put, vessels larger than 10.5m in length overall, with an on-board engine > 80hp, and with a roof must carry a transponder.
The data available require some wrangling to get them into a usable format. This repository attempts to do that. It then makes the data available for others to use.
Monthly .csv
files are available in the data/clean/
folder
here and in a Google Cloud Bucket at at: gs://mex_vms/MEX_VMS/*
. Files follow
a standard file naming pattern of MEX_VMS_yyyy_mm.csv
, where yyyy
indicate
the year and mm
the month.
On Google BigQuery at mex-fisheries.mex_vms.mex_vms_latest
for the same data
as in the Google Cloud Bucket, some with level of processing with added features
(segmentation, spatial covariates) at mex-fisheries.mex_vms.mex_vms_latest
. Both
are partitioned by year.
Note that BigQuery data use a standard versioning system every time the tables undergo a major change, like fixing bugs, adding data, or modifying the underlying cleaning code. Past versions include:
mex-fisheries.mex_vms.mex_vms_processed_v_20250623
<– This is the current version, viewed by mex-fisheries.mex_vms.mex_vms_procssed_latest
mex-fisheries.mex_vms.mex_vms_processed_v_20250613
mex-fisheries.mex_vms.mex_vms_processed_v_20250319
mex-fisheries.mex_vms.mex_vms_processed_v_20240615
mex-fisheries.mex_vms.mex_vms_processed_v_20240515
Available columns are:
You should be able to access the entire date set using BigQuery (SQL) or R. The following code snippet shows how you might connect to the database:
# Load packages ----------------------------------------------------------------
pacman::p_load(
bigrquery,
DBI,
tidyverse
)
bq_auth("juancarlos.villader@gmail.com") # You'll need to authenticate using your own email
# Establish a connection -------------------------------------------------------
con <- dbConnect(bigquery(),
project = "mex-fisheries", # This is the name of the project, leave it as-is
dataset = "mex_vms", # This is the name of the dataset, leave it as-is
use_legacy_sql = FALSE,
allowLargeResults = TRUE)
mex_vms <- tbl(con, "mex_vms_processed_latest") # This object now contains a tbl that points at mex_vms_processed_v_20250319
# That's it, you can now use dplyr verbs to work with the data.
# For example, get latitude, longitude, and vessel id for the first 1000 rows in the data
mex_vms |>
select(vessel_rnpa, lat, lon) |>
head(1000) |>
collect()
01-10-FEB-2018.xlsx
, 11-20-FEB-2018.xlsx
, and all August - Dec, 2022) are provided as excel files, instead of csv files.12. DICIEMBRE/12 - 01 -15 DIC 2022.xlsx
is corrupt. (still corrupt as of March 19, 2025)21-31-AGO-2014.csv
, 11-20-ENE-2018.csv
, 16-31 OCT 2020.csv
) have either corrupted or incorrect datetime values in the Fecha
field.21-31-AGO-2014.csv
, 11-20-ENE-2018.csv
, 16-31 OCT 2020.csv
, there is no datetime available. There is, however, year and month data available, extracted from the file names (included as an src
variable).vessel_rnpa
is recommended instead.Regulation governing the use of VMS on boats: Norma Oficial Mexicana NOM-062-PESC-2007, Para la utilización del sistema de localización y monitoreo satelital de embarcaciones pesqueras, SECRETARIA DE AGRICULTURA, GANADERIA, DESARROLLO RURAL, PESCA Y ALIMENTACION, Estados Unidos Mexicanos; DOF, 24 de abril 2008, [citado el 21-04-2021]; Disponible en versión HTML en internet: http://sidof.segob.gob.mx/notas/5033406