Mariposa Malaquita (Siproeta stelenes)¶

malaquita

La mariposa Malaquita con una taxonomía:

Filo Arthropoda
Clase Insecta
Orden Lepidóptera

Es una mariposa neotropical presenta una distribución en el continente americano desde el sur de Texas hasta el Brasil, incluyendo Cuba, México, Honduras, Costa Rica, Ecuador y Perú presentando diferentes subespecies en diferentes localidades.

En este presente proyecto se hace uso del lenguaje de programación Phyton que a partir de archivos de datos obtenidos de la página web GBIF contienen información de la data, coordenadas, y otros datos de interés, estos sean procesados para divisar gráficos estadísticos y gráficos espaciales, los siguientes archivos se descargaron:

GBIF.org (05 March 2025) GBIF Occurrence Download
GBIF.org (07 March 2025) GBIF Occurrence Download.

En el presente trabajo se seleccionaron solo las observaciones de la especie Siproeta stelenes y la especie Siproeta stelenes ssp biplagiata, se seleccionaron las observaciones que presentasen coordenadas geográficas de la observación.

Importación de las librerías necesarias en el lenguaje de Programación Python¶

Para el procesado de la información de la especie Siproeta stelenes, se instalaron / cargaron las librerías necesarias para el manejo de:

Series de datos
Datos vectoriales
Datos matriciales
Datos en formato geoespacial
Librerias matemáticas
Librerias de graficado interactivo

En el lenguaje de programación Phyton se usaron las siguientes librerias:

Pandas
Geopandas
Mathplot
Folium
Mapclassify
leafmap

In [ ]:
import geopandas as gpd
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px

import folium # Para usar la función explore() en elaboración de mapas web interactivos

!pip install mapclassify --quiet

import mapclassify # Para usarse en mapas de coropletas
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/59.1 kB ? eta -:--:--
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.1/59.1 kB 4.0 MB/s eta 0:00:00

Lectura del archivo en formato csv de la especie de interés¶

Los Archivo descargado de la página web GBIF están en el formato electrónico "CSV" con separador entre textos "Tab" fueron importados para su lectura y su procesado uando el lenguaje Phyton.
Siproeta es el archivo con las observaciones de la especie Siproeta stelenes
Siproeta_biplagiata es el archivo con las observaciones de la especie Siproeta stelenes ssp biplagiata.

In [ ]:
malaquita01_df = pd.read_csv("siproeta.csv", sep='\t')
malaquita02_df = pd.read_csv("siproeta_biplagiata.csv", sep='\t')
<ipython-input-2-a8f53b8c5997>:1: DtypeWarning: Columns (46) have mixed types. Specify dtype option on import or set low_memory=False.
  malaquita01_df = pd.read_csv("siproeta.csv", sep='\t')

Los resultados obtenidos de la importación del archivo son:¶

Se obtuvieron la siguiente cantidad de registros:

archivo malaquita01_df 17462 registros
archivo malaquira02_df 9294 registros

Cada archivo presenta 50 columnas de información:
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

Procesado de la información¶

Concatenado¶

Se concatenaron los DataFrames (malaquita01 y malaquita02) haciendo uso de la función concat de Pandas, generando un nuevo DataFrame (malaquita_df) con 26576 registros.

In [ ]:
malaquita_df = pd.concat([malaquita01_df,malaquita02_df])
len(malaquita_df)
Out[ ]:
26756

Graficado en histogramas por año y por país¶

Se seleccionan los registros de presencias de la especie a partir del año 1980 (malaquita_filtrado) y la presencia de la especie por país (malaquita_pais).
Se generó un gráfico histograma con el número de observaciones anuales y un segundo histograma con el número de registros por país, ambos a partir del año 1980.

In [ ]:
malaquita_filtrado = malaquita_df[malaquita_df['year'] >= 1980]

malaquita_year = malaquita_filtrado.groupby('year')['gbifID'].count().reset_index()

# Creación del gráfico de barras
fig = px.bar(
    malaquita_year,
    x='year',
    y='gbifID',
    title='Fig. 1 Género Siproeta (1980 - 2025)'
)

# Personalización
fig.update_layout(
    xaxis_title='Año',
    yaxis_title='Cantidad de registros',
    width=1000,    # Ancho de la figura
    height=600     # Alto de la figura
)
In [ ]:
malaquita_pais = malaquita_filtrado.groupby('countryCode')['gbifID'].count().reset_index()

# Creación del gráfico de barras
fig = px.bar(
    malaquita_pais,
    x='countryCode',
    y='gbifID',
    title='Fig. 2 Género Siproeta por país a partir de 1980'
)

# Personalización
fig.update_layout(
    xaxis_title='País',
    yaxis_title='Cantidad de registros',
    width=1000,    # Ancho de la figura
    height=600)     # Alto de la figura

Generación de un GeoDataFrame para ser uitlizado en procesos de graficado espacial e interactivos¶

Se asigna como esferoide de proyección el ESPG:4326 (WGS84) en la generación del archvo GeoPandas

In [ ]:
malaquita_gdf = gpd.GeoDataFrame(
    malaquita_filtrado,
    geometry=gpd.points_from_xy(malaquita_filtrado.decimalLongitude, malaquita_filtrado.decimalLatitude),
    crs='EPSG:4326'
)

Visualización de unas columnas del GeoDataFrame¶

In [ ]:
malaquita_gdf[['gbifID', 'species', 'decimalLongitude', 'decimalLatitude', 'geometry']].head()
Out[ ]:
gbifID species decimalLongitude decimalLatitude geometry
0 923915340 Siproeta stelenes -99.812801 20.695301 POINT (-99.8128 20.6953)
1 911498184 Siproeta stelenes -92.268190 15.765752 POINT (-92.26819 15.76575)
2 899978592 Siproeta stelenes -99.136097 19.284451 POINT (-99.1361 19.28445)
3 899973827 Siproeta stelenes -87.465833 20.211944 POINT (-87.46583 20.21194)
4 899959309 Siproeta stelenes -99.099968 18.993052 POINT (-99.09997 18.99305)

Importación de un mapamundi en formato geopackage gpgkg desde una página web.¶

In [ ]:
paises_gdf = gpd.read_file(
    'https://raw.githubusercontent.com/datos-geoespaciales-biodiversidad/python/refs/heads/main/datos/otros/naturalearth/paises.gpkg'
)

