The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
peruocc es un paquete en R diseñado para facilitar la
búsqueda, descarga, validación espacial y consolidación de registros de
ocurrencias de biodiversidad (flora y fauna) en el
territorio peruano, tomando como marco de referencia las delimitaciones
político-administrativas oficiales provistas por
geoperu (distritos y provincias).
El paquete integra y estandariza la información proveniente de dos de las plataformas más representativas en biodiversidad: * GBIF (Global Biodiversity Information Facility) * iNaturalist
Carga el paquete en tu sesión de R:
Si deseas almacenar automáticamente capas en caché o resultados
exportados en un directorio específico de tu proyecto, puedes
configurarlo con peruocc_data_dir():
Por defecto, todas las consultas y geometrías se procesan directamente en memoria RAM sin escribir archivos en el disco.
Por defecto, las consultas se ejecutan directamente en memoria
(guardar_resultados = FALSE), lo que agiliza el flujo
interactivo y previene la creación de archivos no deseados en el
disco.
Para consultar registros en un distrito específico (por ejemplo, el distrito de Cusco, en la provincia y departamento de Cusco):
resultado_cusco <- buscar_especies_distrito(
distrito = "Cusco",
departamento = "Cusco",
provincia = "Cusco",
grupo = "flora", # "flora", "fauna" o NULL
limite_por_api = 150
)
#>
#> ── Búsqueda Integrada: CUSCO (DISTRITO) ────────────────────────────────────────
#> • Departamento: Cusco
#> • Provincia: Cusco
#> • Grupo: flora
#> ℹ [GBIF] Iniciando búsqueda de ocurrencias...
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 1153 caracteres).
#> ℹ [GBIF] Filtrando por reino Plantae (Flora).
#> ℹ [GBIF] Consultando registros dentro del polígono de CUSCO (límite: "150")...
#> ✔ [GBIF] Búsqueda finalizada. Se filtraron 150 registro(s) que caen dentro del polígono seleccionado.
#> ℹ [iNaturalist] Iniciando búsqueda de ocurrencias...
#> ℹ [iNaturalist] Filtrando por reino Plantae (Flora).
#> ℹ [iNaturalist] Consultando registros dentro de la caja delimitadora de CUSCO (límite: "150")...
#> ℹ [iNaturalist] Se descargaron 150 registros en la caja delimitadora. Aplicando filtro espacial...
#> ✔ [iNaturalist] Búsqueda finalizada. 120 de 150 registros caen dentro del polígono seleccionado.
#> ✔ Consolidación exitosa. Total de registros unificados: 270
#>
#> ── Resumen de Registros ──
#>
#> • GBIF: 150 registro(s)
#> • iNaturalist: 120 registro(s)
#> ✔ Total consolidado: 270 registro(s)Para consultar una provincia completa (donde peruocc
disuelve automáticamente las geometrías distritales):
resultado_urubamba <- buscar_especies_provincia(
provincia = "Urubamba",
departamento = "Cusco",
grupo = "fauna",
limite_por_api = 200
)
#>
#> ── Búsqueda Integrada: URUBAMBA (PROVINCIA) ────────────────────────────────────
#> • Departamento: Cusco
#> • Grupo: fauna
#> ℹ Procesando 10 lotes espaciales (distritos): "MARAS", "HUAYLLABAMBA", "YUCAY", "CHINCHERO", "OLLANTAYTAMBO", "MACHUPICCHU", and "URUBAMBA"
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 1213 caracteres).
#> ✔ Lote 1/10 [MARAS]: 190 (GBIF) + 94 (iNat) = 284 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 1211 caracteres).
#> ✔ Lote 2/10 [HUAYLLABAMBA]: 200 (GBIF) + 101 (iNat) = 301 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 608 caracteres).
#> ✔ Lote 3/10 [YUCAY]: 200 (GBIF) + 84 (iNat) = 284 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 865 caracteres).
#> ✔ Lote 4/10 [CHINCHERO]: 200 (GBIF) + 186 (iNat) = 386 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 300 metros (WKT: 898 caracteres).
#> ✔ Lote 5/10 [OLLANTAYTAMBO]: 166 (GBIF) + 15 (iNat) = 181 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 819 caracteres).
#> ✔ Lote 6/10 [OLLANTAYTAMBO]: 200 (GBIF) + 113 (iNat) = 313 registros.
#> ✔ Lote 7/10 [OLLANTAYTAMBO]: 7 (GBIF) + 0 (iNat) = 7 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 1157 caracteres).
#> ✔ Lote 8/10 [OLLANTAYTAMBO]: 200 (GBIF) + 120 (iNat) = 320 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 300 metros (WKT: 897 caracteres).
#> ✔ Lote 9/10 [MACHUPICCHU]: 200 (GBIF) + 192 (iNat) = 392 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 1466 caracteres).
#> ✔ Lote 10/10 [URUBAMBA]: 200 (GBIF) + 178 (iNat) = 378 registros.
#> ✔ Consolidación exitosa. Total de registros unificados: 2846
#>
#> ── Resumen de Registros ──
#>
#> • GBIF: 1763 registro(s)
#> • iNaturalist: 1083 registro(s)
#> ✔ Total consolidado: 2846 registro(s)También es posible restringir la búsqueda a un taxón en particular
utilizando el argumento nombre_cientifico:
resultado_jaguar <- buscar_especies_distrito(
distrito = "Tambopata",
departamento = "Madre de Dios",
provincia = "Tambopata",
nombre_cientifico = "Panthera onca",
limite_por_api = 50
)
#>
#> ── Búsqueda Integrada: TAMBOPATA (DISTRITO) ────────────────────────────────────
#> • Departamento: Madre de Dios
#> • Provincia: Tambopata
#> • Taxón: Panthera onca
#> ℹ [GBIF] Iniciando búsqueda de ocurrencias...
#> ✔ Polígono simplificado con éxito a tolerancia de 8100 metros (WKT: 379 caracteres).
#> ℹ [GBIF] Resolviendo taxonomía para "Panthera onca"...
#> ✔ [GBIF] Taxón resuelto: Panthera onca (Linnaeus, 1758) (Key: 5219426, Rank: SPECIES)
#> ℹ [GBIF] Consultando registros dentro del polígono de TAMBOPATA (límite: "50")...
#> ✔ [GBIF] Búsqueda finalizada. Se filtraron 21 registro(s) que caen dentro del polígono seleccionado.
#> ℹ [iNaturalist] Iniciando búsqueda de ocurrencias...
#> ℹ [iNaturalist] Consultando registros dentro de la caja delimitadora de TAMBOPATA (límite: "50")...
#> ℹ [iNaturalist] Se descargaron 50 registros en la caja delimitadora. Aplicando filtro espacial...
#> ✔ [iNaturalist] Búsqueda finalizada. 8 de 50 registros caen dentro del polígono seleccionado.
#> ✔ Consolidación exitosa. Total de registros unificados: 29
#>
#> ── Resumen de Registros ──
#>
#> • GBIF: 21 registro(s)
#> • iNaturalist: 8 registro(s)
#> ✔ Total consolidado: 29 registro(s)Las funciones de búsqueda retornan un objeto de tipo
list estructurado con 4 componentes clave:
names(resultado_cusco)
#> [1] "unidad_sf" "distrito_sf" "ocurrencias" "resumen" "parametros"
#> [1] "unidad_sf" "ocurrencias" "resumen" "parametros"| Componente | Tipo | Descripción |
|---|---|---|
unidad_sf |
sf (WGS84) |
Polígono oficial validado y proyectado en EPSG:4326. |
ocurrencias |
peruocc_tbl / data.frame |
Registros estandarizados bajo el estándar Darwin Core. |
resumen |
list |
Estadísticas de la consulta (conteo total, por fuente, reinos). |
parametros |
list |
Metadatos y filtros utilizados en la llamada (fechas, límites). |
# Vista previa de las primeras ocurrencias
head(resultado_cusco$ocurrencias[, c("scientificName", "source", "eventDate", "decimalLatitude", "decimalLongitude")])
#> # A tibble: 6 × 5
#> scientificName source eventDate decimalLatitude decimalLongitude
#> <chr> <chr> <chr> <dbl> <dbl>
#> 1 Passiflora pi… GBIF 2026-01-… -13.5 -72.0
#> 2 Salix babylon… GBIF 2026-01-… -13.5 -72.0
#> 3 Tecoma stans … GBIF 2026-01-… -13.5 -72.0
#> 4 Austrocylindr… GBIF 2026-01-… -13.5 -72.0
#> 5 Cirsium vulga… GBIF 2026-01-… -13.5 -72.0
#> 6 Cantua buxifo… GBIF 2026-01-… -13.5 -72.0Puedes generar inmediatamente un mapa temático con
ggplot2:
# Visualizar mapa coloreando por repositorio de origen (GBIF vs iNaturalist)
mapa <- graficar_ocurrencias(resultado_cusco, color_por = "source")
print(mapa)Para guardar los datos en formatos estándar (CSV,
GeoJSON y manifiesto JSON de
reproducibilidad), especifica el directorio de destino mediante
dir_salida:
# Exportar resultados a un directorio (por ejemplo, temporal para la viñeta)
archivos <- exportar_resultados(resultado_cusco, dir_salida = tempdir())
#> ✔ Registros tabulares guardados en: 'C:\Users\PC\AppData\Local\Temp\RtmpCQLgeB/ocurrencias_20260911T030621Z_distrito_cusco_flora.csv'
#> ✔ Capa espacial GeoJSON guardada en: 'C:\Users\PC\AppData\Local\Temp\RtmpCQLgeB/ocurrencias_20260911T030621Z_distrito_cusco_flora.geojson'
#> ✔ Manifiesto JSON guardado en: 'C:\Users\PC\AppData\Local\Temp\RtmpCQLgeB/manifiesto_20260911T030621Z_distrito_cusco_flora.json'Para profundizar en las capacidades de peruocc, consulta
las viñetas especializadas:
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.