Mis fotos del año 2008

Python
pyinaturalist
Español
Venezuela
Costa Rica
Papilionoidea
Author

José R. Ferrer-Paris

Published

July 26, 2025

Modified

August 31, 2025

En el año 2008 realicé junto a mi Ada varias salidas de campo para un proyecto sobre la relación entre la mariposa Kricogonia lyside y el Guayacán (Guaiacum officinale). Este trabajo nos llevó por diferentes rutas de la costa de Venezuela, especialmente en Falcón y Anzoátegui. Fueron paseos muy interesantes de los cuales tomamos muchas muestras de mariposas, datos de presencia de ambas especies, bitácoras de viaje y puntos de GPS.

Para poner estas observaciones de 2008 en contexto temporal de mis contribuciones a iNat, pueden revisar este gráfico

Después de terminar de actualizar mis observaciones de 2010, he decidido repetir el proceso para el año 2008. Este documento me permite visualizar las fotos que ya están en iNaturalist y así evitar subir fotos por duplicado. Lamentablemente solo tomamos unas pocas fotos en algunos de los viajes de este año, y entre ellas no he encontrado muchas fotos para contribuir en iNaturalist.

Cargar módulos en Python

Importamos los módulos necesarios:

import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
from datetime import datetime
from pyinaturalist import get_observations
import ipyplot

Y declaramos una función útil para leer los datos temporales de la respuesta del API de iNat:

def as_date(x):
    if type(x) == str:
        y = datetime.strptime(x, "%Y-%m-%d").date()
    else:
        y = datetime.date(x)
    return(y)

Descargar datos

Los datos espaciales de los estados de Venezuela están disponibles a través de esta página del Humanitarian Data Exchange: https://data.humdata.org/dataset/cod-ab-ven Usamos read_file del modulo geopandas para abrir esta capa desde el url de descarga.

zipurl = 'https://data.humdata.org/dataset/5b141d29-534f-4f01-a0bc-41e2f375d925/resource/b6cf4bf5-418a-49ad-80ec-b84d0e0e0d41/download/ven_adm_ine_20210223_shp.zip'
vzla_estados=gpd.read_file(zipurl, 
                           layer='ven_admbnda_adm1_ine_20210223',
                          columns=['ADM1_ES','geometry'])

Usamos get_observations con un intervalo de fechas que incluye todo el año 2010:

observations = get_observations(user_id='NeoMapas', 
                                d1="2008-01-01",
                                d2="2008-12-31",
                                per_page=1000)

Este número aumenta a medida que cargamos observaciones en iNat:

len(observations['results'])

73

Usamos este loop para guardar la información básica de cada observación:

records=list()
for obs in observations['results']:
    record = {
        'uri':obs['uri'],
        'species guess': obs['species_guess'],
        'location': obs['place_guess'],
        'longitude': obs['location'][1],
        'latitude': obs['location'][0],
        'Fecha_obs': as_date(obs['observed_on']),
        'Fecha_reg': as_date(obs['created_at'])
    }
    if len(obs['observation_photos'])>0:
        record['url'] = obs['observation_photos'][0]['photo']['url'].replace("square","medium")
        record['attribution'] = obs['observation_photos'][0]['photo']['attribution']
    records.append(record)

Y las transformamos en un marco de datos con información espacial para usar con geopandas:

gs = [Point(float(obs['longitude']), float(obs['latitude']))  for obs in records]
inat_obs=gpd.GeoDataFrame(records, geometry=gs, crs="EPSG:4326")

Resumen de las observaciones por estado

Primero combinamos la información de iNat con los estados de Venezuela. Usamos la función sjoin_nearest porque algunas observaciones provienen de la costa y las coordenadas de especies amenazadas están protegidas.

crs_lacanoa="EPSG:24719"
inat_obs_estados = gpd.sjoin_nearest(
    inat_obs.to_crs(crs_lacanoa), 
    vzla_estados.to_crs(crs_lacanoa), 
    distance_col="distances", 
    how="left", 
    max_distance=50000,
    lsuffix='in',
    rsuffix='vzla')
