Análisis de la distribución geográfica de Apis mellifera según variables climáticas en Costa Rica y Brasil¶

Integrantes: Maripaz Roldán-Morales y Anaclara Arce¶

Descripción del proyecto¶

El presente proyecto analiza la población de la Apis Mellifera en dos países diferentes (Costa Rica y Brasil) según su relación con variables climáticas para poder determinar la correlación que existe.

Justificación¶

Las abejas cumplen un rol fundamental en la polinización natural de cultivos agrícolas y de las plantas. Sin embargo, las poblaciones de estas se están reduciendo drásticamente en los ecosistemas por diversos factores. La Apis mellifera es una especie de abeja que se está viendo fuertemente afectada debido a múltiples factores relacionados con el cambio climático, las malas prácticas y la disminución de los hábitats. (Sevilla et al, 2023). La Apis mellifera fue introducida tanto en Costa Rica como en Brasil, sin embargo, las poblaciones evolucionaron de manera distinta debido a las condiciones ambientales como precipitación, temperatura y vegetación, de esta manera, realizar esta comparación ayuda a entender las preferencias de esta especie y su capacidad de adaptación.

Antecedentes¶

Las abejas de origen africano Apis mellifera se introdujeron en Brasil en 1956 con el propósito de obtener una línea de abejas mejor adaptada a las condiciones tropicales y altamente productora de miel. Sin embargo, 26 enjambres con sus reinas africanas se cruzaron con abejas de origen europeo lo que generó un híbrido que dio como resultado a la denominada abeja africanizada, posteriormente estas poblaciones se desplazaron a países del Sur y Centroamérica, originando este proceso de africanización que reemplazo a las poblaciones de abejas europeas (Guzmán et al, 2011). En Costa Rica los primeros enjambres de estas abejas africanizadas se reportaron en 1983 (Spivak et al, 1991). Las abejas africanizadas se caracterizan por ser más enjambradoras que las europeas (Calderón et al, 2019). Poseen una tasa elevada de reproducción y enjambrazón, lo cual ha favorecido la colonización de las diferentes regiones tropicales del continente americano (Guzmán et al, 2011). Lastimosamente, durante los últimos años se han reportado considerables pérdidas en el número de colmenas de estas abejas (Martínez et al, 2011). Diversos estudios previos han demostrado que las condiciones climáticas y ambientales han influido en el comportamiento higiénico de las poblaciones de abejas melliferas. El comportamiento higiénico de las abejas es un mecanismo altamente influenciado por efectos genéticos que les confiere a las abejas resistencia contra enfermedades y parásitos (Tapia et al, 2021). Estos estudios realizados determinan que las colonias establecidas en regiones más cálidas y a menor altitud poseen mayores grados de comportamiento higiénico (Tapia et al, 2011).

Descripción del problema y objetivo¶

Como problemática se tiene la reducción significativa de la población en diferentes ecosistemas debido a factores como cambio climático, la reducción de hábitats y las malas prácticas agrícolas. A pesar de ser una especie introducida para Costa Rica y Brasil ha experimentado diversos patrones de evolución diferentes según las condiciones climáticas locales como la precipitación, la vegetación y la temperatura. Es de suma importancia analizar estas diferencias para poder entender mejor a la especie y de esta manera determinar patrones de adaptación y supervivencia, ofreciendo información importante para mitigar la pérdida de esta especie clave en el ecosistema.

Objetivo: El principal objetivo del proyecto es analizar la relación entre poblaciones de Apis mellifera en Costa Rica y Brasil según las variables climáticas de cada país para determinar la correlación entre las variables y así determinar la adaptación de la especie en dichos entornos.

