Spaces:
Sleeping
Sleeping
File size: 4,663 Bytes
925969f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Cargar TerraClimate y geometria de México"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e9cedd8043c54aceb1d5e8d381b4bcd0",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Map(center=[23.916287330629192, -102.18542161782723], controls=(WidgetControl(options=['position', 'transparen…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import ee\n",
"import geemap\n",
"\n",
"# Carga de Terra Climate y declaracion de parámetros\n",
"img_coll = ee.ImageCollection(\"IDAHO_EPSCOR/TERRACLIMATE\")\n",
"scale_img_coll = 4638.3\n",
"img_coll_start_year = 1958 # Empezando en Enero\n",
"img_coll_end_year = 2022 # Terminando en Diciembre\n",
"\n",
"# Geometria de México\n",
"fc_polygons_countries = ee.FeatureCollection(\"USDOS/LSIB/2017\")\n",
"geom_mexico = fc_polygons_countries.filter(ee.Filter.eq(\"COUNTRY_NA\",\"Mexico\")).first().geometry()\n",
"\n",
"# Banda de interés\n",
"banda_interes = \"pdsi\"\n",
"\n",
"# Escalar a unidades \"reales\"\n",
"def scalling_funcion_pdsi(img):\n",
" return img.multiply(0.01).copyProperties(img, img.propertyNames())\n",
"\n",
"# Dar como propiedad a la imagen: date_month y date_year\n",
"def create_month_year(img):\n",
" full_date = ee.Date(ee.Number(img.get(\"system:time_start\")))\n",
" date_year = ee.Number(full_date.get(\"year\"))\n",
" date_month = ee.Number(full_date.get(\"month\"))\n",
" return img.set({\"date_month\": date_month, \"date_year\": date_year})\n",
"\n",
"\n",
"# Cargar datos, seleccionar banda, escalarlos y limitarlos a la mexico\n",
"img_coll_pdsi = img_coll.select(banda_interes).filterBounds(geom_mexico).map(scalling_funcion_pdsi)\n",
"\n",
"# Etiquetar date_month y date_year como prop de la imagen\n",
"img_coll_pdsi_tag_month_year = img_coll_pdsi.map(create_month_year)#.map(lambda img: img.clip(geom_mexico))\n",
"\n",
"\"\"\"\n",
"# Crear una ImageCollection con n Images de a 12 bandas cada una.\n",
"# n -> numero de años que tenga la ImageCollection\n",
"# 12 bandas -> 1 banda = 1 mes\n",
"list_new_collection_by_year = ee.List.sequence(img_coll_start_year, img_coll_end_year)\\\n",
" .map(\n",
" lambda element: img_coll_pdsi_tag_month_year\\\n",
" .filter(ee.Filter.eq(\"date_year\", element))\\\n",
" .toBands()\\\n",
" .set({\"date_year\": element})\\\n",
" .rename(list(map(lambda x: '0'+str(x) if x <=9 else str(x), range(1,13))))\n",
" )\n",
"\n",
"final_data_img_coll = ee.ImageCollection.fromImages(list_new_collection_by_year)\n",
"img_coll_2_geemap = final_data_img_coll.toBands()\"\"\"\n",
"\n",
"\n",
"labels_dates = list()\n",
"for year in range(1958,2023):\n",
" for month in list(map(lambda x: '0'+str(x) if x <= 9 else str(x), range(1,13))):\n",
" date_year_month_str = str(year) + \"-\" + month + \"-01\"\n",
" labels_dates.append(date_year_month_str)\n",
"\n",
"mapVisParamsPDSI = dict(min = -5, max = 5, palette = [\"FB322C\", \"FFFFFF\", \"039DAB\"])\n",
"\n",
"\n",
"Mapa = geemap.Map(basemap = \"CartoDB.DarkMatter\")\n",
"Mapa.center_object(geom_mexico, 5)\n",
"Mapa.add_time_slider(img_coll_pdsi_tag_month_year, mapVisParamsPDSI,\n",
" layer_name = \"Índice de Severidad de Sequía de Palmer\",\n",
" labels = labels_dates,\n",
" position='bottomleft',\n",
" slider_length = \"300px\",\n",
" time_interval=1)\n",
"Mapa\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.8.15"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
|