inat_obs_estados.fillna({'ADM1_ES':'No info'},inplace=True)

Agrupamos las observaciones por la localidad y obtenemos una tabla resumen de las observaciones del año:

aggfuns = {
    'Fecha_obs': ["min", "max"],
    'species guess': ['count',pd.Series.nunique],
           }
inat_obs_estados.groupby('ADM1_ES').agg(aggfuns).sort_values(('Fecha_obs','min'))

Fecha_obs species guess
min max count nunique
ADM1_ES
Anzoátegui 2008-01-12 2008-07-05 9 9
Miranda 2008-01-12 2008-11-24 15 15
Falcón 2008-01-26 2008-07-18 32 25
No info 2008-06-10 2008-06-10 6 6
Zulia 2008-07-20 2008-07-20 2 2
La Guaira 2008-08-30 2008-08-30 4 3
Aragua 2008-09-25 2008-09-28 4 4

Filtrar por fecha

Con estas líneas de código podemos filtrar por fecha de observación:

inat_obs['mes'] = [fobs.month for fobs in inat_obs['Fecha_obs']]

En junio estuve participando en un curso en la Estación Biológica La Selva, en Costa Rica:

ss = inat_obs['mes'] == 6
images = inat_obs.loc[ss,'url']
labels = inat_obs.loc[ss,'species guess']
ipyplot.plot_images(list(images), list(labels), max_images=60,)


Fly

https://inaturalist-open-data.s3.amazonaws.com/photos/543771155/medium.jpg

Copiocera

https://inaturalist-open-data.s3.amazonaws.com/photos/543771147/medium.jpg

Hemiptera

https://inaturalist-open-data.s3.amazonaws.com/photos/543771141/medium.jpg

Calycopis

https://inaturalist-open-data.s3.amazonaws.com/photos/543771133/medium.jpg

Hairy-headed leafcutter ant

https://inaturalist-open-data.s3.amazonaws.com/photos/543771122/medium.jpg

Uncolored Clearwing-Satyr

https://inaturalist-open-data.s3.amazonaws.com/photos/543771115/medium.jpg

Progreso

Aquí se puede ver el progreso que he hecho en cargar las fotos del año 2008, creo que estas son todas las que tengo respaldadas:

aggfuns = {
    'Fecha_obs': ["min", "max"],
    'location': ['count',pd.Series.nunique],
    'species guess': [pd.Series.nunique],
           }
inat_obs.groupby('Fecha_reg').agg(aggfuns)

Fecha_obs location species guess
min max count nunique nunique
Fecha_reg
2020-07-14 2008-01-27 2008-11-23 2 2 2
2023-11-19 2008-11-23 2008-11-23 1 1 1
2025-07-26 2008-01-27 2008-01-31 6 2 6
2025-07-27 2008-01-12 2008-09-28 25 10 25
2025-07-28 2008-11-24 2008-11-24 4 1 4
2025-07-30 2008-01-26 2008-07-20 16 5 13
2025-08-03 2008-07-05 2008-07-18 7 6 6
2025-08-06 2008-08-30 2008-08-30 4 1 3
2025-08-09 2008-03-31 2008-09-25 8 6 7

Todas las observaciones

Y cierro aquí con todas las imágenes de las observaciones de este año:

images = inat_obs.sort_values('Fecha_obs')['url']
labels = inat_obs.sort_values('Fecha_obs')['species guess']
ipyplot.plot_images(list(images), list(labels), max_images=200,)


Bromelia pinguin

https://inaturalist-open-data.s3.amazonaws.com/photos/543141516/medium.jpg

Erect Pricklypear

https://inaturalist-open-data.s3.amazonaws.com/photos/543146178/medium.jpg

Cycloptilum trigonipalpum

https://inaturalist-open-data.s3.amazonaws.com/photos/543146934/medium.jpg

Glutophrissa drusilla

https://inaturalist-open-data.s3.amazonaws.com/photos/543147538/medium.jpg

Black Vulture

