Skip to content

Commit ea34288

Browse files
authored
Merge of ensino and pythonverse in my repos.
I deleted my original repo "ensino" and merged all programs here
1 parent d190b08 commit ea34288

8 files changed

Lines changed: 2249 additions & 1 deletion

Brasil3D sobre mapa antigo.ipynb

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "754b7bd1",
6+
"metadata": {},
7+
"source": [
8+
"![](http://observatoriooceanografico.org/wp-content/uploads/elementor/thumbs/logo-o2-2-p31vla9ib17i85olifd4l1xk0e5lktrkal6u0s4c6o.png)<br>\n",
9+
"# <center>Mapa do Brasil em relevo</center><br>\n",
10+
"\n",
11+
"Criado por [A.L. Belém](mailto:andrebelem@id.uff.br) @ [Observatório Oceanográfico](http://www.observatoiriooceanografico.uff.br) 2021 (versão 1) para disciplina de **Mudanças Climáticas e seus Impactos** (e para quem mais se interessar)<br>\n",
12+
"[![DOI](https://zenodo.org/badge/342919527.svg)](https://zenodo.org/badge/latestdoi/342919527)\n",
13+
"###### Última atualização: 16 de Junho de 2021.\n",
14+
"<br>\n",
15+
"Esse notebook foi construido com o objetivo de testar as possibilidades do Geemap para construção de mapas. Não é necessário saber todo o código de cabeça, mas ao menos você pode usar esse notebook para \"copiar\" algumas soluções quando for necessário.<br>\n",
16+
"\n",
17+
"Use preferencialmente o Jupyter Notebook com o `geemap` e o `ee` instalado."
18+
]
19+
},
20+
{
21+
"cell_type": "code",
22+
"execution_count": 1,
23+
"id": "26b448bc",
24+
"metadata": {},
25+
"outputs": [],
26+
"source": [
27+
"# importa todas as bibliotecas necessárias\n",
28+
"import ee\n",
29+
"import geemap\n",
30+
"import geemap.colormaps as cm"
31+
]
32+
},
33+
{
34+
"cell_type": "code",
35+
"execution_count": 2,
36+
"id": "84478a45",
37+
"metadata": {},
38+
"outputs": [],
39+
"source": [
40+
"# A autenticação só é necessária uma vez para usar o ee\n",
41+
"#ee.Authenticate()\n",
42+
"\n",
43+
"# iniciar o acesso\n",
44+
"ee.Initialize()"
45+
]
46+
},
47+
{
48+
"cell_type": "code",
49+
"execution_count": 3,
50+
"id": "75f015fd",
51+
"metadata": {},
52+
"outputs": [],
53+
"source": [
54+
"# cria um fundo branco com base em uma layer existente (não necessariamente você precisa fazer isso)\n",
55+
"blank = ee.Image('NOAA/NGDC/ETOPO1').select('bedrock');\n",
56+
"blank = blank.multiply(0) # blank background"
57+
]
58+
},
59+
{
60+
"cell_type": "code",
61+
"execution_count": 12,
62+
"id": "92b0f817",
63+
"metadata": {},
64+
"outputs": [],
65+
"source": [
66+
"# separa um retângulo de interesse. Esse retângulo foi extraido da linha posterior ao mapa com Map.draw_last_feature\n",
67+
"AOI = ee.Feature({'type': 'Feature',\n",
68+
" 'geometry': {'geodesic': False,\n",
69+
" 'type': 'Polygon',\n",
70+
" 'coordinates': [[[-84.023438, -36.738884],\n",
71+
" [-84.023438, 13.410994],\n",
72+
" [-33.75, 13.410994],\n",
73+
" [-33.75, -36.738884],\n",
74+
" [-84.023438, -36.738884]]]},\n",
75+
" 'properties': {}})"
76+
]
77+
},
78+
{
79+
"cell_type": "code",
80+
"execution_count": 38,
81+
"id": "e2c0282c",
82+
"metadata": {},
83+
"outputs": [],
84+
"source": [
85+
"# escolhe o dataset de elevação\n",
86+
"elevation = ee.Image('USGS/SRTMGL1_003');\n",
87+
"\n",
88+
"exaggeration = 200; # aqui controla o exagero vertical.\n",
89+
"azimuth = 30 # azimute da fonte de luz\n",
90+
"zenith = 65 # elevação da fonte de luz é 90 - azimuth\n",
91+
"hillshade = ee.Terrain.hillshade(elevation.multiply(exaggeration), azimuth, 90-zenith);\n",
92+
"\n",
93+
"# versão 2 - fazendo um hillshade para o mapa antigo também, com um exagero menor\n",
94+
"exaggeration2 = 100; # aqui controla o exagero vertical.\n",
95+
"hillshade2 = ee.Terrain.hillshade(elevation.multiply(exaggeration), azimuth, 90-zenith);\n",
96+
"\n",
97+
"fao_gaul = ee.FeatureCollection(\"FAO/GAUL/2015/level1\")\n",
98+
"Brasil = fao_gaul.filter(ee.Filter.eq('ADM0_NAME', 'Brazil'))\n"
99+
]
100+
},
101+
{
102+
"cell_type": "code",
103+
"execution_count": 29,
104+
"id": "b719d34f",
105+
"metadata": {},
106+
"outputs": [],
107+
"source": [
108+
"# cortesia - Um mapa antigo da América do Sul registrado usando georeferencer\n",
109+
"# há uma pequena distorção na costa, mas...é o preço da evolução\n",
110+
"basemap = ee.Image('users/andrebelem/AmericaDoSul_oldmap')\n",
111+
"vizParams = {\n",
112+
" 'bands': ['b1', 'b2', 'b3'],\n",
113+
" 'min': 0,\n",
114+
" 'max': 253,\n",
115+
" 'gamma': [0.95, 1.1, 1],\n",
116+
" 'opacity': 0.5, # mude a opacidade se desejar. \n",
117+
"};"
118+
]
119+
},
120+
{
121+
"cell_type": "code",
122+
"execution_count": 40,
123+
"id": "bdf93cff",
124+
"metadata": {
125+
"scrolled": false
126+
},
127+
"outputs": [
128+
{
129+
"data": {
130+
"application/vnd.jupyter.widget-view+json": {
131+
"model_id": "6a2c629b546342b59c68de8702e0aa9f",
132+
"version_major": 2,
133+
"version_minor": 0
134+
},
135+
"text/plain": [
136+
"Map(center=[-12.7261, -54.6657], controls=(WidgetControl(options=['position', 'transparent_bg'], widget=HBox(c…"
137+
]
138+
},
139+
"metadata": {},
140+
"output_type": "display_data"
141+
}
142+
],
143+
"source": [
144+
"# Constroi o mapa com base no centro do Brasil. Mude como desejar.\n",
145+
"\n",
146+
"Map = geemap.Map(center=(-12.7261,-54.6657),zoom=4)\n",
147+
"Map.add_basemap('Esri Shaded Relief')\n",
148+
"Map.addLayer(blank, {'bands': ['bedrock'], 'min': 0, 'max': 0, 'palette': ['white'], 'opacity': 0.7}, 'background')\n",
149+
"Map.addLayer(AOI,{'outline_color':'black'},'AOI') # linha ao redor do mapa\n",
150+
"Map.addLayer(basemap.clip(AOI),vizParams,'AS')\n",
151+
"Map.addLayer(hillshade2.clip(AOI), {'bands': ['hillshade'], 'min': 0, 'max': 255, 'palette': cm.palettes.gray, 'opacity': 0.3}, 'Map Hillshade')\n",
152+
"\n",
153+
"dem_cm = cm.palettes.gist_earth_r\n",
154+
"\n",
155+
"Map.addLayer(Brasil,{'outline_color':'gray','opacity':0.8},'Brasil') # linha ao redor do Brasil\n",
156+
"\n",
157+
"Map.addLayer(elevation.clip(Brasil), {'bands': ['elevation'], 'min': 0, 'max': 1500, 'palette': dem_cm}, 'elevation')\n",
158+
"Map.addLayer(hillshade.clip(Brasil), {'bands': ['hillshade'], 'min': 0, 'max': 255, 'palette': cm.palettes.gray, 'opacity': 0.6}, 'ETOPO1 Hillshade')\n",
159+
"\n",
160+
"Map"
161+
]
162+
},
163+
{
164+
"cell_type": "code",
165+
"execution_count": 26,
166+
"id": "c9b1de30",
167+
"metadata": {},
168+
"outputs": [],
169+
"source": [
170+
"# para extrair um novo retângulo AOI, desenhe sobre o mapa acima e descomente as linhas abaixo.\n",
171+
"\n",
172+
"#aa = Map.draw_last_feature\n",
173+
"#aa.getInfo()"
174+
]
175+
}
176+
],
177+
"metadata": {
178+
"kernelspec": {
179+
"display_name": "Python 3",
180+
"language": "python",
181+
"name": "python3"
182+
},
183+
"language_info": {
184+
"codemirror_mode": {
185+
"name": "ipython",
186+
"version": 3
187+
},
188+
"file_extension": ".py",
189+
"mimetype": "text/x-python",
190+
"name": "python",
191+
"nbconvert_exporter": "python",
192+
"pygments_lexer": "ipython3",
193+
"version": "3.9.4"
194+
},
195+
"varInspector": {
196+
"cols": {
197+
"lenName": 16,
198+
"lenType": 16,
199+
"lenVar": 40
200+
},
201+
"kernels_config": {
202+
"python": {
203+
"delete_cmd_postfix": "",
204+
"delete_cmd_prefix": "del ",
205+
"library": "var_list.py",
206+
"varRefreshCmd": "print(var_dic_list())"
207+
},
208+
"r": {
209+
"delete_cmd_postfix": ") ",
210+
"delete_cmd_prefix": "rm(",
211+
"library": "var_list.r",
212+
"varRefreshCmd": "cat(var_dic_list()) "
213+
}
214+
},
215+
"types_to_exclude": [
216+
"module",
217+
"function",
218+
"builtin_function_or_method",
219+
"instance",
220+
"_Feature"
221+
],
222+
"window_display": false
223+
}
224+
},
225+
"nbformat": 4,
226+
"nbformat_minor": 5
227+
}

Brasil3D.png

792 KB
Loading

0 commit comments

Comments
 (0)