Base de datos¶

  • Para los datos biológicos (observaciones de Apis mellifera) se utilizó la base de datos de Global Biodiversity Information Facility (GBIF) para el país de Costa Rica y Brasil. Los datos fueron filtrados para incluir únicamente las observaciones registradas desde el año 2000 hasta el presente y también los datos que tuvieran coordenadas geográficas.

  • Para los datos ambientales de temperatura promedio y precipitación se utilizó la base de datos de WorldClim versión 2.1 , los cuales consisten en datos climáticos globales, históricos (desde 1970 hasta el 2000), que fueron descargados con una resolución espacial de 30 s (aproximadamente 1km x 1km).

  • Además, se utilizaron las capas geográficas de Costa Rica y de Brasil de la base de datos de GADM (https://gadm.org/data.html), versión 4.1.

Preprocesamiento y visualización¶

In [ ]:
# Librerias necesarias para realizar el proyecto
import pandas as pd
import geopandas as gpd
from sklearn.preprocessing import StandardScaler
import numpy as np
from matplotlib import pyplot as plt
!pip install rasterio
import os
import rasterio
from rasterio.plot import show
!pip install rioxarray
import rioxarray as rxr

from rasterio.features import geometry_mask
import seaborn as sns
from shapely.geometry import Point
Requirement already satisfied: rasterio in /usr/local/lib/python3.10/dist-packages (1.3.11)
Requirement already satisfied: affine in /usr/local/lib/python3.10/dist-packages (from rasterio) (2.4.0)
Requirement already satisfied: attrs in /usr/local/lib/python3.10/dist-packages (from rasterio) (24.2.0)
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from rasterio) (2024.8.30)
Requirement already satisfied: click>=4.0 in /usr/local/lib/python3.10/dist-packages (from rasterio) (8.1.7)
Requirement already satisfied: cligj>=0.5 in /usr/local/lib/python3.10/dist-packages (from rasterio) (0.7.2)
Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from rasterio) (1.26.4)
Requirement already satisfied: snuggs>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from rasterio) (1.4.7)
Requirement already satisfied: click-plugins in /usr/local/lib/python3.10/dist-packages (from rasterio) (1.1.1)
Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from rasterio) (71.0.4)
Requirement already satisfied: pyparsing>=2.1.6 in /usr/local/lib/python3.10/dist-packages (from snuggs>=1.4.1->rasterio) (3.1.4)
Requirement already satisfied: rioxarray in /usr/local/lib/python3.10/dist-packages (0.17.0)
Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from rioxarray) (24.1)
Requirement already satisfied: rasterio>=1.3 in /usr/local/lib/python3.10/dist-packages (from rioxarray) (1.3.11)
Requirement already satisfied: xarray>=2022.3.0 in /usr/local/lib/python3.10/dist-packages (from rioxarray) (2024.9.0)
Requirement already satisfied: pyproj>=3.3 in /usr/local/lib/python3.10/dist-packages (from rioxarray) (3.6.1)
Requirement already satisfied: numpy>=1.23 in /usr/local/lib/python3.10/dist-packages (from rioxarray) (1.26.4)
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from pyproj>=3.3->rioxarray) (2024.8.30)
Requirement already satisfied: affine in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.3->rioxarray) (2.4.0)
Requirement already satisfied: attrs in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.3->rioxarray) (24.2.0)
Requirement already satisfied: click>=4.0 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.3->rioxarray) (8.1.7)
Requirement already satisfied: cligj>=0.5 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.3->rioxarray) (0.7.2)
Requirement already satisfied: snuggs>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.3->rioxarray) (1.4.7)
Requirement already satisfied: click-plugins in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.3->rioxarray) (1.1.1)
Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.3->rioxarray) (71.0.4)
Requirement already satisfied: pandas>=2.1 in /usr/local/lib/python3.10/dist-packages (from xarray>=2022.3.0->rioxarray) (2.1.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.1->xarray>=2022.3.0->rioxarray) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.1->xarray>=2022.3.0->rioxarray) (2024.2)
Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.1->xarray>=2022.3.0->rioxarray) (2024.1)
Requirement already satisfied: pyparsing>=2.1.6 in /usr/local/lib/python3.10/dist-packages (from snuggs>=1.4.1->rasterio>=1.3->rioxarray) (3.1.4)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=2.1->xarray>=2022.3.0->rioxarray) (1.16.0)
In [ ]:
# Cargar datos biológicos
df = pd.read_csv("/content/Apis mellifera_CostaRica_Brasil.csv",
                 delimiter='\t')
print(df.columns)
Index(['gbifID', 'datasetKey', 'occurrenceID', 'kingdom', 'phylum', 'class',
       'order', 'family', 'genus', 'species', 'infraspecificEpithet',
       'taxonRank', 'scientificName', 'verbatimScientificName',
       'verbatimScientificNameAuthorship', 'countryCode', 'locality',
       'stateProvince', 'occurrenceStatus', 'individualCount',
       'publishingOrgKey', 'decimalLatitude', 'decimalLongitude',
       'coordinateUncertaintyInMeters', 'coordinatePrecision', 'elevation',
       'elevationAccuracy', 'depth', 'depthAccuracy', 'eventDate', 'day',
       'month', 'year', 'taxonKey', 'speciesKey', 'basisOfRecord',
       'institutionCode', 'collectionCode', 'catalogNumber', 'recordNumber',
       'identifiedBy', 'dateIdentified', 'license', 'rightsHolder',
       'recordedBy', 'typeStatus', 'establishmentMeans', 'lastInterpreted',
       'mediaType', 'issue'],
      dtype='object')
In [ ]:
# Filtrar datos por pais
df_costa_rica = df[df['countryCode'] == 'CR']
df_costa_rica
Out[ ]:
gbifID datasetKey occurrenceID kingdom phylum class order family genus species ... identifiedBy dateIdentified license rightsHolder recordedBy typeStatus establishmentMeans lastInterpreted mediaType issue
50 4937261335 50c9509d-22c7-4a22-a47d-8c48425ef4a7 https://www.inaturalist.org/observations/23928... Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Orlaith 2024-09-02T10:03:18 CC_BY_NC_4_0 Orlaith Orlaith NaN NaN 2024-09-12T19:54:58.547Z StillImage COORDINATE_ROUNDED;CONTINENT_DERIVED_FROM_COOR...
61 4936986884 50c9509d-22c7-4a22-a47d-8c48425ef4a7 https://www.inaturalist.org/observations/23933... Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Bruce Coto R 2024-09-02T05:32:49 CC_BY_NC_4_0 Bruce Coto R Bruce Coto R NaN NaN 2024-09-12T19:47:38.778Z StillImage COORDINATE_ROUNDED;CONTINENT_DERIVED_FROM_COOR...
66 4936818036 50c9509d-22c7-4a22-a47d-8c48425ef4a7 https://www.inaturalist.org/observations/11947... Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Selena González Aragón 2022-05-30T20:25:34 CC_BY_NC_4_0 Selena González Aragón Selena González Aragón NaN NaN 2024-09-12T18:20:46.763Z StillImage COORDINATE_ROUNDED;CONTINENT_DERIVED_FROM_COOR...
69 4936647470 50c9509d-22c7-4a22-a47d-8c48425ef4a7 https://www.inaturalist.org/observations/66475909 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Jorge Arturo Bogantes Montero 2020-12-12T18:38:57 CC_BY_NC_4_0 Jorge Arturo Bogantes Montero Jorge Arturo Bogantes Montero NaN NaN 2024-09-12T19:01:38.345Z StillImage COORDINATE_ROUNDED;CONTINENT_DERIVED_FROM_COOR...
80 4936416451 50c9509d-22c7-4a22-a47d-8c48425ef4a7 https://www.inaturalist.org/observations/68559870 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Jorge Arturo Bogantes Montero 2021-01-24T19:35:10 CC_BY_NC_4_0 Jorge Arturo Bogantes Montero Jorge Arturo Bogantes Montero NaN NaN 2024-09-12T18:08:35.488Z StillImage COORDINATE_ROUNDED;CONTINENT_DERIVED_FROM_COOR...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
6880 1255571529 3e9817c1-8302-4955-87e3-a408db0ea379 urn:catalog:INB:Atta:3072955 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Brooks, R. W. NaN CC0_1_0 NaN Didier Rubí NaN NaN 2024-09-18T15:09:53.612Z NaN COORDINATE_ROUNDED;CONTINENT_INVALID;CONTINENT...
6881 1255554315 3e9817c1-8302-4955-87e3-a408db0ea379 urn:catalog:INB:Atta:3083043 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Brooks, R. W. NaN CC0_1_0 NaN Didier Rubí NaN NaN 2024-09-18T15:10:39.154Z NaN COORDINATE_ROUNDED;CONTINENT_INVALID;CONTINENT...
6882 1255554312 3e9817c1-8302-4955-87e3-a408db0ea379 urn:catalog:INB:Atta:3083042 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Brooks, R. W. NaN CC0_1_0 NaN Didier Rubí NaN NaN 2024-09-18T15:10:34.700Z NaN COORDINATE_ROUNDED;CONTINENT_INVALID;CONTINENT...
6883 1255554237 3e9817c1-8302-4955-87e3-a408db0ea379 urn:catalog:INB:Atta:3083010 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Brooks, R. W. NaN CC0_1_0 NaN Didier Rubí NaN NaN 2024-09-18T15:09:53.277Z NaN COORDINATE_ROUNDED;CONTINENT_INVALID;CONTINENT...
6884 1249291469 50c9509d-22c7-4a22-a47d-8c48425ef4a7 http://www.inaturalist.org/observations/2665398 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Sam Kieschnick 2016-02-10T21:50:43 CC_BY_NC_4_0 Greg Lasley Greg Lasley NaN NaN 2024-09-12T18:50:30.743Z StillImage CONTINENT_DERIVED_FROM_COORDINATES;TAXON_MATCH...