paises_gdf.to_file("paises.gpkg", driver="GPKG")

Se genera un archivo GeoPandas de nombre paises_america a partir del archivo gpkg conteniendo información solo para el contienten americano¶

Son 31 entidades o países en el continente americano.

In [ ]:
paises_america = paises_gdf[(paises_gdf['CONTINENT'] == 'South America') | (paises_gdf['CONTINENT'] == 'North America')]
paises_america.to_file("paises_america.gpkg", driver = "GPKG")
paises_america[["ADM0_ISO", "NAME", "CONTINENT", "geometry"]]
Out[ ]:
ADM0_ISO NAME CONTINENT geometry
3 CAN Canada North America MULTIPOLYGON (((-122.84 49, -122.97421 49.0025...
4 USA United States of America North America MULTIPOLYGON (((-122.84 49, -120 49, -117.0312...
9 ARG Argentina South America MULTIPOLYGON (((-68.63401 -52.63637, -68.25 -5...
10 CHL Chile South America MULTIPOLYGON (((-68.63401 -52.63637, -68.63335...
16 HTI Haiti North America MULTIPOLYGON (((-71.71236 19.71446, -71.62487 ...
17 DOM Dominican Rep. North America MULTIPOLYGON (((-71.7083 18.045, -71.68774 18....
19 BHS Bahamas North America MULTIPOLYGON (((-78.98 26.79, -78.51 26.87, -7...
20 B12 Falkland Is. South America MULTIPOLYGON (((-61.2 -51.85, -60 -51.25, -59....
22 GRL Greenland North America MULTIPOLYGON (((-46.76379 82.62796, -43.40644 ...
27 MEX Mexico North America MULTIPOLYGON (((-117.12776 32.53534, -115.9913...
28 URY Uruguay South America MULTIPOLYGON (((-57.62513 -30.21629, -56.97603...
29 BRA Brazil South America MULTIPOLYGON (((-53.37366 -33.76838, -53.65054...
30 BOL Bolivia South America MULTIPOLYGON (((-69.52968 -10.95173, -68.78616...
31 PER Peru South America MULTIPOLYGON (((-69.89364 -4.29819, -70.79477 ...
32 COL Colombia South America MULTIPOLYGON (((-66.87633 1.25336, -67.06505 1...
33 PAN Panama North America MULTIPOLYGON (((-77.35336 8.6705, -77.47472 8....
34 CRI Costa Rica North America MULTIPOLYGON (((-82.5462 9.56613, -82.93289 9....
35 NIC Nicaragua North America MULTIPOLYGON (((-83.65561 10.93876, -83.89505 ...
36 HND Honduras North America MULTIPOLYGON (((-83.14722 14.99583, -83.48999 ...
37 SLV El Salvador North America MULTIPOLYGON (((-89.35333 14.42413, -89.05851 ...
38 GTM Guatemala North America MULTIPOLYGON (((-92.22775 14.53883, -92.20323 ...
39 BLZ Belize North America MULTIPOLYGON (((-89.14308 17.80832, -89.15091 ...
40 VEN Venezuela South America MULTIPOLYGON (((-60.73357 5.20028, -60.60118 4...
41 GUY Guyana South America MULTIPOLYGON (((-56.53939 1.89952, -56.7827 1....
42 SUR Suriname South America MULTIPOLYGON (((-54.52475 2.31185, -55.09759 2...
44 ECU Ecuador South America MULTIPOLYGON (((-75.37322 -0.15203, -75.23372 ...
45 PRI Puerto Rico North America MULTIPOLYGON (((-66.28243 18.51476, -65.7713 1...
46 JAM Jamaica North America MULTIPOLYGON (((-77.5696 18.49053, -76.89662 1...
47 CUB Cuba North America MULTIPOLYGON (((-82.26815 23.18861, -81.40446 ...
156 PRY Paraguay South America MULTIPOLYGON (((-58.16639 -20.1767, -57.87067 ...
175 TTO Trinidad and Tobago North America MULTIPOLYGON (((-61.68 10.76, -61.105 10.89, -...

Se grafican las observaciones de la especie Siproeta sobre la geografía de los países del contiente americano¶

In [ ]:
fig, ax = plt.subplots(figsize=(8, 8))

# Capa de países de América
paises_america.plot(
    ax=ax,
    color="purple",
    alpha = 0.3,
    edgecolor="black"
)

# Registros de la Siproeta stelens y Siproeta stelenes biplagiata en el continente americano
malaquita_gdf.plot(
    ax=ax,
    marker="o",
    color="red",
    markersize=5
)
ax.set_title("Fig. 3 Presencia del género Siproeta en el continente Americano")
ax.set_xlabel("Longitud Geográfica")
ax.set_ylabel("Latitud Geográfica")
Out[ ]:
Text(55.472222222222214, 0.5, 'Latitud Geográfica')
No description has been provided for this image

Se procedió a realizar la unión espacial de los archivos de los países de América y el conteo de observaciones de la especie Siproeta stelenes por país¶

Solo 26 países en el continente Americano presentan registros de la especie.

In [ ]:
paises_america.set_index('ADM0_ISO', inplace=True)
In [ ]:
paises_america
Out[ ]:
featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF LEVEL TYPE TLC ADMIN ... FCLASS_TR FCLASS_ID FCLASS_PL FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA geometry
ADM0_ISO
CAN Admin-0 country 1 2 Canada CAN 0 2 Sovereign country 1 Canada ... None None None None None None None None None MULTIPOLYGON (((-122.84 49, -122.97421 49.0025...
USA Admin-0 country 1 2 United States of America US1 1 2 Country 1 United States of America ... None None None None None None None None None MULTIPOLYGON (((-122.84 49, -120 49, -117.0312...
ARG Admin-0 country 1 2 Argentina ARG 0 2 Sovereign country 1 Argentina ... None None None None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.25 -5...
CHL Admin-0 country 1 2 Chile CHL 0 2 Sovereign country 1 Chile ... None None None None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.63335...
HTI Admin-0 country 1 5 Haiti HTI 0 2 Sovereign country 1 Haiti ... None None None None None None None None None MULTIPOLYGON (((-71.71236 19.71446, -71.62487 ...
DOM Admin-0 country 1 5 Dominican Republic DOM 0 2 Sovereign country 1 Dominican Republic ... None None None None None None None None None MULTIPOLYGON (((-71.7083 18.045, -71.68774 18....
BHS Admin-0 country 1 4 The Bahamas BHS 0 2 Sovereign country 1 The Bahamas ... None None None None None None None None None MULTIPOLYGON (((-78.98 26.79, -78.51 26.87, -7...
B12 Admin-0 country 1 5 United Kingdom GB1 1 2 Disputed 1 Falkland Islands ... None None None None None None None None None MULTIPOLYGON (((-61.2 -51.85, -60 -51.25, -59....
GRL Admin-0 country 1 3 Denmark DN1 1 2 Country 1 Greenland ... None None None None None None None None None MULTIPOLYGON (((-46.76379 82.62796, -43.40644 ...
MEX Admin-0 country 1 2 Mexico MEX 0 2 Sovereign country 1 Mexico ... None None None None None None None None None MULTIPOLYGON (((-117.12776 32.53534, -115.9913...
URY Admin-0 country 1 4 Uruguay URY 0 2 Sovereign country 1 Uruguay ... None None None None None None None None None MULTIPOLYGON (((-57.62513 -30.21629, -56.97603...
BRA Admin-0 country 1 2 Brazil BRA 0 2 Sovereign country 1 Brazil ... None None None None None None None None None MULTIPOLYGON (((-53.37366 -33.76838, -53.65054...
BOL Admin-0 country 1 3 Bolivia BOL 0 2 Sovereign country 1 Bolivia ... None None None None None None None None None MULTIPOLYGON (((-69.52968 -10.95173, -68.78616...
PER Admin-0 country 1 2 Peru PER 0 2 Sovereign country 1 Peru ... None None None None None None None None None MULTIPOLYGON (((-69.89364 -4.29819, -70.79477 ...
COL Admin-0 country 1 2 Colombia COL 0 2 Sovereign country 1 Colombia ... None None None None None None None None None MULTIPOLYGON (((-66.87633 1.25336, -67.06505 1...
PAN Admin-0 country 1 4 Panama PAN 0 2 Sovereign country 1 Panama ... None None None None None None None None None MULTIPOLYGON (((-77.35336 8.6705, -77.47472 8....
CRI Admin-0 country 1 5 Costa Rica CRI 0 2 Sovereign country 1 Costa Rica ... None None None None None None None None None MULTIPOLYGON (((-82.5462 9.56613, -82.93289 9....
NIC Admin-0 country 1 5 Nicaragua NIC 0 2 Sovereign country 1 Nicaragua ... None None None None None None None None None MULTIPOLYGON (((-83.65561 10.93876, -83.89505 ...
HND Admin-0 country 1 5 Honduras HND 0 2 Sovereign country 1 Honduras ... None None None None None None None None None MULTIPOLYGON (((-83.14722 14.99583, -83.48999 ...
SLV Admin-0 country 1 6 El Salvador SLV 0 2 Sovereign country 1 El Salvador ... None None None None None None None None None MULTIPOLYGON (((-89.35333 14.42413, -89.05851 ...
GTM Admin-0 country 1 3 Guatemala GTM 0 2 Sovereign country 1 Guatemala ... None None None None None None None None None MULTIPOLYGON (((-92.22775 14.53883, -92.20323 ...
BLZ Admin-0 country 1 6 Belize BLZ 0 2 Sovereign country 1 Belize ... None None None None None None None None None MULTIPOLYGON (((-89.14308 17.80832, -89.15091 ...
VEN Admin-0 country 1 3 Venezuela VEN 0 2 Sovereign country 1 Venezuela ... None None None None None None None None None MULTIPOLYGON (((-60.73357 5.20028, -60.60118 4...
GUY Admin-0 country 1 4 Guyana GUY 0 2 Sovereign country 1 Guyana ... None None None None None None None None None MULTIPOLYGON (((-56.53939 1.89952, -56.7827 1....
SUR Admin-0 country 1 4 Suriname SUR 0 2 Sovereign country 1 Suriname ... None None None None None None None None None MULTIPOLYGON (((-54.52475 2.31185, -55.09759 2...
ECU Admin-0 country 1 3 Ecuador ECU 0 2 Sovereign country 1 Ecuador ... None None None None None None None None None MULTIPOLYGON (((-75.37322 -0.15203, -75.23372 ...
PRI Admin-0 country 1 5 United States of America US1 1 2 Dependency 1 Puerto Rico ... None None None None None None None None None MULTIPOLYGON (((-66.28243 18.51476, -65.7713 1...
JAM Admin-0 country 1 4 Jamaica JAM 0 2 Sovereign country 1 Jamaica ... None None None None None None None None None MULTIPOLYGON (((-77.5696 18.49053, -76.89662 1...
CUB Admin-0 country 1 3 Cuba CU1 1 1 Sovereignty 1 Cuba ... None None None None None None None None None MULTIPOLYGON (((-82.26815 23.18861, -81.40446 ...
PRY Admin-0 country 1 4 Paraguay PRY 0 2 Sovereign country 1 Paraguay ... None None None None None None None None None MULTIPOLYGON (((-58.16639 -20.1767, -57.87067 ...
TTO Admin-0 country 1 5 Trinidad and Tobago TTO 0 2 Sovereign country 1 Trinidad and Tobago ... None None None None None None None None None MULTIPOLYGON (((-61.68 10.76, -61.105 10.89, -...

31 rows × 168 columns

In [ ]:
malaquita_pais = malaquita_gdf.sjoin(
    paises_america,
    predicate='intersects'
)

malaquita_pais[['gbifID', 'species', 'ADM0_ISO', 'NAME', 'POP_EST']].head()
Out[ ]:
gbifID species ADM0_ISO NAME POP_EST
0 923915340 Siproeta stelenes MEX Mexico 127575529.0
1 911498184 Siproeta stelenes MEX Mexico 127575529.0
2 899978592 Siproeta stelenes MEX Mexico 127575529.0
3 899973827 Siproeta stelenes MEX Mexico 127575529.0
4 899959309 Siproeta stelenes MEX Mexico 127575529.0
In [ ]:
malaquita_conteo_pais = malaquita_pais.groupby("ADM0_ISO").gbifID.nunique()
malaquita_conteo_pais = malaquita_conteo_pais.reset_index()
malaquita_conteo_pais.set_index('ADM0_ISO', inplace=True)
malaquita_conteo_pais.rename(columns = {'gbifID': 'registros'}, inplace = True)
malaquita_conteo_pais.sort_values(by="registros", ascending=False)
malaquita_conteo_pais
Out[ ]:
registros
ADM0_ISO
ARG 203
BLZ 80
BOL 37
BRA 987
COL 591
CRI 1130
CUB 121
DOM 154
ECU 279
GTM 92
GUY 8
HND 225
HTI 5
JAM 50
MEX 9480
NIC 198
PAN 448
PER 189
PRI 182
PRY 22
SLV 88
SUR 39
TTO 52
URY 9
USA 525
VEN 36
In [ ]:
#len(malaquita_conteo_pais)

Se realizo la unión (no espacial) del mapa de area geográfica de América con los resultados del conteo de la especie por país, generando el gráfico de mapa con coropletas.¶

Alaska es un estado perteneciente a los USA, no existen registros de la especie Siproeta stelenes en Alaska.
En los países sin registros (NAN) se cambiaron a valor numérico de 0.0

In [ ]:
malaquita_riqueza_gdf = paises_america.join(malaquita_conteo_pais)
In [ ]:
malaquita_riqueza_gdf.head()
Out[ ]:
featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF LEVEL TYPE TLC ADMIN ... FCLASS_ID FCLASS_PL FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA geometry registros
ADM0_ISO
CAN Admin-0 country 1 2 Canada CAN 0 2 Sovereign country 1 Canada ... None None None None None None None None MULTIPOLYGON (((-122.84 49, -122.97421 49.0025... NaN
USA Admin-0 country 1 2 United States of America US1 1 2 Country 1 United States of America ... None None None None None None None None MULTIPOLYGON (((-122.84 49, -120 49, -117.0312... 525.0
ARG Admin-0 country 1 2 Argentina ARG 0 2 Sovereign country 1 Argentina ... None None None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.25 -5... 203.0
CHL Admin-0 country 1 2 Chile CHL 0 2 Sovereign country 1 Chile ... None None None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.63335... NaN
HTI Admin-0 country 1 5 Haiti HTI 0 2 Sovereign country 1 Haiti ... None None None None None None None None MULTIPOLYGON (((-71.71236 19.71446, -71.62487 ... 5.0

5 rows × 169 columns

In [ ]:
malaquita_riqueza_gdf["registros"].fillna(value = 0.0, inplace = True)
<ipython-input-15-5e0c37cde1bd>:1: FutureWarning:

A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.
The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.

For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.



In [ ]:
malaquita_riqueza_gdf.head()
Out[ ]:
featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF LEVEL TYPE TLC ADMIN ... FCLASS_ID FCLASS_PL FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA geometry registros
ADM0_ISO
CAN Admin-0 country 1 2 Canada CAN 0 2 Sovereign country 1 Canada ... None None None None None None None None MULTIPOLYGON (((-122.84 49, -122.97421 49.0025... 0.0
USA Admin-0 country 1 2 United States of America US1 1 2 Country 1 United States of America ... None None None None None None None None MULTIPOLYGON (((-122.84 49, -120 49, -117.0312... 525.0
ARG Admin-0 country 1 2 Argentina ARG 0 2 Sovereign country 1 Argentina ... None None None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.25 -5... 203.0
CHL Admin-0 country 1 2 Chile CHL 0 2 Sovereign country 1 Chile ... None None None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.63335... 0.0
HTI Admin-0 country 1 5 Haiti HTI 0 2 Sovereign country 1 Haiti ... None None None None None None None None MULTIPOLYGON (((-71.71236 19.71446, -71.62487 ... 5.0

5 rows × 169 columns

Se genera un gráfico de coropletas que muestre la riqueza de la especie Siproeta en cada país del continente Americano.¶

In [ ]:
fig, ax = plt.subplots(figsize=(9, 9))
malaquita_riqueza_gdf.plot(
    ax = ax,
    column="registros",
    legend=True,
    cmap='tab20c',
    scheme='quantiles',
    k = 10,
    legend_kwds={"loc": "center left"}
)
paises_america.boundary.plot(ax = ax, color = "blue")
ax.set_title("Fig 4 Riqueza del género Siproeta en America")
ax.set_xlabel("Longitud Geográfica")
ax.set_ylabel("Latitud Geográfica")
Out[ ]:
Text(67.97222222222221, 0.5, 'Latitud Geográfica')
No description has been provided for this image

Se genera un achivo ESRI shapefile con la información de la riqueza de la especie "Siproeta".¶

In [ ]:
malaquita_riqueza_gdf.to_file("malaquita_riqueza.shp")
/usr/local/lib/python3.11/dist-packages/pyogrio/raw.py:723: RuntimeWarning:

Value 328239523 of field POP_EST of feature 1 not successfully written. Possibly due to too larger number with respect to field width

/usr/local/lib/python3.11/dist-packages/pyogrio/raw.py:723: RuntimeWarning:

Value 127575529 of field POP_EST of feature 9 not successfully written. Possibly due to too larger number with respect to field width

/usr/local/lib/python3.11/dist-packages/pyogrio/raw.py:723: RuntimeWarning:

Value 211049527 of field POP_EST of feature 11 not successfully written. Possibly due to too larger number with respect to field width

In [ ]:
#display(malaquita_riqueza_gdf)
featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF LEVEL TYPE TLC ADMIN ... FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA geometry registros category color
ADM0_ISO
CAN Admin-0 country 1 2 Canada CAN 0 2 Sovereign country 1 Canada ... None None None None None None MULTIPOLYGON (((-122.84 49, -122.97421 49.0025... 0.0 1 #440154
USA Admin-0 country 1 2 United States of America US1 1 2 Country 1 United States of America ... None None None None None None MULTIPOLYGON (((-122.84 49, -120 49, -117.0312... 525.0 5 #fde725
ARG Admin-0 country 1 2 Argentina ARG 0 2 Sovereign country 1 Argentina ... None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.25 -5... 203.0 4 #5ec962
CHL Admin-0 country 1 2 Chile CHL 0 2 Sovereign country 1 Chile ... None None None None None None MULTIPOLYGON (((-68.63401 -52.63637, -68.63335... 0.0 1 #440154
HTI Admin-0 country 1 5 Haiti HTI 0 2 Sovereign country 1 Haiti ... None None None None None None MULTIPOLYGON (((-71.71236 19.71446, -71.62487 ... 5.0 1 #440154
DOM Admin-0 country 1 5 Dominican Republic DOM 0 2 Sovereign country 1 Dominican Republic ... None None None None None None MULTIPOLYGON (((-71.7083 18.045, -71.68774 18.... 154.0 3 #21918c
BHS Admin-0 country 1 4 The Bahamas BHS 0 2 Sovereign country 1 The Bahamas ... None None None None None None MULTIPOLYGON (((-78.98 26.79, -78.51 26.87, -7... 0.0 1 #440154
B12 Admin-0 country 1 5 United Kingdom GB1 1 2 Disputed 1 Falkland Islands ... None None None None None None MULTIPOLYGON (((-61.2 -51.85, -60 -51.25, -59.... 0.0 1 #440154
GRL Admin-0 country 1 3 Denmark DN1 1 2 Country 1 Greenland ... None None None None None None MULTIPOLYGON (((-46.76379 82.62796, -43.40644 ... 0.0 1 #440154
MEX Admin-0 country 1 2 Mexico MEX 0 2 Sovereign country 1 Mexico ... None None None None None None MULTIPOLYGON (((-117.12776 32.53534, -115.9913... 9480.0 5 #fde725
URY Admin-0 country 1 4 Uruguay URY 0 2 Sovereign country 1 Uruguay ... None None None None None None MULTIPOLYGON (((-57.62513 -30.21629, -56.97603... 9.0 2 #3b528b
BRA Admin-0 country 1 2 Brazil BRA 0 2 Sovereign country 1 Brazil ... None None None None None None MULTIPOLYGON (((-53.37366 -33.76838, -53.65054... 987.0 5 #fde725
BOL Admin-0 country 1 3 Bolivia BOL 0 2 Sovereign country 1 Bolivia ... None None None None None None MULTIPOLYGON (((-69.52968 -10.95173, -68.78616... 37.0 2 #3b528b
PER Admin-0 country 1 2 Peru PER 0 2 Sovereign country 1 Peru ... None None None None None None MULTIPOLYGON (((-69.89364 -4.29819, -70.79477 ... 189.0 4 #5ec962
COL Admin-0 country 1 2 Colombia COL 0 2 Sovereign country 1 Colombia ... None None None None None None MULTIPOLYGON (((-66.87633 1.25336, -67.06505 1... 591.0 5 #fde725
PAN Admin-0 country 1 4 Panama PAN 0 2 Sovereign country 1 Panama ... None None None None None None MULTIPOLYGON (((-77.35336 8.6705, -77.47472 8.... 448.0 5 #fde725
CRI Admin-0 country 1 5 Costa Rica CRI 0 2 Sovereign country 1 Costa Rica ... None None None None None None MULTIPOLYGON (((-82.5462 9.56613, -82.93289 9.... 1130.0 5 #fde725
NIC Admin-0 country 1 5 Nicaragua NIC 0 2 Sovereign country 1 Nicaragua ... None None None None None None MULTIPOLYGON (((-83.65561 10.93876, -83.89505 ... 198.0 4 #5ec962
HND Admin-0 country 1 5 Honduras HND 0 2 Sovereign country 1 Honduras ... None None None None None None MULTIPOLYGON (((-83.14722 14.99583, -83.48999 ... 225.0 4 #5ec962
SLV Admin-0 country 1 6 El Salvador SLV 0 2 Sovereign country 1 El Salvador ... None None None None None None MULTIPOLYGON (((-89.35333 14.42413, -89.05851 ... 88.0 3 #21918c
GTM Admin-0 country 1 3 Guatemala GTM 0 2 Sovereign country 1 Guatemala ... None None None None None None MULTIPOLYGON (((-92.22775 14.53883, -92.20323 ... 92.0 3 #21918c
BLZ Admin-0 country 1 6 Belize BLZ 0 2 Sovereign country 1 Belize ... None None None None None None MULTIPOLYGON (((-89.14308 17.80832, -89.15091 ... 80.0 3 #21918c
VEN Admin-0 country 1 3 Venezuela VEN 0 2 Sovereign country 1 Venezuela ... None None None None None None MULTIPOLYGON (((-60.73357 5.20028, -60.60118 4... 36.0 2 #3b528b
GUY Admin-0 country 1 4 Guyana GUY 0 2 Sovereign country 1 Guyana ... None None None None None None MULTIPOLYGON (((-56.53939 1.89952, -56.7827 1.... 8.0 1 #440154
SUR Admin-0 country 1 4 Suriname SUR 0 2 Sovereign country 1 Suriname ... None None None None None None MULTIPOLYGON (((-54.52475 2.31185, -55.09759 2... 39.0 2 #3b528b
ECU Admin-0 country 1 3 Ecuador ECU 0 2 Sovereign country 1 Ecuador ... None None None None None None MULTIPOLYGON (((-75.37322 -0.15203, -75.23372 ... 279.0 4 #5ec962
PRI Admin-0 country 1 5 United States of America US1 1 2 Dependency 1 Puerto Rico ... None None None None None None MULTIPOLYGON (((-66.28243 18.51476, -65.7713 1... 182.0 4 #5ec962
JAM Admin-0 country 1 4 Jamaica JAM 0 2 Sovereign country 1 Jamaica ... None None None None None None MULTIPOLYGON (((-77.5696 18.49053, -76.89662 1... 50.0 2 #3b528b
CUB Admin-0 country 1 3 Cuba CU1 1 1 Sovereignty 1 Cuba ... None None None None None None MULTIPOLYGON (((-82.26815 23.18861, -81.40446 ... 121.0 3 #21918c
PRY Admin-0 country 1 4 Paraguay PRY 0 2 Sovereign country 1 Paraguay ... None None None None None None MULTIPOLYGON (((-58.16639 -20.1767, -57.87067 ... 22.0 2 #3b528b
TTO Admin-0 country 1 5 Trinidad and Tobago TTO 0 2 Sovereign country 1 Trinidad and Tobago ... None None None None None None MULTIPOLYGON (((-61.68 10.76, -61.105 10.89, -... 52.0 3 #21918c

31 rows × 171 columns

In [ ]:

In [ ]:
# Biblioteca requerida para mapas interactivos
!pip install mapclassify --quiet

import mapclassify

Uso de capas raster¶

De la página WorldClim se descargaron tres capas en formato raster de registros climáticos mundiales comprendidos desde el año 1970 al 2000 con resolución de 2.5 minutos de arco, estas son variables bioclimáticas utilizadas en la modelación de distribución de especies y / o modelación de nichos ecológicos. Estos archivos raster son importados con la función rasterio del lenguaje de programación Phyton, las variables bioclimáticas seleccionadas que se utilizaron son

BIO1 = Annual Mean Temperature (Temperatura Promedio Anual)
BIO7 = Temperature Annual Range (BIO5-BIO6) (Rango Anual de Temperatura)
BIO12 = Annual Precipitation (Precipitación Anual)
Elev = Elevaciones snmm

Son factores que influyen / determinan la ecología, el hábitat, la biodiversidad, la distribución geográfica y los nichos ecológicos de las diversidades de especies existentes.

Se importa e instala la libería rasterio para manejo de archivos raster¶

In [ ]:
# Instalación de rasterio
!pip install rasterio --quiet

# Carga de rasterio
import rasterio

# Carga de rasterio.plot (para graficar datos raster)
import rasterio.plot
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.2/22.2 MB 50.7 MB/s eta 0:00:00
In [ ]:
# Carga de rasterio
import rasterio

# Carga de rasterio.plot (para graficar datos raster)
import rasterio.plot

Se cargan las capas raster seleccionadas:¶

annual mean temperature
annual precipitation
temperature annual range
elevations

Se procede a generar los gráficos de cada una de las capas raster importadas.

In [ ]:
annual_mean_temperature = rasterio.open("wc2.1_2.5m_bio_1.tif")
temperature_annual_range = rasterio.open("wc2.1_2.5m_bio_7.tif")
annual_precipitation = rasterio.open("wc2.1_2.5m_bio_12.tif")
elevaciones = rasterio.open("wc2.1_2.5m_elev.tif")
In [ ]:
fig, (ax1, ax2) = plt.subplots(nrows = 1, ncols = 2,
                               figsize=(10, 8),
                               sharex = False, sharey = False)
ax1 = rasterio.plot.show(annual_mean_temperature,
    cmap="vanimo", # colores
    ax=ax1,
    title="Fig 5 Temperatura media anual")
# Agregar una leyenda
cbar = fig.colorbar(ax1.images[0], ax=ax1, shrink=0.5)
cbar.set_label('°C')

# Limitar el rango de los ejes
ax1.set_xlim(-170.0, -30.0)
ax1.set_ylim(-90.0, 90.0)

ax2 = rasterio.plot.show(annual_precipitation,
                       cmap="seismic",
                       ax = ax2,
                       title= "Fig 6 Precipitación Media Anual")
cbar = fig.colorbar(ax2.images[0], ax=ax2, shrink=0.5)
cbar.set_label('mm')
ax2.set_xlim(-170.0, -30.0)
ax2.set_ylim(-90.0, 90.0)
plt.savefig("Rasters1.png")

fig, (ax3, ax4) = plt.subplots(nrows = 1, ncols = 2,
                               figsize=(10, 8),
                               sharex = False, sharey = False)
ax3 = rasterio.plot.show(temperature_annual_range,
                         cmap = "coolwarm",
                         ax = ax3,
                         title = "Fig 7 Rango de Temperatura")
cbar = fig.colorbar(ax3.images[0], ax=ax3, shrink=0.5)
cbar.set_label('°C')
ax3.set_xlim(-170.0, -30.0)
ax3.set_ylim(-90.0, 90.0)

ax4 = rasterio.plot.show(elevaciones,
                         cmap = "terrain",
                         ax = ax4,
                         title = "Fig 8 Elevaciones")
cbar = fig.colorbar(ax4.images[0], ax=ax4, shrink=0.5)
cbar.set_label('msnmm')
ax4.set_xlim(-170.0, -30.0)
ax4.set_ylim(-90.0, 90.0)

plt.savefig("Rasters2.png")
plt.show()
No description has been provided for this image
No description has been provided for this image

Se genera un mapa interactivo con los datos obtenidos de la especie y las capas raster¶

Se instala la librería leafmap

In [ ]:
!pip install leafmap --quiet
!pip install localtileserver --quiet

import leafmap
import leafmap.colormaps as cm
from matplotlib.colors import LinearSegmentedColormap #Rampas de Colores
from google.colab import output
output.enable_custom_widget_manager() #Widget de Java Script
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /packages/b3/80/5efeffec1661e8d21596e273c02dc3e8e5232c3184f2414f8703145ddd50/leafmap-0.42.13-py2.py3-none-any.whl
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/519.2 kB ? eta -:--:--
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 519.2/519.2 kB 24.8 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 219.1/219.1 kB 18.1 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.7/7.7 MB 103.5 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.4/41.4 kB 3.2 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 108.6/108.6 kB 8.6 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 73.6 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 765.5/765.5 kB 42.9 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 194.2/194.2 kB 15.7 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.0/74.0 kB 6.1 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 62.8 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.1/17.1 MB 73.6 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 23.0 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 267.5/267.5 kB 21.4 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.8/52.8 kB 4.1 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.5/49.5 kB 3.4 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 195.0/195.0 kB 14.7 MB/s eta 0:00:00
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.3/62.3 kB 5.1 MB/s eta 0:00:00
In [ ]:
malaquita_riqueza_shp = gpd.read_file(f"malaquita_riqueza.shp")
malaquita_riqueza_shp["area"] = malaquita_riqueza_shp.area
malaquita_riqueza_shp["boundary"] = malaquita_riqueza_shp.boundary
malaquita_riqueza_shp["centroid"] = malaquita_riqueza_shp.centroid
malaquita_riqueza_shp
Out[ ]:
ADM0_ISO featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF LEVEL TYPE TLC ... FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA registros geometry area boundary centroid
0 CAN Admin-0 country 1 2 Canada CAN 0 2 Sovereign country 1 ... None None None None None NaN MULTIPOLYGON (((-122.84 49, -122.97421 49.0025... 1712.995228 MULTILINESTRING ((-122.84 49, -122.97421 49.00... POINT (-98.14238 61.46908)
1 USA Admin-0 country 1 2 United States of America US1 1 2 Country 1 ... None None None None None 525.0 MULTIPOLYGON (((-122.84 49, -120 49, -117.0312... 1122.281921 MULTILINESTRING ((-122.84 49, -120 49, -117.03... POINT (-112.59944 45.70563)
2 ARG Admin-0 country 1 2 Argentina ARG 0 2 Sovereign country 1 ... None None None None None 203.0 MULTIPOLYGON (((-68.63401 -52.63637, -68.25 -5... 278.923392 MULTILINESTRING ((-68.63401 -52.63637, -68.25 ... POINT (-65.17536 -35.44682)
3 CHL Admin-0 country 1 2 Chile CHL 0 2 Sovereign country 1 ... None None None None None NaN MULTIPOLYGON (((-68.63401 -52.63637, -68.63335... 86.508469 MULTILINESTRING ((-68.63401 -52.63637, -68.633... POINT (-71.52064 -39.04701)
4 HTI Admin-0 country 1 5 Haiti HTI 0 2 Sovereign country 1 ... None None None None None 5.0 POLYGON ((-71.71236 19.71446, -71.62487 19.169... 2.447114 LINESTRING (-71.71236 19.71446, -71.62487 19.1... POINT (-72.65801 18.9007)
5 DOM Admin-0 country 1 5 Dominican Republic DOM 0 2 Sovereign country 1 ... None None None None None 154.0 POLYGON ((-71.7083 18.045, -71.68774 18.31666,... 4.129206 LINESTRING (-71.7083 18.045, -71.68774 18.3166... POINT (-70.46236 18.88449)
6 BHS Admin-0 country 1 4 The Bahamas BHS 0 2 Sovereign country 1 ... None None None None None NaN MULTIPOLYGON (((-78.98 26.79, -78.51 26.87, -7... 1.399757 MULTILINESTRING ((-78.98 26.79, -78.51 26.87, ... POINT (-77.92997 25.51549)
7 B12 Admin-0 country 1 5 United Kingdom GB1 1 2 Disputed 1 ... None None None None None NaN POLYGON ((-61.2 -51.85, -60 -51.25, -59.15 -51... 2.128750 LINESTRING (-61.2 -51.85, -60 -51.25, -59.15 -... POINT (-59.42097 -51.71322)
8 GRL Admin-0 country 1 3 Denmark DN1 1 2 Country 1 ... None None None None None NaN POLYGON ((-46.76379 82.62796, -43.40644 83.225... 677.509565 LINESTRING (-46.76379 82.62796, -43.40644 83.2... POINT (-41.50018 74.77049)
9 MEX Admin-0 country 1 2 Mexico MEX 0 2 Sovereign country 1 ... None None None None None 9480.0 POLYGON ((-117.12776 32.53534, -115.99135 32.6... 175.207341 LINESTRING (-117.12776 32.53534, -115.99135 32... POINT (-102.57635 23.93537)
10 URY Admin-0 country 1 4 Uruguay URY 0 2 Sovereign country 1 ... None None None None None 9.0 POLYGON ((-57.62513 -30.21629, -56.97603 -30.1... 17.027171 LINESTRING (-57.62513 -30.21629, -56.97603 -30... POINT (-56.00328 -32.7809)
11 BRA Admin-0 country 1 2 Brazil BRA 0 2 Sovereign country 1 ... None None None None None 987.0 POLYGON ((-53.37366 -33.76838, -53.65054 -33.2... 710.185243 LINESTRING (-53.37366 -33.76838, -53.65054 -33... POINT (-53.05434 -10.80677)
12 BOL Admin-0 country 1 3 Bolivia BOL 0 2 Sovereign country 1 ... None None None None None 37.0 POLYGON ((-69.52968 -10.95173, -68.78616 -11.0... 92.077173 LINESTRING (-69.52968 -10.95173, -68.78616 -11... POINT (-64.64141 -16.72899)
13 PER Admin-0 country 1 2 Peru PER 0 2 Sovereign country 1 ... None None None None None 189.0 POLYGON ((-69.89364 -4.29819, -70.79477 -4.251... 108.049821 LINESTRING (-69.89364 -4.29819, -70.79477 -4.2... POINT (-74.39181 -9.19156)
14 COL Admin-0 country 1 2 Colombia COL 0 2 Sovereign country 1 ... None None None None None 591.0 POLYGON ((-66.87633 1.25336, -67.06505 1.13011... 93.945155 LINESTRING (-66.87633 1.25336, -67.06505 1.130... POINT (-73.07773 3.92721)
15 PAN Admin-0 country 1 4 Panama PAN 0 2 Sovereign country 1 ... None None None None None 448.0 POLYGON ((-77.35336 8.6705, -77.47472 8.52429,... 6.181283 LINESTRING (-77.35336 8.6705, -77.47472 8.5242... POINT (-80.10916 8.53002)
16 CRI Admin-0 country 1 5 Costa Rica CRI 0 2 Sovereign country 1 ... None None None None None 1130.0 POLYGON ((-82.5462 9.56613, -82.93289 9.47681,... 4.438723 LINESTRING (-82.5462 9.56613, -82.93289 9.4768... POINT (-84.17542 9.96567)
17 NIC Admin-0 country 1 5 Nicaragua NIC 0 2 Sovereign country 1 ... None None None None None 198.0 POLYGON ((-83.65561 10.93876, -83.89505 10.726... 10.788943 LINESTRING (-83.65561 10.93876, -83.89505 10.7... POINT (-85.02032 12.84819)
18 HND Admin-0 country 1 5 Honduras HND 0 2 Sovereign country 1 ... None None None None None 225.0 POLYGON ((-83.14722 14.99583, -83.48999 15.016... 9.554616 LINESTRING (-83.14722 14.99583, -83.48999 15.0... POINT (-86.58996 14.82295)
19 SLV Admin-0 country 1 6 El Salvador SLV 0 2 Sovereign country 1 ... None None None None None 88.0 POLYGON ((-89.35333 14.42413, -89.05851 14.340... 1.746088 LINESTRING (-89.35333 14.42413, -89.05851 14.3... POINT (-88.8729 13.72609)
20 GTM Admin-0 country 1 3 Guatemala GTM 0 2 Sovereign country 1 ... None None None None None 92.0 POLYGON ((-92.22775 14.53883, -92.20323 14.830... 9.228473 LINESTRING (-92.22775 14.53883, -92.20323 14.8... POINT (-90.36946 15.69936)
21 BLZ Admin-0 country 1 6 Belize BLZ 0 2 Sovereign country 1 ... None None None None None 80.0 POLYGON ((-89.14308 17.80832, -89.15091 17.955... 1.872603 LINESTRING (-89.14308 17.80832, -89.15091 17.9... POINT (-88.70342 17.19709)
22 VEN Admin-0 country 1 3 Venezuela VEN 0 2 Sovereign country 1 ... None None None None None 36.0 POLYGON ((-60.73357 5.20028, -60.60118 4.9181,... 74.438502 LINESTRING (-60.73357 5.20028, -60.60118 4.918... POINT (-66.16383 7.16213)
23 GUY Admin-0 country 1 4 Guyana GUY 0 2 Sovereign country 1 ... None None None None None 8.0 POLYGON ((-56.53939 1.89952, -56.7827 1.86371,... 17.110779 LINESTRING (-56.53939 1.89952, -56.7827 1.8637... POINT (-58.9712 4.79023)
24 SUR Admin-0 country 1 4 Suriname SUR 0 2 Sovereign country 1 ... None None None None None 39.0 POLYGON ((-54.52475 2.31185, -55.09759 2.52375... 11.751504 LINESTRING (-54.52475 2.31185, -55.09759 2.523... POINT (-55.91146 4.12001)
25 ECU Admin-0 country 1 3 Ecuador ECU 0 2 Sovereign country 1 ... None None None None None 279.0 POLYGON ((-75.37322 -0.15203, -75.23372 -0.911... 20.382425 LINESTRING (-75.37322 -0.15203, -75.23372 -0.9... POINT (-78.38417 -1.45477)
26 PRI Admin-0 country 1 5 United States of America US1 1 2 Dependency 1 ... None None None None None 182.0 POLYGON ((-66.28243 18.51476, -65.7713 18.4266... 0.788009 LINESTRING (-66.28243 18.51476, -65.7713 18.42... POINT (-66.47922 18.23722)
27 JAM Admin-0 country 1 4 Jamaica JAM 0 2 Sovereign country 1 ... None None None None None 50.0 POLYGON ((-77.5696 18.49053, -76.89662 18.4008... 1.063979 LINESTRING (-77.5696 18.49053, -76.89662 18.40... POINT (-77.32425 18.13764)
28 CUB Admin-0 country 1 3 Cuba CU1 1 1 Sovereignty 1 ... None None None None None 121.0 POLYGON ((-82.26815 23.18861, -81.40446 23.117... 10.022627 LINESTRING (-82.26815 23.18861, -81.40446 23.1... POINT (-78.96068 21.63175)
29 PRY Admin-0 country 1 4 Paraguay PRY 0 2 Sovereign country 1 ... None None None None None 22.0 POLYGON ((-58.16639 -20.1767, -57.87067 -20.73... 35.429306 LINESTRING (-58.16639 -20.1767, -57.87067 -20.... POINT (-58.38739 -23.24804)
30 TTO Admin-0 country 1 5 Trinidad and Tobago TTO 0 2 Sovereign country 1 ... None None None None None 52.0 POLYGON ((-61.68 10.76, -61.105 10.89, -60.895... 0.639000 LINESTRING (-61.68 10.76, -61.105 10.89, -60.8... POINT (-61.33037 10.42824)

31 rows × 173 columns

In [ ]:
m = leafmap.Map(
    center=(0.0, -80.0),
    zoom=2, # Rango 1 - 20
    width="800px",
    height="800px",
    #zoom_control=True,
    #draw_control=False,
    #scale_control=True,
    fullscreen_control=False,
    attribution_control=False,
    toolbar_control=True
)

m.add_raster(
    elevaciones,
    colormap='coolwarm',
    layer_name='Elevación snmm'
)

m.add_data(malaquita_riqueza_gdf,
           column = "registros",
           scheme='quantiles',
           cmap='viridis',
           layer_name= "Riqueza Siproeta",
           legend_title= "Riqueza Siproeta"
           #tooltip=['ADMIN', 'registros']
           )

m
Map(center=[0.0, 0.0], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title', 'zoom_out_t…

Conclusiones:¶

Se utilizaron las librerías del lenguaje de programación Phyton para la importación, depuración, estructuración de DataFrames y GeodataFrames, así como para la importación de capas en formato raster GeoTIFF, se descargaron de la nube o web capas raster con variables climáticas en una resolución de pixel de 2.5 minutos de arco y una capa raster de elevasiones snmm (sobre nivel medio del mar) implementándose en el graficado de la especie Siproeta. El lepidótero mostró tener un distribución nativa en el contiente americano, desde Texas (USA) hasta el Brasil. El páis con mayor número de registros es los Estados Unidos Mexicanos (México); Canada, Groenladia, Chile no presentaron registros de la presencia de la especie, no se descarta que en un futuro se registren observaciones como es el caso del lepidóptero Danaus plexippus con registros desde el Canada hasta el Brasil. Se generó un mapa interactivo con la librería leafmap para sobreponer o un "stack" de la imagen raster de elevaciones snmm y la capa (layer) de los registros del lepidóptero en el continente americano, en donde el lepidóptero puede habitar desde los O mts snmm hasta los 3,000 mts snmm. Procesados a posteriori pueden arrojar información sobre zonas geográficas de distribución, como es el caso de los Estados Unidos Mexicanos que presenta la región del Neoártico y del Neotrópico, o perpetrarse análisis de modelación de nichos ecológicos que pueden ser de utilidad para posible aprovechamiento de la especie como un polinizador en la agricultura regenerativa y regeneración de hábitats.

Referencias:¶

Britannica
CEUPE
Diccionario de la lengua española
EPSG
ESRI Shapefile
GBIF
GEOPACKAGE
GeoPandas
INaturalistMX
LeafMap
Pandas
Phyton
Rasterio
Scielo Mexico
Wikipedia
Wiley online library
WorldClim

In [ ]: