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. 119 de 150 registros caen dentro del polígono seleccionado.
#> ✔ Consolidación exitosa. Total de registros unificados: 269
#>
#> ── Resumen de Registros ──
#>
#> • GBIF: 150 registro(s)
#> • iNaturalist: 119 registro(s)
#> ✔ Total consolidado: 269 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]: 193 (GBIF) + 94 (iNat) = 287 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 1211 caracteres).
#> ✔ Lote 2/10 [HUAYLLABAMBA]: 200 (GBIF) + 107 (iNat) = 307 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) + 16 (iNat) = 182 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 100 metros (WKT: 819 caracteres).
#> ✔ Lote 6/10 [OLLANTAYTAMBO]: 200 (GBIF) + 79 (iNat) = 279 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) + 123 (iNat) = 323 registros.
#> ✔ Polígono simplificado con éxito a tolerancia de 300 metros (WKT: 897 caracteres).
#> ✔ Lote 9/10 [MACHUPICCHU]: 200 (GBIF) + 190 (iNat) = 390 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: 2823
#>
#> ── Resumen de Registros ──
#>
#> • GBIF: 1766 registro(s)
#> • iNaturalist: 1057 registro(s)
#> ✔ Total consolidado: 2823 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. 7 de 50 registros caen dentro del polígono seleccionado.
#> ✔ Consolidación exitosa. Total de registros unificados: 28
#>
#> ── Resumen de Registros ──
#>
#> • GBIF: 21 registro(s)
#> • iNaturalist: 7 registro(s)
#> ✔ Total consolidado: 28 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\Rtmpu6IUGA/ocurrencias_20261006T025759Z_distrito_cusco_flora.csv'
#> ✔ Capa espacial GeoJSON guardada en: 'C:\Users\PC\AppData\Local\Temp\Rtmpu6IUGA/ocurrencias_20261006T025759Z_distrito_cusco_flora.geojson'
#> ✔ Manifiesto JSON guardado en: 'C:\Users\PC\AppData\Local\Temp\Rtmpu6IUGA/manifiesto_20261006T025759Z_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.