1020 rows × 50 columns

In [ ]:
# Filtrar datos por país
df_brasil = df[df['countryCode'] == 'BR']
df_brasil
Out[ ]:
gbifID datasetKey occurrenceID kingdom phylum class order family genus species ... identifiedBy dateIdentified license rightsHolder recordedBy typeStatus establishmentMeans lastInterpreted mediaType issue
0 4941014632 4d5afc88-2ce0-4f13-9a5a-47a0e571127d https://specieslink.net/guid/288/25702 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... NaN NaN CC_BY_4_0 Coleção de Insetos NaN NaN NaN 2024-09-16T15:02:42.202Z NaN COORDINATE_ROUNDED;INSTITUTION_MATCH_NONE
1 4941014630 4d5afc88-2ce0-4f13-9a5a-47a0e571127d https://specieslink.net/guid/288/25703 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... NaN NaN CC_BY_4_0 Coleção de Insetos NaN NaN NaN 2024-09-16T15:02:42.201Z NaN COORDINATE_ROUNDED;INSTITUTION_MATCH_NONE
2 4941014624 4d5afc88-2ce0-4f13-9a5a-47a0e571127d https://specieslink.net/guid/288/25700 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... NaN NaN CC_BY_4_0 Coleção de Insetos NaN NaN NaN 2024-09-16T15:02:42.199Z NaN COORDINATE_ROUNDED;INSTITUTION_MATCH_NONE
3 4941014623 4d5afc88-2ce0-4f13-9a5a-47a0e571127d https://specieslink.net/guid/288/25701 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... NaN NaN CC_BY_4_0 Coleção de Insetos NaN NaN NaN 2024-09-16T15:02:42.200Z NaN COORDINATE_ROUNDED;INSTITUTION_MATCH_NONE
4 4941014578 4d5afc88-2ce0-4f13-9a5a-47a0e571127d https://specieslink.net/guid/288/59055 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... NaN 2017-01-01T00:00:00 CC_BY_4_0 Coleção de Insetos L.A.G. Gagliardi-Urrutia NaN NaN 2024-09-16T15:02:42.193Z NaN INSTITUTION_MATCH_NONE
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
6545 131325141 86aba78e-f762-11e1-a439-00145eb45e9a BRA:USP:CEPANN:25508 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... NaN NaN CC_BY_NC_4_0 CEPANN - Coleção Entomológica Paulo Nogueira-N... R. Matos NaN NaN 2024-09-06T13:07:32.488Z NaN GEODETIC_DATUM_ASSUMED_WGS84;AMBIGUOUS_INSTITU...
6546 131325106 86aba78e-f762-11e1-a439-00145eb45e9a BRA:USP:CEPANN:25281 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... NaN NaN CC_BY_NC_4_0 CEPANN - Coleção Entomológica Paulo Nogueira-N... - NaN NaN 2024-09-06T13:07:32.958Z NaN GEODETIC_DATUM_ASSUMED_WGS84;AMBIGUOUS_INSTITU...
6547 1305169590 50c9509d-22c7-4a22-a47d-8c48425ef4a7 http://www.inaturalist.org/observations/3987682 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... marisalisboa 2016-08-29T16:55:31 CC_BY_NC_4_0 marisalisboa marisalisboa NaN NaN 2024-09-12T17:52:25.491Z StillImage COORDINATE_ROUNDED;CONTINENT_DERIVED_FROM_COOR...
6548 1291164981 50c9509d-22c7-4a22-a47d-8c48425ef4a7 http://www.inaturalist.org/observations/3804482 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Caren Queiroz 2016-08-04T22:22:26 CC_BY_NC_4_0 Caren Queiroz Caren Queiroz NaN NaN 2024-09-12T18:50:32.367Z StillImage CONTINENT_DERIVED_FROM_COORDINATES;TAXON_MATCH...
6550 1265596225 50c9509d-22c7-4a22-a47d-8c48425ef4a7 http://www.inaturalist.org/observations/3026159 Animalia Arthropoda Insecta Hymenoptera Apidae Apis Apis mellifera ... Johnny Wilson 2016-04-25T01:47:18 CC_BY_NC_4_0 Johnny Wilson Johnny Wilson NaN NaN 2024-09-12T18:52:53.112Z NaN COORDINATE_ROUNDED;CONTINENT_DERIVED_FROM_COOR...

