{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![title](https://rs.gbif.org/style/logo.svg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#
GBIF: cartografía de la distribución de especies
\n", "
Roque Leal
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La Infraestructura Mundial de Información en Biodiversidad [GBIF](https://www.gbif.org/) integra información cartográfica con datos de biodiversidad a nivel mundial. Actualmente están integrados 53 países en todo el mundo así como 43 organizaciones internacionales bajo el objetivo de proporcionar un acceso libre a la información vinculada con la biodiversidad.(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Es decir que nuestros amigos de GBIF, nos permiten consultar registros de observación de Especies disponibles en las principales colecciones naturales de los paises bajo un esquema (2) que bien nos señala [@daiesco](https://twitter.com/daiesco/status/1235590635450781699?ref_src=twsrc%5Etfw)\n", "

The schema in GBIF Colombia 🇨🇴 (pic.twitter.com/xTGRxbqjRb

— Dairo Escobar (@daiesco) March 5, 2020
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Latinoamérica dispone de un gran riqueza en biodiversidad, razón por la cual es oportuna la ocasión de realizar un ejercicio práctico para contar una historia; en este caso de las Especies protegidas bajo la Convención sobre el Comercio Internacional de Especies Amenazadas de Fauna y Flora Silvestres [CITES](https://es.wikipedia.org/wiki/CITES) (3) utilizando como referencia el listado de Especies asociado a Venezuela, el cual puede consultaremos usando el API de [SPECIES+/CITES CHECKLIST API](http://checklist.cites.org/#/en) (4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](https://www.roqueleal.me/images/cites.jpg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Venezuela además del petróleo, ocupa el séptimo lugar dentro de los países con mayor biodiversidad del mundo [(5)](https://es.wikipedia.org/wiki/Biodiversidad_de_Venezuela) por lo que analizar la distribución de sus Especies protegidas nos puede dar un vistazo más definido sobre la magnitud de la biodiversidad venezolana además de su distribución espacial utilizando estas dos valiosas fuentes de datos, basado en el script de consulta Python desarrollado por [Marie Grosjean](https://github.com/ManonGros/Small-scripts-using-GBIF-API/blob/master/query_species_list/functions_query_from_species_list.py) (6) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fuente de los Datos\n", "\n", "Se necesitarán las siguientes fuentes de datos para extraer y generar la información requerida:\n", "\n", "1.- Consultar el GBIF API utilizando nuestras credenciales. (1)\n", "\n", "2.- Lista de Especies protegidas bajo el Convenio CITES para Venezuela. (4)\n", "\n", "3.- Script de Funciones para la consulta del GBIF API de consulta Python. (6)\n", "\n", "Los datos se utilizarán en los siguientes procesos:\n", "\n", "**1- Para descubrir la distribución espacial y datos de observación de las especies.**\n", "\n", "**2- Para identificar las Especies CITES en Venezuela.**\n", "\n", "**3- Para crear los query's de consultas.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Librerias" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "#Libreria de pandas\n", "import pandas as pd\n", "#Libreria de kepler-gl\n", "from keplergl import KeplerGl\n", "# Scripts de funciones https://github.com/ManonGros/Small-scripts-using-GBIF-API/blob/master/query_species_list/functions_query_from_species_list.py\n", "from functions_query_from_species_list import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Constantes" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Credenciales para el API de GBIF\n", "GBIF_USER_NAME = \"xxx\"\n", "GBIF_PASSWORD = \"xxx\"\n", "GBIF_NOTIFICATION_ADDRESSES = \"xxx\"\n", "GBIF_DOWNLOAD_FORMAT = \"SIMPLE_CSV\"\n", "\n", "# Directorio de entrada \n", "INPUT_DIR = \"C:/Users/xxx/\"\n", "\n", "# Archivo CSV de entrada con lista de especies a procesar tomado de la Lista de Especies protegidas bajo el Convenio CITES para Venezuela. (4)\n", "INPUT_CHECKLIST = INPUT_DIR + \"cites_vzla.csv\"\n", "# Columna con el nombre científico de la especie\n", "INPUT_SCINAME_COL = \"full_name\"\n", "\n", "# Directorio de salida\n", "OUTPUT_DIR = \"C:/Users/xxx/\"\n", "\n", "# Archivo CSV con especies del archivo de entrada que se procesan\n", "INPUT_CHECKLIST_PROCESSED_SPECIES = OUTPUT_DIR + \"especies-procesadas.csv\"\n", "\n", "# Archivo CSV con especies del archivo de entrada que no se procesan\n", "INPUT_CHECKLIST_NON_PROCESSED_SPECIES = OUTPUT_DIR + \"especies-no-procesadas.csv\"\n", "\n", "# Archivo CSV de salida con los registros de presencia de todas las especies\n", "OCCURRENCES_CSV = INPUT_DIR + \"especies-procesadas.csv\"\n", "\n", "# Número máximo de registros a desplegar en los dataframes de Pandas\n", "pd.options.display.max_rows = 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Carga de datos" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idkingdom_namephylum_nameclass_nameorder_namefamily_namegenus_namespecies_namesubspecies_namefull_name...synonyms_with_authorsenglish_namesspanish_namesfrench_namescountries_iso_codescountries_full_namescurrent_listingcurrent_parties_iso_codescurrent_parties_full_namescurrent_listing_changes
082867PlantaeNaNNaNOrchidalesOrchidaceaeEpidendrumagathosmicumNaNEpidendrum agathosmicum...[List][List][List][List][List][List]II[List][List][List]
181567PlantaeNaNNaNOrchidalesOrchidaceaeEpidendrumalpicolaNaNEpidendrum alpicola...[List][List][List][List][List][List]II[List][List][List]
..................................................................
17444281AnimaliaChordataAvesApodiformesTrochilidaeTopazapellaNaNTopaza pella...[List][List][List][List][List][List]II[List][List][List]
17455338AnimaliaChordataAvesApodiformesTrochilidaeTopazapyraNaNTopaza pyra...[List][List][List][List][List][List]II[List][List][List]
\n", "

1746 rows × 23 columns

\n", "
" ], "text/plain": [ " id kingdom_name phylum_name class_name order_name family_name \\\n", "0 82867 Plantae NaN NaN Orchidales Orchidaceae \n", "1 81567 Plantae NaN NaN Orchidales Orchidaceae \n", "... ... ... ... ... ... ... \n", "1744 4281 Animalia Chordata Aves Apodiformes Trochilidae \n", "1745 5338 Animalia Chordata Aves Apodiformes Trochilidae \n", "\n", " genus_name species_name subspecies_name full_name \\\n", "0 Epidendrum agathosmicum NaN Epidendrum agathosmicum \n", "1 Epidendrum alpicola NaN Epidendrum alpicola \n", "... ... ... ... ... \n", "1744 Topaza pella NaN Topaza pella \n", "1745 Topaza pyra NaN Topaza pyra \n", "\n", " ... synonyms_with_authors english_names \\\n", "0 ... [List] [List] \n", "1 ... [List] [List] \n", "... ... ... ... \n", "1744 ... [List] [List] \n", "1745 ... [List] [List] \n", "\n", " spanish_names french_names countries_iso_codes countries_full_names \\\n", "0 [List] [List] [List] [List] \n", "1 [List] [List] [List] [List] \n", "... ... ... ... ... \n", "1744 [List] [List] [List] [List] \n", "1745 [List] [List] [List] [List] \n", "\n", " current_listing current_parties_iso_codes current_parties_full_names \\\n", "0 II [List] [List] \n", "1 II [List] [List] \n", "... ... ... ... \n", "1744 II [List] [List] \n", "1745 II [List] [List] \n", "\n", " current_listing_changes \n", "0 [List] \n", "1 [List] \n", "... ... \n", "1744 [List] \n", "1745 [List] \n", "\n", "[1746 rows x 23 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Carga del archivo CSV de entrada (Lista de Especies CITES) en un dataframe de Pandas\n", "input_species_df = pd.read_csv(INPUT_CHECKLIST, encoding='utf_8')\n", "input_species_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Tenemos para Venezuela 1746 Especies protegidas por el CITES**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Se obtienen las llaves de las especies a través del API de GBIF\n", "gbif_species_df = match_species(input_species_df, INPUT_SCINAME_COL)\n", "\n", "gbif_species_df" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Se construye una lista de nombres que van a procesarse\n", "gbif_species_processed_df = gbif_species_df.loc[(gbif_species_df[\"matchType\"]==\"EXACT\")]\n", "gbif_species_processed_df.to_csv(INPUT_CHECKLIST_PROCESSED_SPECIES)\n", "\n", "gbif_species_processed_df" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
canonicalNameclassclassKeyconfidencefamilyfamilyKeygenusgenusKeyinputNamekingdom...orderKeyphylumphylumKeyrankscientificNamespeciesspeciesKeystatussynonymusageKey
\n", "

0 rows × 24 columns

\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [canonicalName, class, classKey, confidence, family, familyKey, genus, genusKey, inputName, kingdom, kingdomKey, matchType, note, order, orderKey, phylum, phylumKey, rank, scientificName, species, speciesKey, status, synonym, usageKey]\n", "Index: []\n", "\n", "[0 rows x 24 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Se construye una lista de nombres que no van a procesarse\n", "gbif_species_non_processed_df = gbif_species_df.loc[~((gbif_species_df[\"matchType\"]==\"EXACT\"))]\n", "gbif_species_non_processed_df.to_csv(INPUT_CHECKLIST_NON_PROCESSED_SPECIES)\n", "\n", "gbif_species_non_processed_df" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[5959225]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Se separa la lista de llaves\n", "key_list = gbif_species_processed_df.usageKey.tolist()\n", "\n", "key_list" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aqui construiremos la consula que nos permitirá descargar el listado de las Especies y sus datos comprimidos en un ZIP y que podremos descargar desde el modulo de descargas del portal de GBIF dentro de la cuenta del usuario" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'creator': 'roqueleal',\n", " 'notificationAddresses': ['roqueleal@gmail.com'],\n", " 'sendNotification': True,\n", " 'format': 'SIMPLE_CSV',\n", " 'predicate': {'type': 'and',\n", " 'predicates': [{'type': 'equals', 'key': 'HAS_COORDINATE', 'value': 'true'},\n", " {'type': 'equals', 'key': 'HAS_GEOSPATIAL_ISSUE', 'value': 'false'},\n", " {'type': 'in', 'key': 'TAXON_KEY', 'values': [5959225]},\n", " {'type': 'or',\n", " 'predicates': [{'type': 'equals', 'key': 'COUNTRY', 'value': 'VE'}]}]}}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Se construye una consulta para descarga en el portal de GBIF\n", "download_query = {}\n", "download_query[\"creator\"] = GBIF_USER_NAME\n", "download_query[\"notificationAddresses\"] = [GBIF_NOTIFICATION_ADDRESSES]\n", "download_query[\"sendNotification\"] = True\n", "download_query[\"format\"] = GBIF_DOWNLOAD_FORMAT\n", "download_query[\"predicate\"] = {\"type\":\"and\", \"predicates\": \n", " [\n", " {\"type\":\"equals\", \"key\":\"HAS_COORDINATE\", \"value\":\"true\"},\n", " {\"type\":\"equals\", \"key\":\"HAS_GEOSPATIAL_ISSUE\", \"value\":\"false\"}, \n", " {\"type\":\"in\", \"key\": \"TAXON_KEY\", \"values\":key_list},\n", " {\n", " \"type\": \"or\",\n", " \"predicates\": [\n", " {\n", " \"type\": \"equals\",\n", " \"key\": \"COUNTRY\",\n", " \"value\": \"VE\"\n", " }\n", " ]\n", " } \n", " ]\n", " }\n", "\n", "download_query" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ok\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Consulta para el API de GBIF\n", "create_download_given_query(GBIF_USER_NAME, GBIF_PASSWORD, download_query)\n", "\n", "# Respuesta esperada:\n", "# ok\n", "# " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La consulta al API genera un archivo ZIP para descarga en\n", "[https://www.gbif.org/user/download](https://www.gbif.org/user/download)\n", "\n", "**Este dataset son los resulados de las consultas del API de GBIF**" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Anaconda3_64\\lib\\site-packages\\IPython\\core\\interactiveshell.py:2785: DtypeWarning: Columns (10,14,18,39,40,41,43,45,46,48) have mixed types. Specify dtype option on import or set low_memory=False.\n", " interactivity=interactivity, compiler=compiler, result=result)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
gbifIDdatasetKeyoccurrenceIDkingdomphylumclassorderfamilygenusspecies...identifiedBydateIdentifiedlicenserightsHolderrecordedBytypeStatusestablishmentMeanslastInterpretedmediaTypeissue
01211815285c5c4a23e-2035-4416-ab64-032d6df52ddbURI:catalog:ROM:Mammals:107836AnimaliaChordataMammaliaCarnivoraCanidaeCerdocyonCerdocyon thous...NaNNaNCC_BY_NC_4_0Royal Ontario Museum; ROMLim, BK; Lee, Te, Jr; Hanson, JdNaNNaN2020-02-10T20:50:01.515ZNaNCOORDINATE_ROUNDED;GEODETIC_DATUM_ASSUMED_WGS84
1145324162850c9509d-22c7-4a22-a47d-8c48425ef4a7http://www.inaturalist.org/observations/4634444AnimaliaChordataReptiliaSquamataBoidaeEunectesEunectes murinus...NaN2016-11-25T13:09:39ZCC_BY_NC_4_0Brad WalkerBrad WalkerNaNNaN2020-02-19T16:22:29.228ZStillImage;StillImage;StillImage;StillImageGEODETIC_DATUM_ASSUMED_WGS84
..................................................................
1398751317757887821cc27a-e3bb-4bc5-ac34-89ada245069dhttp://n2t.net/ark:/65665/3188edd67-eb6a-4a72-...AnimaliaChordataMammaliaRodentiaCuniculidaeCuniculusCuniculus paca...NaNNaNCC0_1_0NaNSmithsonian Venezuelan ProjectNaNNaN2020-02-13T22:08:24.058ZNaNGEODETIC_DATUM_ASSUMED_WGS84
1398761998558297861e6afe-f762-11e1-a439-00145eb45e9a39f2b678-cec7-4e16-b3e6-ba9a8c310879PlantaeTracheophytaLiliopsidaAsparagalesOrchidaceaeEpidendrumEpidendrum alsum...DunstervilleNaNCC_BY_4_0President and Fellows of Harvard CollegeJ. A. Steyermark & C. Brewer-CariasNaNNaN2020-02-11T00:11:35.141ZNaNGEODETIC_DATUM_ASSUMED_WGS84;GEODETIC_DATUM_IN...
\n", "

139877 rows × 50 columns

\n", "
" ], "text/plain": [ " gbifID datasetKey \\\n", "0 1211815285 c5c4a23e-2035-4416-ab64-032d6df52ddb \n", "1 1453241628 50c9509d-22c7-4a22-a47d-8c48425ef4a7 \n", "... ... ... \n", "139875 1317757887 821cc27a-e3bb-4bc5-ac34-89ada245069d \n", "139876 1998558297 861e6afe-f762-11e1-a439-00145eb45e9a \n", "\n", " occurrenceID kingdom \\\n", "0 URI:catalog:ROM:Mammals:107836 Animalia \n", "1 http://www.inaturalist.org/observations/4634444 Animalia \n", "... ... ... \n", "139875 http://n2t.net/ark:/65665/3188edd67-eb6a-4a72-... Animalia \n", "139876 39f2b678-cec7-4e16-b3e6-ba9a8c310879 Plantae \n", "\n", " phylum class order family genus \\\n", "0 Chordata Mammalia Carnivora Canidae Cerdocyon \n", "1 Chordata Reptilia Squamata Boidae Eunectes \n", "... ... ... ... ... ... \n", "139875 Chordata Mammalia Rodentia Cuniculidae Cuniculus \n", "139876 Tracheophyta Liliopsida Asparagales Orchidaceae Epidendrum \n", "\n", " species ... \\\n", "0 Cerdocyon thous ... \n", "1 Eunectes murinus ... \n", "... ... ... \n", "139875 Cuniculus paca ... \n", "139876 Epidendrum alsum ... \n", "\n", " identifiedBy dateIdentified license \\\n", "0 NaN NaN CC_BY_NC_4_0 \n", "1 NaN 2016-11-25T13:09:39Z CC_BY_NC_4_0 \n", "... ... ... ... \n", "139875 NaN NaN CC0_1_0 \n", "139876 Dunsterville NaN CC_BY_4_0 \n", "\n", " rightsHolder \\\n", "0 Royal Ontario Museum; ROM \n", "1 Brad Walker \n", "... ... \n", "139875 NaN \n", "139876 President and Fellows of Harvard College \n", "\n", " recordedBy typeStatus establishmentMeans \\\n", "0 Lim, BK; Lee, Te, Jr; Hanson, Jd NaN NaN \n", "1 Brad Walker NaN NaN \n", "... ... ... ... \n", "139875 Smithsonian Venezuelan Project NaN NaN \n", "139876 J. A. Steyermark & C. Brewer-Carias NaN NaN \n", "\n", " lastInterpreted mediaType \\\n", "0 2020-02-10T20:50:01.515Z NaN \n", "1 2020-02-19T16:22:29.228Z StillImage;StillImage;StillImage;StillImage \n", "... ... ... \n", "139875 2020-02-13T22:08:24.058Z NaN \n", "139876 2020-02-11T00:11:35.141Z NaN \n", "\n", " issue \n", "0 COORDINATE_ROUNDED;GEODETIC_DATUM_ASSUMED_WGS84 \n", "1 GEODETIC_DATUM_ASSUMED_WGS84 \n", "... ... \n", "139875 GEODETIC_DATUM_ASSUMED_WGS84 \n", "139876 GEODETIC_DATUM_ASSUMED_WGS84;GEODETIC_DATUM_IN... \n", "\n", "[139877 rows x 50 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "occurrences_df = pd.read_csv(OCCURRENCES_CSV, sep='\\t')\n", "\n", "occurrences_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Tenemos un Total de 139.877 registros de observaciones de Especies protegidas por CITES para Venezuela** " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualización\n", "\n", "Vamos a utilizar [kepler.gl](https://github.com/keplergl/kepler.gl/blob/master/docs/keplergl-jupyter/user-guide.md) para visualizar estos datos, igualmente una visualización más completa esta disponible en mi web [www.roqueleal.me](https://www.roqueleal.me/big-data/cites-ve.html)\n", "![title](https://www.roqueleal.me/images/mapcites.jpg)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "User Guide: https://github.com/keplergl/kepler.gl/blob/master/docs/keplergl-jupyter/user-guide.md\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "269161eeefd64a98b84b7b9bfe347a30", "version_major": 2, "version_minor": 0 }, "text/plain": [ "KeplerGl(data={'data_1': {'index': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, …" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vzla_cites = KeplerGl()\n", "vzla_cites.add_data(data=occurrences_df, name='data_1')\n", "vzla_cites" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](https://www.roqueleal.me/images/mapkepler.jpg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Referencias\n", "\n", " 1. Infraestructura Mundial de Información en Biodiversidad: GBIF\n", "\n", "2. @daiesco\n", "\n", "3. CITES\n", "\n", "4. SPECIES+/CITES CHECKLIST API\n", "\n", "5. Biodiversidad de Venezuela\n", "\n", "6. Functions query from species list\n", "\n", "7. Kepler.gl" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 👍👍
Te invito a escribirme tus ideas, tus comentarios y sobre todo compartir tus opiniones🌍
##" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }