Spaces:
Sleeping
Sleeping
import os | |
import leafmap | |
import solara | |
import ipywidgets as widgets | |
from leafmap import leafmap | |
import leafmap.colormaps as cm | |
from leafmap.common import get_image_colormap | |
zoom = solara.reactive(2) | |
center = solara.reactive((20, 0)) | |
maps = { | |
'Agro-ecological Zones: AEZ classification by climate/soil/terrain/LC': 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/LR/aez/aez_v9v2_ENSEMBLE_rcp2p6_2020s.tif', | |
'Koeppen-Geiger (3-character) classification 2011-2040': 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/IPSL-CM5A-LR/rcp4p5/KG3_IPSL-CM5A-LR_rcp4p5_2020s.tif', | |
"Total number of growing period days": 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/GFDL-ESM2M/rcp2p6/TS/lgd_GFDL-ESM2M_rcp2p6_', | |
"Number of dry days during temperature growing period LGPt=5 (days)" : 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/IPSL-CM5A-LR/rcp8p5/TS/ndd2_IPSL-CM5A-LR_rcp8p5_', | |
'Longest period of consecutive dry days in temperature growing period LGPt=5(days)':'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/HadGEM2-ES/rcp2p6/TS/ndd_HadGEM2-ES_rcp2p6_', | |
'Annual temperature amplitude (°C)': 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/NorESM1-M/rcp4p5/TS/td2_NorESM1-M_rcp4p5_', | |
'Mean annual temperature (°C)': 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/MIROC-ESM-CHEM/rcp4p5/TS/tmp_MIROC-ESM-CHEM_rcp4p5_', | |
'Annual precipitation (mm)': 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/MIROC-ESM-CHEM/rcp6p0/TS/prc_MIROC-ESM-CHEM_rcp6p0_', | |
'Total number of rain days (days with P > 1 mm)': 'https://s3.eu-west-1.amazonaws.com/data.gaezdev.aws.fao.org/res01/IPSL-CM5A-LR/rcp4p5/TS/ndr_IPSL-CM5A-LR_rcp4p5_' | |
} | |
anos = list(range(2025, 2041)) | |
#municipios = ee.FeatureCollection('FAO/GAUL_SIMPLIFIED_500m/2015/level2').filter(ee.Filter.eq('ADM0_NAME', 'Brazil')) | |
#municipios_list = | |
# Get the list of municipality names | |
#estados_list = [estados_list] | |
maps_list= list(maps) | |
maps_values= list(maps.values()) | |
aez_colors = { | |
0: "#FFFFFF", # NAA | |
1: "#FFD700", # Tropics, lowland; semi-arid, no soil/terrain limitations | |
2: "#DAA520", # Tropics, lowland; semi-arid, with soil/terrain limitations | |
3: "#32CD32", # Tropics, lowland; sub-humid, no soil/terrain limitations | |
4: "#228B22", # Tropics, lowland; sub-humid, with soil/terrain limitations | |
5: "#008000", # Tropics, lowland; humid, no soil/terrain limitations | |
6: "#006400", # Tropics, lowland; humid, with soil/terrain limitations | |
7: "#FFA500", # Tropics, highland; semi-arid, no soil/terrain limitations | |
8: "#FF8C00", # Tropics, highland; semi-arid, with soil/terrain limitations | |
9: "#7FFF00", # Tropics, highland; sub-humid, no soil/terrain limitations | |
10: "#ADFF2F", # Tropics, highland; sub-humid, with soil/terrain limitations | |
11: "#00FF00", # Tropics, highland; humid, no soil/terrain limitations | |
12: "#00FA9A", # Tropics, highland; humid, with soil/terrain limitations | |
13: "#FF4500", # Sub-tropics, warm; semi-arid, no soil/terrain limitations | |
14: "#FF6347", # Sub-tropics, warm; semi-arid, with soil/terrain limitations | |
15: "#9ACD32", # Sub-tropics, warm; sub-humid, no soil/terrain limitations | |
16: "#6B8E23", # Sub-tropics, warm; sub-humid, with soil/terrain limitations | |
17: "#3CB371", # Sub-tropics, warm; humid, no soil/terrain limitations | |
18: "#2E8B57", # Sub-tropics, warm; humid, with soil/terrain limitations | |
19: "#8B4513", # Sub-tropics, mud, cool; semi-arid, no soil/terrain limitations | |
20: "#A0522D", # Sub-tropics, mud, cool; semi-arid, with soil/terrain limitations | |
21: "#D2B48C", # Sub-tropics, mud, cool; sub-humid, no soil/terrain limitations | |
22: "#BC8F8F", # Sub-tropics, mud, cool; sub-humid, with soil/terrain limitations | |
23: "#8FBC8F", # Sub-tropics, mud, cool; humid, no soil/terrain limitations | |
24: "#556B2F", # Sub-tropics, mud, cool; humid, with soil/terrain limitations | |
25: "#CD853F", # Sub-tropics, cool; semi-arid, no soil/terrain limitations | |
26: "#DEB887", # Sub-tropics, cool; sub-humid, no soil/terrain limitations | |
27: "#F4A460", # Sub-tropics, cool; humid, with soil/terrain limitations | |
28: "#D2691E", # Sub-tropics, cool; humid, no soil/terrain limitations | |
29: "#B0C4DE", # Temperature, moderate; dry, no soil/terrain limitations | |
30: "#87CEEB", # Temperature, moderate; dry, with soil/terrain limitations | |
31: "#ADD8E6", # Temperature, moderate; moist, no soil/terrain limitations | |
32: "#6495ED", # Temperature, moderate; moist, with soil/terrain limitations | |
33: "#1E90FF", # Temperature, moderate; wet, no soil/terrain limitations | |
34: "#0000FF", # Temperature, moderate; wet, with soil/terrain limitations | |
35: "#4682B4", # Temperature, cool; dry, no soil/terrain limitations | |
36: "#5F9EA0", # Temperature, cool; dry, with soil/terrain limitations | |
37: "#00CED1", # Temperature, cool; moist, no soil/terrain limitations | |
38: "#40E0D0", # Temperature, cool; moist, with soil/terrain limitations | |
39: "#00FFFF", # Temperature, cool; wet, no soil/terrain limitations | |
40: "#00BFFF", # Temperature, cool; wet, with soil/terrain limitations | |
41: "#A9A9A9", # Cold, no permafrost; dry, no soil/terrain limitations | |
42: "#808080", # Cold, no permafrost; dry, with soil/terrain limitations | |
43: "#C0C0C0", # Cold, no permafrost; moist, no soil/terrain limitations | |
44: "#D3D3D3", # Cold, no permafrost; moist, with soil/terrain limitations | |
45: "#E0FFFF", # Cold, no permafrost; wet, no soil/terrain limitations | |
46: "#F0FFFF", # Cold, no permafrost; wet, with soil/terrain limitations | |
47: "#8B0000", # Dominantly very steep terrain | |
48: "#FF0000", # Land with severe soil/terrain limitations | |
49: "#00FF00", # Ample irrigated soils | |
50: "#008080", # Dominantly hydromorphic soils | |
51: "#FFDAB9", # Desert/Arid climate | |
52: "#000080", # Boreal/Cold climate | |
53: "#FFFFFF", # Arctic/Very cold climate | |
54: "#A52A2A", # Dominantly built-up land | |
55: "#0000FF" # Dominantly water | |
} | |
aez_dict ={ | |
"NAA": "#FFFFFF", # Branco | |
"Tropics, lowland; semi-arid, no soil/terrain limitations": "#FFD700", # Dourado | |
"Tropics, lowland; semi-arid, with soil/terrain limitations": "#DAA520", # Dourado escuro | |
"Tropics, lowland; sub-humid, no soil/terrain limitations": "#32CD32", # Verde Lima | |
"Tropics, lowland; sub-humid, with soil/terrain limitations": "#228B22", # Verde Floresta | |
"Tropics, lowland; humid, no soil/terrain limitations": "#008000", # Verde | |
"Tropics, lowland; humid, with soil/terrain limitations": "#006400", # Verde Escuro | |
"Tropics, highland; semi-arid, no soil/terrain limitations": "#FFA500", # Laranja | |
"Tropics, highland; semi-arid, with soil/terrain limitations": "#FF8C00", # Laranja Escuro | |
"Tropics, highland; sub-humid, no soil/terrain limitations": "#7FFF00", # Verde Chartreuse | |
"Tropics, highland; sub-humid, with soil/terrain limitations": "#ADFF2F", # Verde Amarelo | |
"Tropics, highland; humid, no soil/terrain limitations": "#00FF00", # Verde Limão | |
"Tropics, highland; humid, with soil/terrain limitations": "#00FA9A", # Verde Médio | |
"Sub-tropics, warm; semi-arid, no soil/terrain limitations": "#FF4500", # Laranja Vermelho | |
"Sub-tropics, warm; semi-arid, with soil/terrain limitations": "#FF6347", # Tomate | |
"Sub-tropics, warm; sub-humid, no soil/terrain limitations": "#9ACD32", # Verde Amarelo Escuro | |
"Sub-tropics, warm; sub-humid, with soil/terrain limitations": "#6B8E23", # Verde Oliva | |
"Sub-tropics, warm; humid, no soil/terrain limitations": "#3CB371", # Verde Mar Médio | |
"Sub-tropics, warm; humid, with soil/terrain limitations": "#2E8B57", # Verde Mar | |
"Sub-tropics, mud, cool; semi-arid, no soil/terrain limitations": "#8B4513", # Marrom Sela | |
"Sub-tropics, mud, cool; semi-arid, with soil/terrain limitations": "#A0522D", # Sienna | |
"Sub-tropics, mud, cool; sub-humid, no soil/terrain limitations": "#D2B48C", # Tan | |
"Sub-tropics, mud, cool; sub-humid, with soil/terrain limitations": "#BC8F8F", # Rosa Marrom | |
"Sub-tropics, mud, cool; humid, no soil/terrain limitations": "#8FBC8F", # Verde Mar Claro | |
"Sub-tropics, mud, cool; humid, with soil/terrain limitations": "#556B2F", # Verde Oliva Escuro | |
"Sub-tropics, cool; semi-arid, no soil/terrain limitations": "#CD853F", # Peru | |
"Sub-tropics, cool; sub-humid, no soil/terrain limitations": "#DEB887", # Burlywood | |
"Sub-tropics, cool; humid, with soil/terrain limitations": "#F4A460", # Sandy Brown | |
"Sub-tropics, cool; humid, no soil/terrain limitations": "#D2691E", # Chocolate | |
"Temperature, moderate; dry, no soil/terrain limitations": "#B0C4DE", # Azul Aço Claro | |
"Temperature, moderate; dry, with soil/terrain limitations": "#87CEEB", # Céu Azul | |
"Temperature, moderate; moist, no soil/terrain limitations": "#ADD8E6", # Azul Claro | |
"Temperature, moderate; moist, with soil/terrain limitations": "#6495ED", # Azul Cornflower | |
"Temperature, moderate; wet, no soil/terrain limitations": "#1E90FF", # Azul Dodger | |
"Temperature, moderate; wet, with soil/terrain limitations": "#0000FF", # Azul | |
"Temperature, cool; dry, no soil/terrain limitations": "#4682B4", # Azul Aço | |
"Temperature, cool; dry, with soil/terrain limitations": "#5F9EA0", # Azul Cadet | |
"Temperature, cool; moist, no soil/terrain limitations": "#00CED1", # Azul Turquesa Escuro | |
"Temperature, cool; moist, with soil/terrain limitations": "#40E0D0", # Turquesa | |
"Temperature, cool; wet, no soil/terrain limitations": "#00FFFF", # Ciano | |
"Temperature, cool; wet, with soil/terrain limitations": "#00BFFF", # Azul Céu Profundo | |
"Cold, no permafrost; dry, no soil/terrain limitations": "#A9A9A9", # Cinza Escuro | |
"Cold, no permafrost; dry, with soil/terrain limitations": "#808080", # Cinza | |
"Cold, no permafrost; moist, no soil/terrain limitations": "#C0C0C0", # Prata | |
"Cold, no permafrost; moist, with soil/terrain limitations": "#D3D3D3", # Cinza Claro | |
"Cold, no permafrost; wet, no soil/terrain limitations": "#E0FFFF", # Azul Claro Claro | |
"Cold, no permafrost; wet, with soil/terrain limitations": "#F0FFFF", # Azul Celeste | |
"Dominantly very steep terrain": "#8B0000", # Vermelho Escuro | |
"Land with severe soil/terrain limitations": "#FF0000", # Vermelho | |
"Ample irrigated soils": "#00FF00", # Verde Limão | |
"Dominantly hydromorphic soils": "#008080", # Verde Azulado | |
"Desert/Arid climate": "#FFDAB9", # Pêssego | |
"Boreal/Cold climate": "#000080", # Azul Marinho | |
"Arctic/Very cold climate": "#FFFFFF", # Branco | |
"Dominantly built-up land": "#A52A2A", # Marrom | |
"Dominantly water": "#0000FF" # Azul | |
} | |
legend_dict = { | |
"NA": "#FFFFFF", | |
"Tropics, lowland; semi-arid, no soil/terrain limitations": "#FF99CC", | |
"Tropics, lowland; semi-arid, with soil/terrain limitations": "#FF6699", | |
"Tropics, lowland; sub-humid, no soil/terrain limitations": "#FF9966", | |
"Tropics, lowland; sub-humid, with soil/terrain limitations": "#FF6600", | |
"Tropics, lowland; humid, no soil/terrain limitations": "#FFCC66", | |
"Tropics, lowland; humid, with soil/terrain limitations": "#FF9933", | |
"Tropics, highland; semi-arid, no soil/terrain limitations": "#FFCC99", | |
"Tropics, highland; semi-arid, with soil/terrain limitations": "#FFCC00", | |
"Tropics, highland; sub-humid, no soil/terrain limitations": "#FFFF99", | |
"Tropics, highland; sub-humid, with soil/terrain limitations": "#FFFF33", | |
"Tropics, highland; humid, no soil/terrain limitations": "#FFFF66", | |
"Tropics, highland; humid, with soil/terrain limitations": "#FFFF00", | |
"Sub-tropics, warm; semi-arid, no soil/terrain limitations": "#FFCC33", | |
"Sub-tropics, warm; semi-arid, with soil/terrain limitations": "#FF9900", | |
"Sub-tropics, warm; sub-humid, no soil/terrain limitations": "#FFCC00", | |
"Sub-tropics, warm; sub-humid, with soil/terrain limitations": "#FF9900", | |
"Sub-tropics, warm; humid, no soil/terrain limitations": "#FFD700", | |
"Sub-tropics, warm; humid, with soil/terrain limitations": "#FF8C00", | |
"Sub-tropics, mod. cool; semi-arid, no soil/terrain limitations": "#FFA07A", | |
"Sub-tropics, mod. cool; semi-arid, with soil/terrain limitations": "#FF4500", | |
"Sub-tropics, mod. cool; sub-humid, no soil/terrain limitations": "#FFA500", | |
"Sub-tropics, mod. cool; sub-humid, with soil/terrain limitations": "#FFDAB9", | |
"Sub-tropics, mod. cool; humid, no soil/terrain limitations": "#FFD700", | |
"Sub-tropics, mod. cool; humid, with soil/terrain limitations": "#FFC0CB", | |
"Sub-tropics, cool; semi-arid, no soil/terrain limitations": "#98FB98", | |
"Sub-tropics, cool; semi-arid, with soil/terrain limitations": "#7CFC00", | |
"Sub-tropics, cool; sub-humid, no soil/terrain limitations": "#ADFF2F", | |
"Sub-tropics, cool; sub-humid, with soil/terrain limitations": "#32CD32", | |
"Sub-tropics, cool; humid, no soil/terrain limitations": "#00FF00", | |
"Sub-tropics, cool; humid, with soil/terrain limitations": "#008000", | |
"Temperate, moderate; dry, no soil/terrain limitations": "#ADD8E6", | |
"Temperate, moderate; dry, with soil/terrain limitations": "#4682B4", | |
"Temperate, moderate; moist, no soil/terrain limitations": "#5F9EA0", | |
"Temperate, moderate; moist, with soil/terrain limitations": "#6495ED", | |
"Temperate, moderate; wet, no soil/terrain limitations": "#1E90FF", | |
"Temperate, moderate; wet, with soil/terrain limitations": "#0000FF", | |
"Temperate, cool; dry, no soil/terrain limitations": "#87CEEB", | |
"Temperate, cool; dry, with soil/terrain limitations": "#4169E1", | |
"Temperate, cool; moist, no soil/terrain limitations": "#191970", | |
"Temperate, cool; moist, with soil/terrain limitations": "#00008B", | |
"Temperate, cool; wet, no soil/terrain limitations": "#4B0082", | |
"Temperate, cool; wet, with soil/terrain limitations": "#8A2BE2", | |
"Cold, no permafrost; dry, no soil/terrain limitations": "#708090", | |
"Cold, no permafrost; dry, with soil/terrain limitations": "#2F4F4F", | |
"Cold, no permafrost; moist, no soil/terrain limitations": "#696969", | |
"Cold, no permafrost; moist, with soil/terrain limitations": "#808080", | |
"Cold, no permafrost; wet, no soil/terrain limitations": "#A9A9A9", | |
"Cold, no permafrost; wet, with soil/terrain limitations": "#D3D3D3", | |
"Dominantly very steep terrain": "#FFD700", | |
"Land with severe soil/terrain limitations": "#A0522D", | |
"Ample irrigated soils": "#CD5C5C", | |
"Dominantly hydromorphic soils": "#8B0000", | |
"Desert/Arid climate": "#FF4500", | |
"Boreal/Cold climate": "#2E8B57", | |
"Arctic/Very cold climate": "#00CED1", | |
"Dominantly built-up land": "#8B4513", | |
"Dominantly water": "#0000FF" | |
} | |
def add_widgets(m): | |
setattr(m, "zoom_to_layer", True) | |
style = {"description_width": "initial"} | |
padding = "0px 0px 0px 5px" | |
image = widgets.Dropdown( | |
value=None, | |
options=[('Agro-ecological Zones classification by climate/soil/terrain/LC', maps_values[0]), | |
('Koeppen-Geiger (3-character) classification 2011-2040', maps_values[1]), | |
('Total number of growing period days', maps_values[2]), | |
('Number of dry days during temperature growing period LGPt=5 (days)', maps_values[3]), | |
('Longest period of consecutive dry days in temperature growing period LGPt=5(days)', maps_values[4]), | |
('Annual temperature amplitude (°C)', maps_values[5]), | |
('Mean annual temperature (°C)', maps_values[6]), | |
('Annual precipitation (mm)', maps_values[7]), | |
('Total number of rain days (days with P > 1 mm)', maps_values[8]), | |
], | |
description="Image:", | |
style=style, | |
layout=widgets.Layout(width="270px", padding=padding), | |
) | |
ano = widgets.Dropdown( | |
value=None, | |
options=anos, | |
description="Ano:", | |
style=style, | |
layout=widgets.Layout(width="270px", padding=padding), | |
) | |
output = widgets.Output() | |
def change_ano(change): | |
if change.new: | |
if change.new not in m.get_layer_names(): | |
#mosaic = f"{url}/datasets/{dataset.value}/{image.value}.json" | |
m.add_cog_layer(image.value+ str(ano.value) + '.tif', name=str(ano.value), palette = 'inferno' ) | |
output.outputs = () | |
#output.append_stdout(f"Image date: {image_date}\n") | |
ano.observe(change_ano, names="value") | |
def change_image(change): | |
if change.new: | |
if change.new not in m.get_layer_names(): | |
#mosaic = f"{url}/datasets/{dataset.value}/{image.value}.json" | |
layer_list = m.get_layer_names() | |
for layer in layer_list: | |
m.remove_layer(m.find_layer(layer)) | |
m.add_basemap("HYBRID") | |
#m.remove_legend() | |
if image.value == maps_values[0]: | |
m.add_cog_layer(maps_values[0], name=maps_list[0],colormap=aez_colors) | |
m.add_legend(legend_title="Legenda", legend_dict=aez_dict, layer_name=maps_list[0], position="bottomleft") | |
elif image.value == maps_values[1]: | |
#m.remove_colorbar() | |
#raster = 'pages/aez.tif' | |
legend_dict = { | |
"A4 Equatorial rainforest": "#00FF00", # Verde | |
"Am Equatorial monsoon": "#32CD32", # Verde Lima | |
"As Equatorial savannah, dry summer": "#ADFF2F", # Verde Amarelo | |
"Aw Equatorial savannah, dry winter": "#9ACD32", # Verde Amarelo Escuro | |
"BWh Desert climate, hot": "#FF4500", # Laranja Vermelho | |
"BWk Desert climate, cold": "#FF8C00", # Laranja Escuro | |
"BSh Steppe climate, hot": "#FFD700", # Ouro | |
"BSk Steppe climate, cold": "#DAA520", # Ouro Escuro | |
"Cfa Temperate/mesothermal, fully humid, hot": "#87CEEB", # Céu Azul | |
"Cfb Temperate/mesothermal, fully humid, warm": "#ADD8E6", # Azul Claro | |
"Cfc Temperate/mesothermal, fully humid, cold": "#4682B4", # Azul Aço | |
"Csa Temperate/mesothermal, dry summer, hot": "#FFA07A", # Salmão Claro | |
"Csb Temperate/mesothermal, dry summer, warm": "#FA8072", # Salmão | |
"Csc Temperate/mesothermal, dry summer, cold": "#E9967A", # Salmão Escuro | |
"Cwa Temperate/mesothermal, dry winter, hot": "#FFDAB9", # Pêssego | |
"Cwb Temperate/mesothermal, dry winter, warm": "#FFE4B5", # Moccasin | |
"Cwc Temperate/mesothermal, dry winter, cold": "#FFDEAD", # Navajo Branco | |
"Dfa Continental/microthermal, fully humid, hot": "#8B0000", # Vermelho Escuro | |
"Dfb Continental/microthermal, fully humid, warm": "#B22222", # Tijolo Fogo | |
"Dfc Continental/microthermal, fully humid, cold": "#DC143C", # Carmesim | |
"Dfd Continental/microthermal, fully humid, very cold": "#FF0000", # Vermelho | |
"Dsa Continental/microthermal, dry summer, hot": "#800080", # Roxo | |
"Dsb Continental/microthermal, dry summer, warm": "#9370DB", # Roxo Médio | |
"Dsc Continental/microthermal, dry summer, cold": "#8A2BE2", # Azul Violeta | |
"Dsd Continental/microthermal, dry summer, very cold": "#4B0082", # Índigo | |
"Dwa Continental/microthermal, dry winter, hot": "#000080", # Azul Marinho | |
"Dwb Continental/microthermal, dry winter, warm": "#0000CD", # Azul Médio | |
"Dwc Continental/microthermal, dry winter, cold": "#1E90FF", # Azul Dodger | |
"Dwd Continental/microthermal, dry winter, very cold": "#00BFFF", # Azul Céu Profundo | |
"ET Tundra climate": "#F0E68C", # Caqui | |
"EF Eternal Frost climate": "#FFFFFF" # Branco | |
} | |
custom_cmap = { | |
0: "#00FF00", # A4 Equatorial rainforest | |
1: "#32CD32", # Am Equatorial monsoon | |
2: "#ADFF2F", # As Equatorial savannah, dry summer | |
3: "#9ACD32", # Aw Equatorial savannah, dry winter | |
4: "#FF4500", # BWh Desert climate, hot | |
5: "#FF8C00", # BWk Desert climate, cold | |
6: "#FFD700", # BSh Steppe climate, hot | |
7: "#DAA520", # BSk Steppe climate, cold | |
8: "#87CEEB", # Cfa Temperate/mesothermal climate, fully humid, hot | |
9: "#ADD8E6", # Cfb Temperate/mesothermal climate, fully humid, warm | |
10: "#4682B4", # Cfc Temperate/mesothermal climate, fully humid, cold | |
11: "#FFA07A", # Csa Temperate/mesothermal climate, dry summer, hot | |
12: "#FA8072", # Csb Temperate/mesothermal climate, dry summer, warm | |
13: "#E9967A", # Csc Temperate/mesothermal climate, dry summer, cold | |
14: "#FFDAB9", # Cwa Temperate/mesothermal climate, dry winter, hot | |
15: "#FFE4B5", # Cwb Temperate/mesothermal climate, dry winter, warm | |
16: "#FFDEAD", # Cwc Temperate/mesothermal climate, dry winter, cold | |
17: "#8B0000", # Dfa Continental/microthermal climate, fully humid, hot | |
18: "#B22222", # Dfb Continental/microthermal climate, fully humid, warm | |
19: "#DC143C", # Dfc Continental/microthermal climate, fully humid, cold | |
20: "#FF0000", # Dfd Continental/microthermal climate, fully humid, very cold | |
21: "#800080", # Dsa Continental/microthermal climate, dry summer, hot | |
22: "#9370DB", # Dsb Continental/microthermal climate, dry summer, warm | |
23: "#8A2BE2", # Dsc Continental/microthermal climate, dry summer, cold | |
24: "#4B0082", # Dsd Continental/microthermal climate, dry summer, very cold | |
25: "#000080", # Dwa Continental/microthermal climate, dry winter, hot | |
26: "#0000CD", # Dwb Continental/microthermal climate, dry winter, warm | |
27: "#1E90FF", # Dwc Continental/microthermal climate, dry winter, cold | |
28: "#00BFFF", # Dwd Continental/microthermal climate, dry winter, very cold | |
29: "#F0E68C", # ET Tundra climate | |
30: "#FFFFFF" # EF Eternal Frost climate | |
} | |
m.add_cog_layer(image.value, colormap=custom_cmap, name=maps_list[1]) | |
m.add_legend(legend_title="Legenda", legend_dict=legend_dict, layer_name=maps_list[1], position="bottomleft") | |
elif image.value == maps_values[5] or image.value == maps_values[6]: | |
colors = cm.get_palette(cmap_name='inferno', hashtag=True) | |
m.add_cog_layer(image.value+ str(ano.value) + '.tif', name=str(ano.value), palette = 'inferno' ) | |
m.add_colorbar(colors= colors, vmin=0, vmax=40, position='bottomright', orientation='horizontal', label='°C', caption='Graus Celsius') | |
elif image.value == maps_values[7]: | |
colors = cm.get_palette(cmap_name='inferno', hashtag=True) | |
m.add_cog_layer(image.value+ str(ano.value) + '.tif', name=str(ano.value), palette = 'inferno' ) | |
m.add_colorbar(colors= colors, vmin=0, vmax=3000, position='bottomright', orientation='horizontal', label='mm', caption='Precipitação Anual') | |
else: | |
m.add_cog_layer(image.value+ str(ano.value) + '.tif', name=str(ano.value), palette = 'inferno' ) | |
colors = cm.get_palette(cmap_name='inferno', hashtag=True) | |
m.add_colorbar(colors= colors, vmin=0, vmax=365, position='bottomright', orientation='horizontal', label='Dias', caption='Dias no Ano') | |
#image_date = get_image_date(image.value, m) | |
output.outputs = () | |
#output.append_stdout(f"Image date: {image_date}\n") | |
image.observe(change_image, names="value") | |
box = widgets.VBox( | |
[ ano,image, output] | |
) | |
m.add_widget(box, position="topright", add_header=False) | |
class Map(leafmap.Map): | |
def __init__(self, **kwargs): | |
super().__init__(**kwargs) | |
#ee.Authenticate() | |
#ee.Initialize(project='ee-curso-gee-rhamon') | |
#self.add_ee_data() | |
add_widgets(self) | |
self.add_layer_manager(opened= True) | |
#self.add_legend(legend_title="Legend", legend_dict=legend_dict, open=False) | |
#self.add_inspector() | |
def Page(): | |
with solara.Column(style={"min-width": "500px"}): | |
Map.element( | |
zoom=zoom.value, | |
on_zoom=zoom.set, | |
center=center.value, | |
on_center=center.set, | |
height="600px", | |
toolbar_ctrl=False, | |
data_ctrl=True, | |
add_google_map=True, | |
) | |