5865 rows × 50 columns

In [ ]:
# Análisis de observaciones de Apis mellifera por año en Costa Rica
df_costa_rica['year'].hist()

# Título del grafico
plt.title('Observaciones de A. mellifera por año en Costa Rica')
# Etiqueta del eje X
plt.xlabel('Año')
# Etiqueta del eje Y
plt.ylabel('Frecuencia')
# Quitar cuadrícula
plt. grid(False)

plt.show()
No description has been provided for this image

El gráfico representa la frecuencia de observaciones de Apis mellifera en Costa Rica a través de los años. Comenzando en el año 2000 con alrededor de 50 observaciones y manteniendo estas frecuencias hasta el año 2017 donde ya se comienza a apreciar un incremento significativo en las observaciones. Presentandose los mayores datos de observación de A. mellifera desde el 2022 y 2024.

In [ ]:
# Analisis de observaciones de *Apis mellifera* por año en Brasil
df_brasil['year'].hist()

# Título del grafico
plt.title('Observaciones de A. mellifera por año en Brasil')
# Etiqueta del eje X
plt.xlabel('Año')
# Etiqueta del eje Y
plt.ylabel('Frecuencia')
# Quitar cuadrícula
plt. grid(False)

plt.show()
No description has been provided for this image

El gráfico muestra como las observaciones de la especie Apis mellifera han cambiado a lo largo de los años en Brasil. En la figura se muestra la frecuencia de observaciones, empezando en el año 2000 con alrededor de 1750 observaciones y luego disminuyendo a 250 durante el 2005. Presentandose un fuerte incremento en el 2020 con alrededor de 1750 observaciones. Estas variaciones podrían sugerir patrones o tendencias en la presencia o visibilidad de A.mellifera a lo largo del tiempo.

In [ ]:
# Crear GeodDataframe con las coordenadas de los puntos en Costa Rica
obs_points_cr = gpd.points_from_xy(df_costa_rica.decimalLongitude,df_costa_rica.decimalLatitude)

gdf_cr = gpd.GeoDataFrame(df_costa_rica, geometry=obs_points_cr)
In [ ]:
# Grafico de Costa Rica con los puntos de observaciones
mapa_cr= gpd.read_file('/content/gadm41_CRI_1.shp')
lienzo_cr = mapa_cr.plot(
    figsize = (10,15),
    color="green",
    edgecolor="black",
    linewidth = 0.6)

gdf_cr.plot(ax=lienzo_cr, color="black")
Out[ ]:
<Axes: >
No description has been provided for this image

En la figura se pueden observar la distribución de la especie Apis mellifera en Costa Rica, presentandose una mayor concentración en la parte central del país, cerca de la Cordillera Central.

In [ ]:
# Crear GeodDataframe con las coordenadas de los puntos en Brasil
obs_points_br = gpd.points_from_xy(df_brasil.decimalLongitude,df_brasil.decimalLatitude)

gdf_br = gpd.GeoDataFrame(df_brasil, geometry=obs_points_br)
In [ ]:
# Grafico de Brasil con los puntos de observaciones
mapa_br= gpd.read_file('/content/gadm41_BRA_1.shp')
lienzo_br = mapa_br.plot(
    figsize = (10,12),
    color="lightgreen",
    edgecolor="black",
    linewidth = 0.6)

gdf_br.plot(ax=lienzo_br, color="black")
Out[ ]:
<Axes: >
No description has been provided for this image

En la figura se pueden observar la distribución de la especie Apis mellifera en Brasil y se puede apreciar una mayor concentración de observaciones en la parte sureste del país.

In [ ]:
# Para las variables ambientales:
In [ ]:
from google.colab import drive
drive.mount('/content/drive')
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
In [ ]:
# Cargar los archivos raster desde Google Drive
prec_raster = rxr.open_rasterio('/content/drive/My Drive/Prec_1.asc', masked=True)
temp_raster = rxr.open_rasterio('/content/drive/My Drive/Temp_1.asc', masked=True)
In [ ]:
# Recortar las capas raster a las áreas de Costa Rica y Brasil
temp_costa_rica = temp_raster.rio.clip(mapa_cr.geometry, mapa_cr.crs)
temp_brasil = temp_raster.rio.clip(mapa_br.geometry, mapa_br.crs)

prec_costa_rica = prec_raster.rio.clip(mapa_cr.geometry, mapa_cr.crs)
prec_brasil = prec_raster.rio.clip(mapa_br.geometry, mapa_br.crs)
In [ ]:
# Extraer valores de temperatura y precipitación para cada punto de observación
def extract_values(gdf, raster):
    coords = [(x,y) for x, y in zip(gdf.geometry.x, gdf.geometry.y)]
    values = [raster.sel(x=lon, y=lat, method="nearest").values for lon, lat in coords]
    return np.array(values).flatten()

# Extraer valores de temperatura y precipitación para Costa Rica
gdf_cr['temp_promedio'] = extract_values(gdf_cr , temp_costa_rica)
gdf_cr['precipitacion'] = extract_values(gdf_cr , prec_costa_rica)

