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:

  1. Datos de localidad (Páis, Estado, Municipio, Localidad, Altitud, Latitud y Longitud)
  2. Datos taxonómicos (Reino, Clase, Orden, Familia, Genero y Especie)
  3. Datos del registro (ID, ocurrencia, fecha de observacion)

A partir de estos datos se realizaron las siguientes gráficas:

  1. Ejemplares identificados a especie (56 % de spp con nombre)
  2. Especies con mayor frecuencia (Halictus ligatus la especie con mayor registros)
  3. Número de especies únicas por género
  4. Observaciones para los diferentes meses del año (abril y agosto son los meses con mayor cantidad de registrors)
  5. 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.

In [1]:
#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

In [ ]:
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")
Out[ ]:
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 [ ]:
#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
Out[ ]:
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

In [ ]:
#Observar datos previos
df.nunique()

df.info()
In [ ]:
#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()
No description has been provided for this image
In [ ]:
#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
Out[ ]:
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
In [ ]:
#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()
No description has been provided for this image

Especies únicas por cada género

In [ ]:
# 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()
No description has been provided for this image

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
In [ ]:
#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()
No description has been provided for this image

Abejas por años¶

In [ ]:
#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()
No description has been provided for this image
In [ ]:
### 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
In [ ]:
### 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)
In [ ]:
### 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]
In [ ]:
lista_mapas[17]
Out[ ]:
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

In [ ]:
### 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'))
Out[ ]:
<Axes: >
No description has been provided for this image
In [ ]:
#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(
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

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á.