Titutlo: Diversidad de abejas de la familia Halictidade de México
Por: Ulises López Mora y Ana Celeste Martínez Cervantes
Introducción¶
Las abejas son organismos importantes para la polinización, gran cantidad angiospermas requieren de sus servicios para llevar a cabo su reproducción (Costanza et al., 1997; Chichilnisky y Heal, 1998; Kearns et al., 1998; Ollerton et al. 2011). Económicamente dos tercios de los cultivos agrícolas, dependen de las abejas para que estos sean polinizados (Kremen et al., 2007).
En los últimos años, las abejas han experimentado disminuciones significativas en la abundancia (Biesmeijer et al. 2006; Kluser y Peduzzi, 2007; Kosior et al. 2007; Goulson et al. 2008, Grixtia et al. 2009; Goulson et al., 2015). La pérdida de la biodiversidad de polinizadores, específicamente abejas, es debida a diversos factores entre los que se encuentran la pérdida del hábitat, cambio de uso de suelo, uso de pesticidas, cambio climático, entre otros. Como principales polinizadores de muchas plantas, las abejas son componentes clave en la mayoría de ecosistemas terrestres, así que la reducción o pérdida influye en el equilibrio de estos ecosistemas. Por lo que es importante comprender su biología, así como sus patrones de distribución, para conocer los factores que influyen en su disminución y así asegurar su diversidad (UNEP, 2001).
La familia Halictidae está conformada por un grupo cosmopolita de abejas de importante interés debido a su biología social, presentando desde especies estrictamente solitarias hasta colonias primitivamente sociales (Michener, 1974; McGinley, 1986). En varias partes del mundo estas abejas dominantes en términos de abundancia (Michener, 2007). Sin embargo, aunque la información biológica del grupo ha aumentado de forma espectacular, nuestra comprensión de la taxonomía de la familia Halictidae es demasiado escasa (McGinley, 1986; Michener, 2007).
Justificación
México es uno de los paises con mayor diversidad de abejas, sin embargo, es muy poco el conocimiento y difusión que se tiene acerca de esta diversidad. En consecuencia la falta de conocimiento hacen que la identificación del grupo sea complicada. Por ello, este trabajo busca explorar datos acerca de las abejas como punto de partida para mostrar la diversidad de especies de abejas que hay en méxico centrandonos en la familia Halictidae.
Antcedentes¶
Sólo existe un trabajo de abejas en general para México elaborado por Quezada-Euán y Ayala en 2010. En el cual se reportan 2,000 especies de abejas, divididas en seis familias: Colletidae, Andrenidae, Halictidae, Melittidae, Megachilidae y Apidae (Michener, 2007), sólo revisar poca bibliografía para abejas en México y no bases de datos. Especificamente para la familia Halictidae en México, nadie la ha trabajado.
Descripcion del problema
La familia Halictidae tiene 59 677 registros en GBIF lo cual representa una gran cantidad de información que podria ser utilizada para conocer la temporalidad de las distintas especies y géneros, así como conocer su distribución en el territorio mexicano. Tener una base de datos sobre cualquier grupo taxonómico es muy importante pues nos permite un mejor manejo de la información (Bartolomeus et al. 2022). Entonces tenemos una gran cantidad de información, pero esta no está curada apropiadamente.
Descripción del conjunto de datos El conjuto de datos corresponde a una consulta que realizamos en GBIF, que fue acotado al territorio mexicano y a la familia Halictidae (GBIF.org, 2024). Estos datos fueron descargados en formato "csv", se conservaron principalmente las columnas correspondientes a la localidad, datos geográficos y las categorias taxonómicas. También se utilizó el mapa de México con división política obtenido del INEGI (2024).
Objetivos¶
-Analizar la diversidad de abejas de la famila halictidae en méxico
-observar la distribución de los géneros más diversos
Resultados¶
Se obtuvieron los 59 677 registros para la familia Halictidae (Insecta: Hymenoptera: Apoidea) para México desde GBIF, estos registros fueron procesados utilizando python y pandas para reducir sus columnas a aquellas de nuestro interes que incluyen a grandes rasgos los siguientes tipos de datos:
- Datos de localidad (Páis, Estado, Municipio, Localidad, Altitud, Latitud y Longitud)
- Datos taxonómicos (Reino, Clase, Orden, Familia, Genero y Especie)
- Datos del registro (ID, ocurrencia, fecha de observacion)
A partir de estos datos se realizaron las siguientes gráficas:
- Ejemplares identificados a especie (56 % de spp con nombre)
- Especies con mayor frecuencia (Halictus ligatus la especie con mayor registros)
- Número de especies únicas por género
- Observaciones para los diferentes meses del año (abril y agosto son los meses con mayor cantidad de registrors)
- Observaciones para los distintos años (2000 el año con mayor cantidad de registros para la familia Halictidae y los años mas recientes con menor cantidad de registros, tal vez por la pandemia)
Posteriormente se realizaron consultas del dataframe por género, mismas que fueron utilizadas para generar los 35 mapas de distribución para cada uno de los géneros de la familia Halictidae, para el mapa se utilizo el proporcionado de manera gratuita en la página del INEGI.
#instalación e importación de las librerías
!pip install pandas
import numpy as np
import pandas as pd
import geopandas as gpd
import seaborn as sns
import matplotlib.pyplot as plt
Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (2.0.3) Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas) (2.8.2) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2023.4) Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2024.1) Requirement already satisfied: numpy>=1.21.0 in /usr/local/lib/python3.10/dist-packages (from pandas) (1.25.2) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)
IMPORTAR DATOS
from google.colab import drive #importamos la biblioteca
drive.mount('/content/drive') #montamos nuestro drive
df = pd.read_csv("/content/drive/MyDrive/Colab Notebooks/Proyecto-Halictidae/Abejas.csv")
df.columns
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
<ipython-input-7-c4dad9a447c7>:3: DtypeWarning: Columns (39,46) have mixed types. Specify dtype option on import or set low_memory=False. df = pd.read_csv("/content/drive/MyDrive/Colab Notebooks/Proyecto-Halictidae/Abejas.csv")
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')
#reducción de las columnas que se van a usar
df = df.drop (['gbifID', 'datasetKey', 'taxonRank', 'verbatimScientificName', 'countryCode',
'occurrenceStatus', 'publishingOrgKey', 'coordinateUncertaintyInMeters', 'day', 'month', 'year', 'taxonKey', 'speciesKey',
'basisOfRecord', 'institutionCode', 'collectionCode', 'catalogNumber', 'identifiedBy', 'dateIdentified', 'license', 'rightsHolder',
'recordedBy', 'lastInterpreted', 'issue', 'infraspecificEpithet','mediaType'], axis=1)
df.columns
Index(['occurrenceID', 'kingdom', 'phylum', 'class', 'order', 'family', 'genus', 'species', 'scientificName', 'verbatimScientificNameAuthorship', 'locality', 'stateProvince', 'individualCount', 'decimalLatitude', 'decimalLongitude', 'coordinatePrecision', 'elevation', 'elevationAccuracy', 'depth', 'depthAccuracy', 'eventDate', 'recordNumber', 'typeStatus', 'establishmentMeans'], dtype='object')
Exploración de datos
Gráficos
Por especies
#Observar datos previos
df.nunique()
df.info()
#Grafico de pay de ejemplares identificados a nivel de especie
categoria = [33526,26151]
nombres = ["Con nombre","Sin nombre"]
plt.pie(categoria, labels=nombres)
plt.title('Cantidad de ejemplares identificados a nivel de especie')
plt.show()
#conteo de las especies con valores más frecuentes
df['species'].value_counts()
#selección de las primeras 10 especies más frecuentes
plot_df = (
df['species'].value_counts()
.head(10)
.rename_axis('value')
.reset_index(name='cantidad')
)
plot_df
value | cantidad | |
---|---|---|
0 | Halictus ligatus | 4185 |
1 | Halictus hesperus | 3279 |
2 | Agapostemon nasutus | 2379 |
3 | Lasioglossum microlepoides | 1691 |
4 | Lasioglossum comulum | 1438 |
5 | Sphecodosoma beameri | 1224 |
6 | Augochloropsis metallica | 1045 |
7 | Agapostemon melliventris | 797 |
8 | Augochloropsis ignita | 718 |
9 | Halictus tripartitus | 710 |
#grafico de barras de las especies más frecuentes
plot_df.plot(kind='bar', color = (0.5,0.1,0.5,0.6))
# Título
plt.title('Especies con mayor frecuencia')
# Crear nombres del eje x
tick_labels = tuple(plot_df['value'])
# Posisión de la leyenda
x_max = int(max(plt.xticks()[0]))
# poner las leyendas en el gráfico
plt.xticks(range(0, x_max + 1), tick_labels, rotation=90)
plt.show()
Especies únicas por cada género
# Gráficos por género
plt.figure(figsize=(6, 6))
# Agrupar especies únicas por género
sp_unique = df.groupby('genus')['species'].nunique()
# Crear gráfico de barras
sp_unique.plot(kind='barh')
# Título del gráfico
plt.title('Número de especies únicas por género')
# Etiqueta del eje Y
plt.ylabel('Género')
# Etiqueta del eje X
plt.xlabel('Número de especies únicas')
plt.grid()
plt.show()
Temporalidad¶
Un gráfico de líneas para explorar la distribución de observaciones para los diferentes meses del año.
- Eje X: Mes
- Eje Y: Número de observaciones
#Conteo de las ocurrencias por mes
counts = df.groupby('month').count()
#sólo seleccionar una columna a graficar
counts_1 = counts['occurrenceID']
#Grafica
ax = counts_1.plot(color="red")
# Título del gráfico
ax.set_title('Oservaciones para los diferentes meses del año')
# Etiqueta del eje X
ax.set_xlabel('Mes')
# Etiqueta del eje Y
ax.set_ylabel('No. observaciones')
# Mostrar cuadrícula en el gráfico
ax.grid(True)
plt.show()
Abejas por años¶
#Conteo de las ocurrencias por año
counts = df.groupby('year').count()
#sólo seleccionar una columna a graficar
counts_1 = counts['occurrenceID']
#Grafica
ax = counts_1.plot(color="green")
# Título del gráfico
ax.set_title('Oservaciones para los diferentes años')
# Etiqueta del eje X
ax.set_xlabel('Año')
# Etiqueta del eje Y
ax.set_ylabel('No. observaciones')
# Mostrar cuadrícula en el gráfico
ax.grid(True)
plt.show()
### Obtenemos la cantidad de registros para cada género en la familia Halictidae y lo guardamos en la variable registros.
registros = df.value_counts('genus')
print(type(registros))
### Obtenemos los nombres de cada género registrado y los guardamos en la variable generos_registros
generos_registros = registros.keys()
print(generos_registros, type(generos_registros), registros)
### revisamos que los géneros estén guardados en la lista generos_registros para posteriormente poder consultar y hacer filtros en nuestra data frame principal.
for genus in generos_registros:
print(f"El genero {genus} tiene {registros[genus]} registros")
<class 'pandas.core.series.Series'> Index(['Lasioglossum', 'Halictus', 'Agapostemon', 'Augochlora', 'Augochloropsis', 'Augochlorella', 'Sphecodosoma', 'Dufourea', 'Dialictus', 'Caenaugochlora', 'Pseudaugochlora', 'Sphecodes', 'Dieunomia', 'Neocorynura', 'Nomia', 'Pereirapis', 'Caenohalictus', 'Paragapostemon', 'Megalopta', 'Habralictus', 'Mexalictus', 'Pseudaugochloropsis', 'Dinagapostemon', 'Evylaeus', 'Conanthalictus', 'Temnosoma', 'Seladonia', 'Eickwortia', 'Paralictus', 'Protodufourea', 'Ptilocleptis', 'Sphecodogastra', 'Microsphecodes', 'Micralictoides', 'Thectochlora'], dtype='object', name='genus') <class 'pandas.core.indexes.base.Index'> genus Lasioglossum 22432 Halictus 9072 Agapostemon 6370 Augochlora 6017 Augochloropsis 3250 Augochlorella 1938 Sphecodosoma 1506 Dufourea 1304 Dialictus 877 Caenaugochlora 858 Pseudaugochlora 703 Sphecodes 669 Dieunomia 635 Neocorynura 609 Nomia 569 Pereirapis 454 Caenohalictus 316 Paragapostemon 271 Megalopta 229 Habralictus 191 Mexalictus 156 Pseudaugochloropsis 127 Dinagapostemon 110 Evylaeus 91 Conanthalictus 79 Temnosoma 22 Seladonia 11 Eickwortia 8 Paralictus 7 Protodufourea 6 Ptilocleptis 3 Sphecodogastra 3 Microsphecodes 2 Micralictoides 1 Thectochlora 1 Name: count, dtype: int64 El genero Lasioglossum tiene 22432 registros El genero Halictus tiene 9072 registros El genero Agapostemon tiene 6370 registros El genero Augochlora tiene 6017 registros El genero Augochloropsis tiene 3250 registros El genero Augochlorella tiene 1938 registros El genero Sphecodosoma tiene 1506 registros El genero Dufourea tiene 1304 registros El genero Dialictus tiene 877 registros El genero Caenaugochlora tiene 858 registros El genero Pseudaugochlora tiene 703 registros El genero Sphecodes tiene 669 registros El genero Dieunomia tiene 635 registros El genero Neocorynura tiene 609 registros El genero Nomia tiene 569 registros El genero Pereirapis tiene 454 registros El genero Caenohalictus tiene 316 registros El genero Paragapostemon tiene 271 registros El genero Megalopta tiene 229 registros El genero Habralictus tiene 191 registros El genero Mexalictus tiene 156 registros El genero Pseudaugochloropsis tiene 127 registros El genero Dinagapostemon tiene 110 registros El genero Evylaeus tiene 91 registros El genero Conanthalictus tiene 79 registros El genero Temnosoma tiene 22 registros El genero Seladonia tiene 11 registros El genero Eickwortia tiene 8 registros El genero Paralictus tiene 7 registros El genero Protodufourea tiene 6 registros El genero Ptilocleptis tiene 3 registros El genero Sphecodogastra tiene 3 registros El genero Microsphecodes tiene 2 registros El genero Micralictoides tiene 1 registros El genero Thectochlora tiene 1 registros
### con la funcion generar_filtros se filtra el dataframe principal por géneros y se guarda cada dataframe como elementos de una lista,
### como resultado regresa la lista con el dataframe filtrado por géneros.
### en la variable mapas se guarda el resultado de la funcion generar_filtros.
def generar_filtros(lista_generos, dataframe):
lista = []
for genus in lista_generos:
genero = df["genus"] == genus
genus_lista = dataframe[genero]
lista.append(genus_lista)
#print(lista)
return lista
mapas = generar_filtros(generos_registros, df)
### Con la funcion guardar_puntos introducimos la lista con los dataframe filtrados por género,
### y para cada uno de estos generamos los puntos que son lo que se graficará.
### Estos se guardan en la lista registros que será devuelta en la función.
### guardamos el resultado de esta función en la variable lista_mapas.
def guardar_puntos (datos):
generos = range(len(datos))
registros = []
for genero in generos:
puntos = gpd.points_from_xy(datos[genero].decimalLongitude, datos[genero].decimalLatitude)
datos_juntos = gpd.GeoDataFrame(datos[genero], geometry=puntos)
registros.append(datos_juntos)
return registros
lista_mapas = guardar_puntos(mapas)
#Lasioglossum_registros = mapas[5]
lista_mapas[17]
occurrenceID | kingdom | phylum | class | order | family | genus | species | scientificName | verbatimScientificNameAuthorship | ... | coordinatePrecision | elevation | elevationAccuracy | depth | depthAccuracy | eventDate | recordNumber | typeStatus | establishmentMeans | geometry | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4586 | 3ac99e309d12d8e5efecfa1ed940a2ee | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | NaN | Paragapostemon Vachal, 1903 | Vachal, 1903 | ... | NaN | 1170.0 | 1170.0 | 0.0 | 0.0 | 1985-10-06 | NaN | NaN | NaN | POINT (-98.79360 19.03910) |
6907 | 1a72a0fc67322d2317156e12ad7ea065 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | NaN | Paragapostemon Vachal, 1903 | Vachal, 1903 | ... | NaN | 1130.0 | 1130.0 | 0.0 | 0.0 | 2005-08-01 | NaN | NaN | NaN | POINT (-98.88870 19.49110) |
7399 | https://www.inaturalist.org/observations/39338337 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | Paragapostemon coelestinus | Paragapostemon coelestinus (Westwood, 1875) | NaN | ... | NaN | NaN | NaN | NaN | NaN | 2020-01-18T10:35 | NaN | NaN | NaN | POINT (-99.05879 19.25938) |
7408 | https://www.inaturalist.org/observations/8808934 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | Paragapostemon coelestinus | Paragapostemon coelestinus (Westwood, 1875) | NaN | ... | NaN | NaN | NaN | NaN | NaN | 2017-11-14T12:09 | NaN | NaN | NaN | POINT (-98.42695 19.37000) |
7653 | a1e1c8c43e7cc186ad452b652c644da6 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | Paragapostemon coelestinus | Paragapostemon coelestinus (Westwood, 1875) | (Westwood, 1875) | ... | NaN | 959.5 | 959.5 | 0.0 | 0.0 | 2014-09-27 | NaN | NaN | NaN | POINT (-100.54964 25.03144) |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
55888 | 82efbf66-d8e1-11e2-99a2-0026552be7ea | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | Paragapostemon coelestinus | Paragapostemon coelestinus (Westwood, 1875) | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | POINT (-105.29889 23.84500) |
57896 | ECOSUR-SC:ECOAB:122916 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | NaN | Paragapostemon Vachal, 1903 | NaN | ... | NaN | 2462.0 | NaN | NaN | NaN | 2020-08-17 | NaN | NaN | NaN | POINT (-98.18200 19.41900) |
57898 | ECOSUR-SC:ECOAB:122915 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | NaN | Paragapostemon Vachal, 1903 | NaN | ... | NaN | 2462.0 | NaN | NaN | NaN | 2020-08-17 | NaN | NaN | NaN | POINT (-98.18200 19.41900) |
57904 | ECOSUR-SC:ECOAB:122926 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | NaN | Paragapostemon Vachal, 1903 | NaN | ... | NaN | 2462.0 | NaN | NaN | NaN | 2020-08-13 | NaN | NaN | NaN | POINT (-98.18200 19.41900) |
57907 | ECOSUR-SC:ECOAB:122925 | Animalia | Arthropoda | Insecta | Hymenoptera | Halictidae | Paragapostemon | NaN | Paragapostemon Vachal, 1903 | NaN | ... | NaN | 2462.0 | NaN | NaN | NaN | 2020-08-13 | NaN | NaN | NaN | POINT (-98.18200 19.41900) |
271 rows × 25 columns
### en la variable world guardamos el mapa del mundo de los datasets naturalearth_lowers
### en la variable Mexico guardamos el mapa de Mexico extrayendolo de la variable world
### En la variable Mexico_estados leemos el mapa de México con división politica obtenido del INEGI, para esto guardamos los archivos Mexico-estados.shp y .shx en la carpeta
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world
Mexico = world[world.name == "Mexico"]
#Mexico.plot()
Mexico
Mexico_estados = gpd.read_file("Mexico-estados.shp")
Mexico_estados.plot()
<ipython-input-127-f87795ee1768>:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/. world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
<Axes: >
#Lasioglossum_points = gpd.points_from_xy(Lasioglossum_registros.decimalLongitude, Lasioglossum_registros.decimalLatitude)
#Lasioglossum_points
#Lasioglossum_puntos = gpd.GeoDataFrame(Lasioglossum_registros, geometry=Lasioglossum_points)
#Lasioglossum_puntos.plot()
## La funcion plotear_mapas, nos permite plotear los mapas para el set de datos, los geodataframes en la variable datos_untos, el mapa en la varaiable mapa_pais,
## y los nombres de los géneros para crear el titulo guardados en la variable generos.
def plotear_mapas(datos_puntos, mapa_pais, generos):
nu_mapas = range(len(datos_puntos))
mapas_list = []
for mapa in nu_mapas:
nombre = datos_puntos[mapa]
lienzo = mapa_pais.plot(
figsize = (20,20),
color="lightgreen",
edgecolor="black",
linewidth = 0.6
)
title = f'Obvservaciones del género {generos[mapa]} (Insecta: Hymenoptera: Apoidea: Halictidae) para México'
lienzo.set_title(title)
lienzo.set_ylabel("Latitud")
lienzo.set_xlabel("Longitud")
datos_puntos[mapa].plot(ax=lienzo, color="k")
plotear_mapas(lista_mapas, Mexico_estados, generos_registros)
/usr/local/lib/python3.10/dist-packages/geopandas/plotting.py:675: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`. fig, ax = plt.subplots(figsize=figsize) /usr/local/lib/python3.10/dist-packages/geopandas/plotting.py:417: UserWarning: The GeoSeries you are attempting to plot is composed of empty geometries. Nothing has been displayed. warnings.warn( /usr/local/lib/python3.10/dist-packages/geopandas/plotting.py:417: UserWarning: The GeoSeries you are attempting to plot is composed of empty geometries. Nothing has been displayed. warnings.warn(
Conclusiones¶
- La familia Halictidae ha sido poco estudiada, y aún asi encontramos una gran cantidad de registros en GBIF, lo cual nos permite visualizar la gran cantidad de información que falta por ser procesada y curada para su utilización. Debido a esta gran cantidad de información consideramos que utilizar python y sus distintas paqueterias nos permitirá analizar toda esta información de una manera mas eficiente y rápida. Asi tambien nos permite una visualizción preliminar de los datos que se encuentran disponibles en la red. Por consiguiente aún queda mucho trabajo por realizar en este familia de abejas.
Referencias¶
-Bartomeus, I., Lanuza, J. B., Wood, T. J., Carvalheiro, L., Molina, F. P., Collado, M. Ángel, Aguado-Martín, L. O., Alomar, D., Álvarez-Fidalgo, M., Álvarez Fidalgo, P., Arista, M., Arroyo-Correa, B., Asís, J. D., Azpiazu, C., Baños-Picón, L., Beja, P., Boieiro, M., Borges, P. A., González Bornay, G., Carvalho, R., Casimiro-Soriguer, R., Castro, S., Costa, J., Cross, I., De la Rúa, P., de Pablos, L. M., de Paz, V., Díaz-Calafat, J., Ferrero, V., Gaspar, H., Ghisbain, G., Gómez, J. M., Gómez-Martínez, C., González-Estévez, M. Ángel, Heleno, R., Herrera, J. M., Hormaza, J. I., Iriondo, J. M., Kuhlmann, M. ., Laiolo, P., Lara-Romero, C., Lázaro, A., López-Angulo, J., López-Núñez, F. A., Loureiro, J., Magrach, A., Martínez-López, V., Martínez-Núñez, C., Michez, D., Miñarro, M., Montero-Castaño, A., Moreira, B., Morente-López, J., Noval Fonseca, N., Núñez Carbajal, A., Obeso, J. R., Ornosa, C., Ortiz-Sánchez, F. J., Pareja Bonilla, D., Patiny, S., Penado, A., Picanço, A., Ploquin, E. F. ., Rasmont, P., Rego, C., Rey, P. J., Ribas-Marquès, E., Roberts, S. P., Rodriguez, M., Rosas-Ramos, N., Sánchez, A. M., Santamaría, S., Tobajas, E., Tormos, J., Torres, F., Trillo, A., Valverde, J., Vilà, M., & Viñuela, E. (2022). Base de datos de abejas ibéricas: . Ecosistemas, 31(3), 2380. https://doi.org/10.7818/ECOS.2380
-Biesmeijer J.C., Roberts S.P.M., Reemer R., Ohlemuller R., Edwards M. y Peeters Tl. (2006). Parallel declines in pollinators and insect-pollinated plants in Britain and the Netherlands. Science, 313: 351-354.
-Chichilnisky G. y Heal G. (1998). Economic returns from the biosphere. Nature, 391: 629-630.
-Costanza R., d’Arge R., de Groot R., Farber S. y Grasso M. (1997). The value of the world’s service and natural capital. Nature, 387: 253–260.
-GBIF.org (09 May 2024) GBIF Occurrence Download https://doi.org/10.15468/dl.45sx4y
-Goulson D., Lye G. C. y Darvill B. (2008). Decline and conservation of bumble bees. Annual Review of Entomology, 53:191-208.
-Goulson D., Nicholls E., Botías C. y Rotheray E.L. (2015). Bee declines driven by combined stress from parasites, pesticides, and lack of flowers. Science, 347: 1-8.
-Grixtia, J.C. Wonga, L.T., Cameronb,S.A. y Favreta C. (2009). Decline of bumble bees (Bombus) in the North American Midwest. Biological Conservation. 142: 75 – 84.
-INEGI. (s.f.). INEGI: Sistemas de Consulta. https://www.inegi.org.mx/app/mapas/
-Kearns C.A., Inouye D.W. y Waser N.M. (1998). Endangered mutualisms: the conservation of plantpollinator interactions. Annual Review of Ecology and Systematics 29: 83-112.
-Kluser S. y Peduzzi P. (2007). Global pollinator decline: a literature review. Ed. Geneva: UNEP/GRID. 1-10 pp.
-Kremen C. et al. (2007) Pollination and other ecosystem services provided by mobile organisms: a conceptual framework for the effects of land-use change, Ecol. Lett. 10, 299–314.
-Kosior A., Celary W., Olejniczak P., Fijał J., Król W., Solarz W. y Płonka P. (2007). The decline of the bumble bees and cuckoo bees (Hymenoptera: Apidae: Bombini) of Western and Central Europe. Oryx, 41: 79-88.
-McGinley R.J. (1986). Studies of Halictinae (Apoidea: Halictidae), I: Revision of New World Lasioglossum Curtis. Smithsonian Contributions to Zoology 429: i–vi +1–294.
-Michener C.D. (1974). The Social Behavior of the Bees. Belknap Press, Cambridge, Massachusetts.
-Michener, C. D. (2007). The bees of the world. (segunda edición). The Johns Hopkins University Press Baltimore, E.U.A. pp. 16-22.
-Ollerton, J., Winfree, R. y Tarrant, S. (2011) How many flowering plants are pollinated by animals? Oikos 120:321–326.
-Quezada- Euán, J. y Ayala, R. (2010). Abejas nativas de México. La importancia de su conservación. Revista Ciencia y Desarrollo. 36: 8-13.
-UNEP (Programa de las Naciones Unidas para el Medio). (2001). Convenio sobre la Diversidad Biológica. Séptima reunión. Montreal, Canadá.