# Extraer valores de temperatura y precipitación para Brasil
gdf_br['temp_promedio'] = extract_values(gdf_br, temp_brasil)
gdf_br['precipitacion'] = extract_values(gdf_br, prec_brasil)
In [ ]:
# Histograma de temperatura en Costa Rica
plt.hist(gdf_cr['temp_promedio'], bins=30)
plt.title('Distribución de temperatura en las áreas con Apis mellifera en Costa Rica')
plt.xlabel('Temperatura (°C)')
plt.ylabel('Frecuencia')
plt.show()
No description has been provided for this image
In [ ]:
# Histograma de temperatura en Brasil
plt.hist(gdf_br['temp_promedio'], bins=30)
plt.title('Distribución de temperatura en las áreas con Apis mellifera en Brasil')
plt.xlabel('Temperatura (°C)')
plt.ylabel('Frecuencia')
plt.show()
No description has been provided for this image
In [ ]:
# Histograma de precipitaciones en Costa Rica
plt.hist(gdf_cr['precipitacion'], bins=30)
plt.title('Distribución de precipitacion en las áreas con Apis mellifera en Costa Rica')
plt.xlabel('Precipitación (mm)')
plt.ylabel('Frecuencia')
plt.show()
No description has been provided for this image
In [ ]:
# Histograma de precipitaciones en Brasil
plt.hist(gdf_br['precipitacion'], bins=30)
plt.title('Distribución de precipitacion en las áreas con Apis mellifera en Brasil')
plt.xlabel('Precipitación (mm)')
plt.ylabel('Frecuencia')
plt.show()
No description has been provided for this image
In [ ]:
# Renombrar las columnas de ambos GeoDataframes
gdf_cr = gdf_cr.rename(columns={'decimalLatitude': 'Latitud', 'decimalLongitude': 'Longitud',
                                'temp_promedio': 'Temp_promedio', 'precipitacion': 'Precipitacion'
                                })
gdf_br = gdf_br.rename(columns={'decimalLatitude': 'Latitud', 'decimalLongitude': 'Longitud',
                                'temp_promedio': 'Temp_promedio', 'precipitacion': 'Precipitacion'
                                })

Resultados¶

Análisis de correlación entre las variables ambientales (precipitación y temperatura promedio) y los datos de observaciones de Apis mellifera en Costa Rica y en Brasil

In [ ]:
# En el caso de Costa Rica

# Formato de las variables numérico
gdf_cr['Latitud'] = pd.to_numeric(gdf_cr['Latitud'], errors='coerce')
gdf_cr['Longitud'] = pd.to_numeric(gdf_cr['Longitud'], errors='coerce')
gdf_cr['Temp_promedio'] = pd.to_numeric(gdf_cr['Temp_promedio'], errors='coerce')
gdf_cr['Precipitacion'] = pd.to_numeric(gdf_cr['Precipitacion'], errors='coerce')

# Columnas de interés para el análisis
df_corr_cr = gdf_cr[['Latitud', 'Longitud', 'Temp_promedio', 'Precipitacion']]

# Matriz de correlación
matriz_corr_cr = df_corr_cr.corr(method='pearson')

# Imprimir la matriz de correlación
print(matriz_corr_cr)
                Latitud  Longitud  Temp_promedio  Precipitacion
