knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
El primer paso es instalar la librería VMSIndicators
si es que no se ha instalado previamente (instalar la librería remotes
previamente):
remotes::install_github("gmoroncorrea/VMSIndicators", build_vignettes = TRUE)
Luego activamos la librería en nuestra sesión:
library(VMSIndicators)
Ahora, lo primero que tenemos que tener en orden son los datos de entrada. Necesitamos dos bases de datos para emplear esta librería:
vmsdata
catchdata
Esta librería tiene un ejemplo de cada base de datos. Los datos de VMS deben estar estructurados de la siguiente manera:
data(vmsdata) head(vmsdata)
La columna DC
es opcional y debe ser nombrada DIST_COAST
luego:
vmsdata$DIST_COAST = vmsdata$DC
Sin embargo, podemos usar la función distCoast
para calcular distancia a la línea de costa en caso no tengamos información previa:
vmsdata$DIST_COAST = distCoast(lon = vmsdata$LON, lat = vmsdata$LAT, mainLand = TRUE)
La información de cada función puede encontrarse ejecutando ?
y luego el nombre de una función. Ejemplo: ?distCoast
.
Los datos de desembarques deben estar estructurados de la siguiente manera:
data(catchdata) head(catchdata)
Para obtener una base de datos matriz de la información de cada barco presente en vmsdata
, podemos ejecutar la siguiente función:
vesseldata = get_vessel_info(vmsdata = vmsdata)
Como vemos, ahora tenemos el nombre y matrícula de cada embarcación:
head(vesseldata)
Lo siguiente que debemos hacer es calcular algunos valores necesarios para luego calcular los indicadores de desempeño:
procdata = preprocessing(vmsdata = vmsdata, catchdata = catchdata, vesseldata = vesseldata, cutoff_dc = 4)
procdata
es una lista con dos bases de datos. El elemento checked
son los datos correctos y listos para ser analizados y el elemento to_verify
son datos que necesitan ser verificados dado que la distancia recorrida es ilogica basado en el tiempo de viaje.
Como observamos, esta nueva base de datos (checked
) tiene columnas adicionales con algunas variables importantes. Por ahora no es importante entrar en el detalle de ellas:
head(procdata$checked)
Podemos crear figuras en formato PNG de las trayectorias de cada viaje identificado:
plot_trajectory(data = procdata$checked, vessel_name = 'TASA_111')
Ahora, podemos calcular los indicadores de desempeño:
ind_data = get_indicators(data = procdata$checked)
Como vemos, cada indicador es específico para cada viaje:
head(ind_data)
Es el tiempo total de un viaje. Unidades: $h$.
Es la captura obtenida en el viaje. Unidades: $t$.
Calculada como: $CAPTURA/DURACION$. Unidades: $t/h$.
Es la distancia navegada durante el viaje. Unidades: $mn$.
Sea $Dst_1$ la distancia del punto de inicio a su punto más apartado y $Dst_2$ la distancia del punto final a su punto más apartado. Entonces, la distancia en línea recta es calculada como el promedio entre $Dst_1$ y $Dst_2$. Unidades: $mn$.
Calculada como: $CAPTURA/CAPBOD$, donde $CAPBOD$ representa la capacidad de bodega de la embarcación. Unidades; $t/m^3$.
Calulado como: $DIST_RECT/DIST$. Sin unidades.
Calculada como: $24/DURACION$. Sin unidades.
Calculada como:
$$log(EFF_DISTEFF_CAPTURAIND_TEMP*CPUE + 1)$$
Estos indicadores pueden ser graficados e incluidos en una figura en formato PNG:
plot_indicators(ind_data = ind_data, save_plot = FALSE)
Podemos calcular el índice global de colocación (GIC):
gic_data = get_icollocation(data = procdata$checked, vessel_name = 'all') head(gic_data)
Finalmente, podemos también graficar los centros de gravedad de cada viaje (ponderado por velocidad) y la inercia espacial (valor mostrado):
plot_cgi(data = procdata$checked, vessel_name = 'all', alpha = 0.7, save_plot = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.