https://inaturalist-open-data.s3.amazonaws.com/photos/543147918/medium.jpg

crown flower

https://inaturalist-open-data.s3.amazonaws.com/photos/543148926/medium.jpg

Fabaceae

https://inaturalist-open-data.s3.amazonaws.com/photos/543149490/medium.jpg

Guaiacum officinale

https://inaturalist-open-data.s3.amazonaws.com/photos/543150373/medium.jpg

lady-of-the-night cactus

https://inaturalist-open-data.s3.amazonaws.com/photos/543146114/medium.jpg

Green Lacewings

https://inaturalist-open-data.s3.amazonaws.com/photos/543194531/medium.jpg

Kricogonia lyside

https://inaturalist-open-data.s3.amazonaws.com/photos/543195669/medium.jpg

White Peacock

https://inaturalist-open-data.s3.amazonaws.com/photos/543140618/medium.jpg

Turkey and Yellow-headed Vultures

https://inaturalist-open-data.s3.amazonaws.com/photos/543197299/medium.jpg

Ebenopsis ebano

https://inaturalist-open-data.s3.amazonaws.com/photos/543196759/medium.jpg

Ocypode

https://inaturalist-open-data.s3.amazonaws.com/photos/543192225/medium.jpg

Diaethria

https://inaturalist-open-data.s3.amazonaws.com/photos/543198081/medium.jpg

Alligator plant

https://inaturalist-open-data.s3.amazonaws.com/photos/544816393/medium.jpg

Cylindropuntia caribaea

https://inaturalist-open-data.s3.amazonaws.com/photos/544816407/medium.jpg

Tillandsia

https://inaturalist-open-data.s3.amazonaws.com/photos/544818351/medium.jpg

Poaceae

https://inaturalist-open-data.s3.amazonaws.com/photos/544819965/medium.jpg

Stenocereus griseus

https://inaturalist-open-data.s3.amazonaws.com/photos/544820028/medium.jpg

Stenocereus griseus

https://inaturalist-open-data.s3.amazonaws.com/photos/544820029/medium.jpg

Nephilidae

https://inaturalist-open-data.s3.amazonaws.com/photos/544821773/medium.jpg

Hura crepitans

https://inaturalist-open-data.s3.amazonaws.com/photos/544822708/medium.jpg

Ceiba pentandra

https://inaturalist-open-data.s3.amazonaws.com/photos/544822782/medium.jpg

Triangle cactus

https://inaturalist-open-data.s3.amazonaws.com/photos/544819944/medium.jpg

Guaiacum officinale

https://inaturalist-open-data.s3.amazonaws.com/photos/544824537/medium.jpg

Stenocereus griseus

https://inaturalist-open-data.s3.amazonaws.com/photos/544848195/medium.jpg

Black Vulture

https://inaturalist-open-data.s3.amazonaws.com/photos/544848243/medium.jpg

Magnoliopsida

https://inaturalist-open-data.s3.amazonaws.com/photos/544822795/medium.jpg

Black-bellied Whistling-Duck

https://inaturalist-open-data.s3.amazonaws.com/photos/542723569/medium.jpg

Alternanthera

https://inaturalist-open-data.s3.amazonaws.com/photos/542722765/medium.jpg

Venezuelan Troupial

https://inaturalist-open-data.s3.amazonaws.com/photos/542722344/medium.jpg

Vermilion Flycatcher

https://inaturalist-open-data.s3.amazonaws.com/photos/542721890/medium.jpg

Double-striped Thick-knee

https://inaturalist-open-data.s3.amazonaws.com/photos/542721377/medium.jpg

roughbark lignum-vitae

https://inaturalist-open-data.s3.amazonaws.com/photos/84328159/medium.jpg

Audubon's Multicolored Lizard

https://inaturalist-open-data.s3.amazonaws.com/photos/542720050/medium.jpg

Vermilion Flycatcher

https://inaturalist-open-data.s3.amazonaws.com/photos/549773134/medium.jpg

Ipomoea

