Los lenguajes de programación R y Python son de los mas empleados a la hora de trabajar con datos científicos, en esta ocasión se va a presentar una librería de R (rgbif) que permite tanto la descarga como el análisis y visualización de la información geoespacial sobre Biodiversidad alojada en GBIF.
Así, vamos a trabajar en R, y procedemos a la instalación de las librerías y su correspondiente activación:
Vamos a buscar los registros de la pantera de las nieves (Panthera uncia) que se encuentran alojados en el portal GBIF para ello introducimos el siguiente código y dará el correspondiente resultado:
Cada especie posee una clave con la que se pueden realizar otro tipo de operaciones, para obtenerla escribiremos el código y se obtendrá el siguiente resultado:
Se pueden ver cuántos datos existen en GBIF así como aquellos georreferenciados se puede incluir la siguiente sentencia, y buscar explícitamente para el leopardo de las nieves con la clave que se obtuvo anteriormente:
Realizamos una consulta sobre dicha especie incluyendo los campos: especie, longitud y latitud.
Verificamos el tipo de datos y convertimos a objetos sf (simple feature):
Obtenemos la variable de altitud de la base de datos “worldclim” y lanzamos las observaciones en el mapa:
Y obtendremos el mapa, hay que apuntar que muchas observaciones en GBIF pueden tener las coordenadas incorrectas o el nombre de las especies equivocados (por ejemplo en esta base de datos me salían dos panteras de las nieves en Norteamérica) , por eso es preciso hacer una depuración previa de dichos datos.
Dejo el código por si queréis bichear un poco:
library(rgbif) library(sf) library(raster) leopardo <- name_lookup(query = 'Panthera uncia', rank="species") leopardo name <- name_backbone(name='Panthera uncia', rank='species') name[, c('usageKey', 'scientificName')] occ_count() occ_count(georeferenced = TRUE) occ_count(taxonKey = 5787213, georeferenced = TRUE) leopardonieves <- occ_search( scientificName = 'Panthera uncia', hasCoordinate = TRUE, hasGeospatialIssue = FALSE, fields = c('scientificName', 'decimalLongitude', 'decimalLatitude') ) leopardonieves class(leopardonieves) class(leopardonieves$data) leopardomapa <- st_as_sf(leopardonieves$data, coords = c("decimalLongitude", "decimalLatitude"), crs = 4326 ) class(leopardomapa) altitud <- getData("worldclim", var="alt", res=10) plot(altitud, ext = extent(60, 140, 0, 60 )) plot(leopardomapa, col='red', add=TRUE)
Deja tu comentario