import pandas as pd
import folium
from datetime import datetime, timedelta
from pyinaturalist import (
Observation,
get_observations,
pprint,
)
import ipyplot
from itertools import compressPáramos de Colombia: una visita en Octubre 2024
Colombia
Python
pyinaturalist
Un resumen de mis observaciones en Octubre 2024 en Colombia.
Load Python modules
Download iNaturalist observations
From the end of May to the first week of June 2025
observations = get_observations(user_id='NeoMapas',
d1="2024-10-03",
d2="2024-10-08",
per_page=1000)len(observations['results'])35
pprint(observations)ID Taxon ID Taxon Observed on User Location ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 279872905 185913 Genus Monticalia Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 279872904 58728 Genus Berberis (Barberries) Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 279872360 533184 Paepalanthus alpinus Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 279872099 545446 Cyrtochilum weirii Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 250259867 10332 Atlapetes pallidinucha Oct 07, 2024 neomapas Playa Blanca, Lago de Tota (Pale-Naped Brushfinch) Boyacà, Tota, Boyacá, Colombia 250214024 522588 Bombus rubicundus (Andean Red Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Bumble Bee) Colombia 250213333 533184 Paepalanthus alpinus Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 250212905 122407 Genus Bomarea Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 250212638 1534555 Subsection Cryptanthella Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 250212126 9183 Zonotrichia capensis Oct 03, 2024 neomapas Monserrate, Santa Fe, Bogota, (Rufous-Collared Sparrow) Colombia 250211631 5572 Metallura tyrianthina (Tyrian Oct 03, 2024 neomapas Monserrate, Santa Fe, Bogota, Metaltail) Colombia 250210978 879226 Section Elkea Oct 03, 2024 neomapas Monserrate, Santa Fe, Bogota, Colombia 250210760 497332 Bombus hortulanus (Andean Oct 03, 2024 neomapas Monserrate, Santa Fe, Bogota, Gardener Bumble Bee) Colombia 250209511 9183 Zonotrichia capensis Oct 03, 2024 neomapas Santa Fe, Bogotá, Bogota, (Rufous-Collared Sparrow) Colombia 250209508 9836 Diglossa humeralis (Black Oct 03, 2024 neomapas Santa Fe, Bogotá, Bogota, Flowerpiercer) Colombia 250208286 5572 Metallura tyrianthina (Tyrian Oct 03, 2024 neomapas Monserrate, Santa Fe, Bogota, Metaltail) Colombia 250208285 5572 Metallura tyrianthina (Tyrian Oct 03, 2024 neomapas Monserrate, Santa Fe, Bogota, Metaltail) Colombia 250207326 71130 Suborder Polyphaga (Water, Oct 03, 2024 neomapas Santa Fe, Bogotá, Bogota, Rove, Scarab, Long-Horned, Colombia Leaf, And Snout Beetles) 250207325 337796 Brugmansia sanguinea (Red Oct 03, 2024 neomapas Santa Fe, Bogotá, Bogota, Angel's Trumpet) Colombia 250207324 9830 Genus Diglossa Oct 03, 2024 neomapas Santa Fe, Bogotá, Bogota, (Flowerpiercers) Colombia 250207322 10188 Anisognathus igniventris Oct 03, 2024 neomapas Santa Fe, Bogotá, Bogota, (Scarlet-Bellied Colombia Mountain-Tanager) 250107796 3439 Zenaida auriculata (Eared Oct 03, 2024 neomapas Monserrate, Santa Fe, Bogota, Dove) Colombia 250107538 522588 Bombus rubicundus (Andean Red Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Bumble Bee) Colombia 250106786 336470 Cyrtochilum tetracopis Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 250105292 550170 Astylus aulicus Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 250103110 336650 Espeletia argentea Oct 05, 2024 neomapas Villapinzón, Cundinamarca, Colombia 250102302 6276 Eriocnemis vestita (Glowing Oct 06, 2024 neomapas Villapinzón, Cundinamarca, Puffleg) Colombia 250056745 83729 Genus Catasticta (Dartwhites) Oct 04, 2024 neomapas Chapinero, Bogotá, Bogota, Colombia 250055367 534845 Siphocampylus columnae Oct 04, 2024 neomapas Chapinero, Bogotá, Bogota, Colombia 250054989 533184 Paepalanthus alpinus Oct 04, 2024 neomapas Chapinero, Bogotá, Bogota, Colombia 250053821 894333 Epidendrum zipaquiranum Oct 04, 2024 neomapas Chapinero, Bogotá, Bogota, (Zipaquirá Orchid) Colombia 250050306 9183 Zonotrichia capensis Oct 04, 2024 neomapas Chapinero, Bogotá, Bogota, (Rufous-Collared Sparrow) Colombia 249801747 3439 Zenaida auriculata (Eared Oct 05, 2024 neomapas Villa de Leyva, Boyacá, Dove) Colombia 249797311 9183 Zonotrichia capensis Oct 05, 2024 neomapas Villa de Leyva, Boyacá, (Rufous-Collared Sparrow) Colombia 249134339 51449 Passiflora mixta (Northern Oct 06, 2024 neomapas Sendero Páramo La Rusia Y Rio Banana Passionfruit) Surba Duitama, Duitama, Boyacá, CO
Map of observations
map = folium.Map(tiles="OpenStreetMap.HOT")fg = folium.FeatureGroup(name="iNaturalist observations", control=True, attribution="observers @ iNaturalist").add_to(map)
popup_text = """<img src='{url}'>
<caption><i>{species}</i> observed on {observed_on} / {attribution}</caption> {desc}
"""
for obs in observations['results']:
if obs['quality_grade'] == 'research':
if obs['description'] is None:
desc = ""
else:
desc = obs['description']
pincolor = 'green'
else:
desc = "Observation is not research quality grade."
pincolor = 'gray'
fg.add_child(
folium.Marker(
location=obs['location'],
popup=popup_text.format(
species=obs['species_guess'],
observed_on=obs['observed_on'],
desc=desc,
url = obs['observation_photos'][0]['photo']['url'],
attribution = obs['observation_photos'][0]['photo']['attribution']),
icon=folium.Icon(color=pincolor),
)
)
folium.LayerControl().add_to(map)<folium.map.LayerControl object at 0x1089f1e80>
map.fit_bounds(map.get_bounds())
mapMake this Notebook Trusted to load map: File -> Trust Notebook
Travel log
records=list()
for obs in observations['results']:
record = {'quality': obs['quality_grade'],
'description': obs['description'],
'location': obs['place_guess'],
'longitude': obs['location'][1],
'latitude': obs['location'][0],
'species guess': obs['species_guess'],
'Fecha': obs['observed_on'],
}
if len(obs['observation_photos'])>0:
record['url'] = obs['observation_photos'][0]['photo']['url']
record['attribution'] = obs['observation_photos'][0]['photo']['attribution']
records.append(record)inat_obs=pd.DataFrame(records)inat_obs["dia"]=inat_obs.Fecha.apply(datetime.date)inat_obs.groupby('dia').agg({'species guess': ['count',pd.Series.nunique]})| species guess | ||
|---|---|---|
| count | nunique | |
| dia | ||
| 2025-11-09 | 38 | 33 |
| 2025-11-12 | 1 | 1 |
| 2025-11-13 | 3 | 3 |
my_observations = Observation.from_json_list(observations)images = [obs.photos[0].small_url for obs in my_observations]
labels = [str(obs) for obs in my_observations]Taller de Lista Roja de Ecosistemas - 11 al 14 de Noviembre 2025
Explore observations on iNaturalist
ss = [datetime.date(obs.observed_on).strftime('%d/%m/%Y') in ['11/11/2025','12/11/2025','13/11/2025','14/11/2025',] for obs in my_observations]
ipyplot.plot_images(list(compress(images, ss)), list(compress(labels, ss)), max_images=60,)Lomas de Lachay
ss = [datetime.date(obs.observed_on).strftime('%Y-%m-%d') in ['2025-11-09'] for obs in my_observations]
ipyplot.plot_images(list(compress(images, ss)), list(compress(labels, ss)), max_images=60,)