https://inaturalist-open-data.s3.amazonaws.com/photos/549781080/medium.jpg

Guaiacum officinale

https://inaturalist-open-data.s3.amazonaws.com/photos/549782332/medium.jpg

Bembix

https://inaturalist-open-data.s3.amazonaws.com/photos/549784295/medium.jpg

None

https://inaturalist-open-data.s3.amazonaws.com/photos/549763915/medium.jpg

Procnias averano

https://inaturalist-open-data.s3.amazonaws.com/photos/549720925/medium.jpg

Erythrina

https://inaturalist-open-data.s3.amazonaws.com/photos/549793186/medium.jpg

Uncolored Clearwing-Satyr

https://inaturalist-open-data.s3.amazonaws.com/photos/543771115/medium.jpg

Calycopis

https://inaturalist-open-data.s3.amazonaws.com/photos/543771133/medium.jpg

Hemiptera

https://inaturalist-open-data.s3.amazonaws.com/photos/543771141/medium.jpg

Copiocera

https://inaturalist-open-data.s3.amazonaws.com/photos/543771147/medium.jpg

Fly

https://inaturalist-open-data.s3.amazonaws.com/photos/543771155/medium.jpg

Hairy-headed leafcutter ant

https://inaturalist-open-data.s3.amazonaws.com/photos/543771122/medium.jpg

common water hyacinth

https://inaturalist-open-data.s3.amazonaws.com/photos/546837893/medium.jpg

Tribulus cistoides

https://inaturalist-open-data.s3.amazonaws.com/photos/546839579/medium.jpg

Turtle Ants

https://inaturalist-open-data.s3.amazonaws.com/photos/546841147/medium.jpg

Cylindropuntia caribaea

https://inaturalist-open-data.s3.amazonaws.com/photos/546855987/medium.jpg

Guaiacum officinale

https://inaturalist-open-data.s3.amazonaws.com/photos/546858637/medium.jpg

Guaiacum officinale

https://inaturalist-open-data.s3.amazonaws.com/photos/546857272/medium.jpg

globular cacti, moonlight cacti, torch cacti, and allies

https://inaturalist-open-data.s3.amazonaws.com/photos/546858764/medium.jpg

Kricogonia lyside

https://inaturalist-open-data.s3.amazonaws.com/photos/544851238/medium.jpg

Guaiacum officinale

https://inaturalist-open-data.s3.amazonaws.com/photos/544851250/medium.jpg

Faviinae

https://inaturalist-open-data.s3.amazonaws.com/photos/548375152/medium.jpg

Ray-finned Fishes

https://inaturalist-open-data.s3.amazonaws.com/photos/548375060/medium.jpg

Caribbean Sea Mat

https://inaturalist-open-data.s3.amazonaws.com/photos/548374936/medium.jpg

Caribbean Sea Mat

https://inaturalist-open-data.s3.amazonaws.com/photos/548375312/medium.jpg

Diareusa

https://inaturalist-open-data.s3.amazonaws.com/photos/549802259/medium.jpg

trumpet tree

https://inaturalist-open-data.s3.amazonaws.com/photos/543207279/medium.jpg

Orchidaceae

https://inaturalist-open-data.s3.amazonaws.com/photos/543206085/medium.jpg

Aulacorhynchus sulcatus sulcatus

https://inaturalist-open-data.s3.amazonaws.com/photos/543206073/medium.jpg

Catasticta hebra

https://inaturalist-open-data.s3.amazonaws.com/photos/84331355/medium.jpg

Dartwhites

https://inaturalist-open-data.s3.amazonaws.com/photos/335874219/medium.png

Eurema mexicana

https://inaturalist-open-data.s3.amazonaws.com/photos/543826151/medium.jpg

Heliopetes

https://inaturalist-open-data.s3.amazonaws.com/photos/543826178/medium.jpg

Anthanassa drusilla

https://inaturalist-open-data.s3.amazonaws.com/photos/543826445/medium.jpg

Corra coryna

https://inaturalist-open-data.s3.amazonaws.com/photos/543826351/medium.jpg