grid
de cámaras-trampa en campoUn aspecto crucial en los estudios y programas de monitoreo de fauna, es el referente al diseño de muestreo. La selección del tipo de método o técnica (trampas físicas, transectos, redes, cámaras, u otro), la definición del número de unidades de muestreo, la colocación, el tiempo que se dejarán trabajando o bien el número de ocasiones que recorrerán los transectos, y otros aspectos, son temas muy importante. Para este fin, existen muchos libros y recursos en internet que abordan con mucho detalle cada uno de estos aspectos. En el caso de las cámaras-trampa, las decisiones que debemos tomar respecto al diseño de muestreo, no son muy distintas a las que tomarían con algún otro método o técnica para obtener datos de los animales en campo. Antes de iniciar el trabajo es necesario previamente haber definido muy bien el diseño del muestreo. Es conveniente desde antes de saliar a campo pensar y discutir las alternativas del diseño. El objetivo de esta viñeta es presentar una función a la que he nombrado mi_grid
escrita en R
, para crear diferentes posibles diseños de disposición en campo de las cámaras-trampa.
Para más detalles te sugiero ver el tutorial en formato HTML en el sitio:
https://rpubs.com/SMR8810/Grid_camaras
Además, puedes decargar el proyecto RStudio
que contiene todo el material para ejecutar la función de creación de la grid o cuadrícula de cámaras, en:
https://github.com/SMandujanoR/Grid_camaras
Conforme se pruebe esto en más casos, se mejore la función o se creen otras nuevas, iré actualizando estos sitos por lo que te sugiero estar atento a futuros avisos de actualizaciones.
El presente script o código está hecho para crear una grid
, rejilla o cuadrícula de un arreglo de n1 x n2 cámaras o sitios, a diferentes distancias entre sitios, iniciando en una coordenada UTM específica, sobre un shape
del mapa de la región de estudio.
Como resultados, el script guarda una imagen en formato .jpg
del arreglo especificado, las coordenadas UTM específicas del las n1 x n2 sitios en formato .csv
, y estima el área que abarca la grid y un buffer alrededor de las mismas.
library(raster)
library(prettymapr)
mi_mapa <- shapefile("AZ_shp/Uso_Suelo.shp")
class(mi_mapa)
## [1] "SpatialPolygonsDataFrame"
## attr(,"package")
## [1] "sp"
shape
summary(mi_mapa)
## Object of class SpatialPolygonsDataFrame
## Coordinates:
## min max
## x -97.23237 -97.12693
## y 18.09883 18.20687
## Is projected: FALSE
## proj4string :
## [+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0]
## Data attributes:
## Uso_Suelo
## Length:13
## Class :character
## Mode :character
mi_mapa$Uso_Suelo
## [1] "Área sin veg. aparente" "Asentamientos humanos"
## [3] "Caminos" "Cercas vivas"
## [5] "Cultivos" "Lecho fluvial"
## [7] "Marmolera" "Matorral crausicaule"
## [9] "Salinas" "Selva baja caducifolia"
## [11] "Selva baja caducifolia abierta" "Selva baja caducifolia perturbada"
## [13] "Veg. ribereña"
bbox(mi_mapa)
## min max
## x -97.23237 -97.12693
## y 18.09883 18.20687
mi_mapa <- spTransform(mi_mapa, "+proj=utm +zone=14 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0")
Esto dependerá de la proyección inicial del shape
y de la zona donde se encuentre la región de estudio.
bbox(mi_mapa)
## min max
## x 687045 698085
## y 2002125 2013975
Se define los colores deseados para cada uno de los polígonos de uso del suelo (mi_mapa$Uso_Suelo
):
mi_paleta <- c("grey","black","black","black","yellow","deepskyblue2","black","darkorange2","white","darkolivegreen4","darkolivegreen3","orange")
Importante: en la función de la leyenda corresponde a mi mapa y colores específicos, pero debes cambiar la nomenclatura y colores de acuerdo a tu mapa. Para esto modifica en mi_grid
la función legend()
.
Si el usuario lo prefiere, puede emplear otras paletas de color, como por ejemplo topo.colors()
, etc.
par(mfrow=c(1,1), mar = c(1,1,1,1))
plot(mi_mapa, col = mi_paleta, fill = T, lty = 0)
addscalebar(htin = 0.05, padin = c(0.05, 0.05), pos = "bottomright")
addnortharrow()
legend(698200, 2005000, c("Perturbate", "Agriculture", "Permanent river", "Scrub", "Saltwork", "Tropical dry forest (TDF)", "Open TDF", "Perturbate TDF"), col = c("gray", "yellow", "deepskyblue2", "darkorange2", "white", "darkolivegreen4", "darkolivegreen3", "orange", "deepskyblue2"), pch = 15, cex = 0.5, pt.cex = 1.5)
source("mi_grid.R")
Se especifica el número de renglones (n1
), número de columnas (n2
). Es decir, el número total de cámaras en el arreglo n1xn2 que uno quiera.
Las coordenadas UTMs (CTx
y CTy
) del punto de inicio de la grid. OJO: estas UTMs se generarán automáticamente por la función y saldrán como un resultado en formato .csv
…!
la distancia (CTdist
) que uno quiera entre todas las cámaras.
mi_Grid
como:mi_Grid(n1 = 6, n2 = 5, CTx = 691000, CTy = 2006500, CTdist = 800)
La función crea dos archivos de salida: 1) un .jpg con el mapa de la grid de cámaras, y 2) un .csv con las UTMs de cada cámara de acuerdo al número que sale de cada una en el mapa.
Estos dos archivos aparecerán dentro de la carpeta de proyecto RStudio Grid_camaras
. Pero si se quieren explorar otros escenarios de arreglo de las cámaras, simplemente se cambian los valores de los parámetros en la función (PASO 3). Por ejemplo, si son 24 cámaras o sitios y en un arreglo de 4 x 6 cada 500 m, iniciando en nuevas coordenadas, entonces se especifica como:
mi_Grid(n1 = 4, n2 = 6, CTx = 688000, CTy = 2004500, CTdist = 500)
Por lo que ahora tendremos:
Importante: si se quiere ir guardando los .jpg
y .csv
de cada escenario o diseño, se deben cambiar los nombres de ambos (actualemente grid_camaras.jpg
y UTMs_grid_camaras.csv
).
La función y el script aquí presentados son muy sencillos de ejecutar. Por supuesto, lo mismo lo puedes hacer en algún SIG. Además, otros paquetes como sp
tiene funciones análogas para crear grids, como por ejemplo makegrid
. Es decir, tienes diferentes rutas para llegar a similares resultados. Lo importante es que verdaderamente medites mucho sobre el diseño más adecuado el cual es totalmente dependiente de los objetivos del estudio/monitoreo, las especies de principal interés, y los recursos logísticos con los que se cuente. Termino diciendo, que ni R
ni cualquier otro programa, corrije datos deficientes provenientes de diseños inadecuados.
Para bajar el PDF de libro:
Para descargar todo el material de trabajo (scripts R, datos de prueba, y otros archivos), desde:
https://github.com/SMandujanoR/Foto-trampeo-R-Vol_I
Te invito al sitio del grupo:
https://www.facebook.com/groups/fototrampeoR
Te esperamos en nuestros talleres donde de manera totalmente práctica enseñamos cómo organizar y analizar tus datos de cámaras-trampa para diferentes objetivos como: patrones de actividad, riqueza y diversidad, abundancia relativa, ocupación, co-ocurrencia, captura-recaptura, y otros más.