Latitud        1.000000 -0.782699       0.248599       0.173208
Longitud      -0.782699  1.000000      -0.412106       0.206518
Temp_promedio  0.248599 -0.412106       1.000000       0.089338
Precipitacion  0.173208  0.206518       0.089338       1.000000
In [ ]:
# Heatmap
plt.figure(figsize=(8, 6))
sns.heatmap(matriz_corr_cr, annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title('Matriz de Correlación entre las variables y los datos de Apis mellifera en Costa Rica')
plt.show()
No description has been provided for this image
In [ ]:
# En el caso de Brasil

# Formato de las variables numérico
gdf_br['Latitud'] = pd.to_numeric(gdf_br['Latitud'], errors='coerce')
gdf_br['Longitud'] = pd.to_numeric(gdf_br['Longitud'], errors='coerce')
gdf_br['Temp_promedio'] = pd.to_numeric(gdf_br['Temp_promedio'], errors='coerce')
gdf_br['Precipitacion'] = pd.to_numeric(gdf_br['Precipitacion'], errors='coerce')

# Columnas de interés para el análisis
df_corr_br = gdf_br[['Latitud', 'Longitud', 'Temp_promedio', 'Precipitacion']]

# Matriz de correlación
matriz_corr_br = df_corr_br.corr(method='pearson')

# Imprimir la matriz de correlación
print(matriz_corr_br)
                Latitud  Longitud  Temp_promedio  Precipitacion
Latitud        1.000000  0.608549       0.303888      -0.025516
Longitud       0.608549  1.000000       0.309891      -0.395458
Temp_promedio  0.303888  0.309891       1.000000      -0.631582
Precipitacion -0.025516 -0.395458      -0.631582       1.000000
In [ ]:
# Heatmap
plt.figure(figsize=(8, 6))
sns.heatmap(matriz_corr_br, annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title('Matriz de Correlación entre las variables y los datos de Apis mellifera en Brasil')
plt.show()
No description has been provided for this image

Conclusiones¶

En conclusión, las observaciones de Apis mellifera han mostrado un incremento gradual en Costa Rica, con una mayor concentración en el área central del país, mientras que en Brasil se observaron patrones más fluctuantes, con un pico entre 2002 y 2007 y una mayor concentración en las áreas del sur y sureste. En términos de factores ambientales, en Costa Rica la especie tiende a observarse con mayor frecuencia a temperaturas más bajas (19-22°C) y baja precipitación (0-10 mm), mientras que en Brasil las observaciones son más comunes a temperaturas de 22-24°C y precipitaciones de 24 mm y 140 mm. Esto sugiere que la distribución de A. mellifera está influenciada de manera diferente por las variables ambientales en cada país, reflejando la adaptabilidad de la especie a distintos contextos geográficos y climáticos.

Bibliografía¶

Calderón, R., Padilla. S,. Ramírez, M (2019). Preliminary study on the presence of bee diseases in swarms of Africanized honey bees (Apis mellifera) in different areas of Costa Rica. (2019). Ciencias Veterinarias, 37(1), 13-25. https://doi.org/10.15359/rcv.37-1.2

Fick, S.E. y Hijmans, R.J. (2017). WorldClim 2: new 1km spatial resolution climate surfaces for global land areas. International Journal of Climatology 37 (12): 4302-4315. https://doi.org/10.1002/joc.5086

GBIF.org (20 September 2024) GBIF Occurrence Download https://doi.org/10.15468/dl.s4w66f

Guzmán-Novoa, E., Correa, A., Espinosa, L., & Guzmán, G. 2011. Colonización, impacto y control de las abejas melíferas africanizadas en México. Vet. Méx. 42: 149-178

Martínez, J., Medina, L., & Catzín, G. 2011. Frecuencia de Varroa destructor, Nosema apis y Acarapis woodi en colonias manejadas y enjambres silvestres de abejas (Apis mellifera) en Mérida, Yucatán, México. Rev. Mex. Cienc. Pecu. 2: 25-38

Sevilla-Benavides, F., Castro-Morales, O., Quesada-Obando, V. H., Murillo-Sabillón, L., & Valverde-Abarca, A. (2023). Importancia del análisis y la conservación del semen de abeja melífera (Apis mellifera) bajo condiciones tropicales. Investiga. TEC, 16(48), 4-10. https://revistas.tec.ac.cr/index.php/investiga_tec/article/view/6874/6670

Spivak, M., Fletcher, J., & Breed, M. 1991. The “African” Honey Bee. Westview. US. 435 p

Tapia-González, J., León-Mantecón, T., Contreras-Escareño, F., Macias-Macias, J., Tapia-Rivera, J., & Guzmán-Novoa, E. (2021). Influencias climáticas, regionales y cantidad de cría en el comportamiento higiénico de Apis mellifera. Abanico veterinario, 11. https://www.scielo.org.mx/scielo.php?pid=S2448-61322021000100115&script=sci_arttext