SaeidJan68 commited on
Commit
399c5f6
1 Parent(s): 72e288a

Upload MODIS_NDVI_A year.ipynb

Browse files
Files changed (1) hide show
  1. notebooks/MODIS_NDVI_A year.ipynb +381 -0
notebooks/MODIS_NDVI_A year.ipynb ADDED
@@ -0,0 +1,381 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "3d55b3a5",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "ee.Authenticate() ### authenticate to google earth engine"
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "code",
15
+ "execution_count": 12,
16
+ "id": "b2a68706",
17
+ "metadata": {},
18
+ "outputs": [],
19
+ "source": [
20
+ "# Initialize geemap\n",
21
+ "geemap.ee_initialize()"
22
+ ]
23
+ },
24
+ {
25
+ "cell_type": "code",
26
+ "execution_count": null,
27
+ "id": "cc548866",
28
+ "metadata": {},
29
+ "outputs": [
30
+ {
31
+ "name": "stdout",
32
+ "output_type": "stream",
33
+ "text": [
34
+ "Generating URL ...\n",
35
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/66982d5e1e5ace8c58edb50649b9e90d-1e765a1d78eb6bb6c9b5e8db80dd82a5:getPixels\n",
36
+ "Please wait ...\n",
37
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230914.tif\n",
38
+ "Generating URL ...\n",
39
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/077304d9e50c291342c68d933992bb82-09ba9cab3f2dfa2a5c2dddfd049ce0b4:getPixels\n",
40
+ "Please wait ...\n",
41
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230915.tif\n",
42
+ "Generating URL ...\n",
43
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/39c75ba2b71724d64161e22ae7fbdf4a-cb3f8431ba228c14f098fe6b9f313563:getPixels\n",
44
+ "Please wait ...\n",
45
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230916.tif\n",
46
+ "Generating URL ...\n",
47
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/7413fd0b2acedde8acf9a26cdc46e956-e74e6910b0b930be181cc1d1b178ff75:getPixels\n",
48
+ "Please wait ...\n",
49
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230917.tif\n",
50
+ "Generating URL ...\n",
51
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/89de084e2442303c937d886cd288bbe5-cf330ca0f89090e4fb1441e25920425d:getPixels\n",
52
+ "Please wait ...\n",
53
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230918.tif\n",
54
+ "Generating URL ...\n",
55
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/f12f12d390e0bc2952ee91d9c21fef81-587b960ac780037dbc84303254119fc9:getPixels\n",
56
+ "Please wait ...\n",
57
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230919.tif\n",
58
+ "Generating URL ...\n",
59
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/512ac1a414670714edbe762738ff6651-54172f5fc989452d640d9c82a1eceebb:getPixels\n",
60
+ "Please wait ...\n",
61
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230920.tif\n",
62
+ "Generating URL ...\n",
63
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/7d37d74e076e694963ebb999882ef622-149bf9dcff823079302eab275921430e:getPixels\n",
64
+ "Please wait ...\n",
65
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder (2)\\bi\\bi_NDVI_20230921.tif\n",
66
+ "Generating URL ...\n",
67
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/a62a89cad3b7e2215144f552040b0366-eeb4a8213b2a1e03de7e3c6b6f8dce86:getPixels\n",
68
+ "Please wait ...\n",
69
+ "File is not a zip file\n"
70
+ ]
71
+ }
72
+ ],
73
+ "source": [
74
+ "import geemap ### packge for google earth engine analysis \n",
75
+ "\n",
76
+ "import ee ### packge neccsary for using geemap\n",
77
+ "import os \n",
78
+ "\n",
79
+ "\n",
80
+ "# Create a list of extents\n",
81
+ "extents = [\n",
82
+ " {\n",
83
+ " 'name': 'bi',\n",
84
+ " 'geometry': ee.Geometry.Polygon([[[-154.668, 18.849],[-154.668, 20.334],[-156.243, 20.334],[-156.243, 18.849]]]),\n",
85
+ " },\n",
86
+ " {\n",
87
+ " 'name': 'ka',\n",
88
+ " 'geometry': ee.Geometry.Polygon([[[-159.2512, 21.819],[-159.2512, 22.269],[-159.816, 22.269],[-159.816, 21.819]]]),\n",
89
+ " },\n",
90
+ " {\n",
91
+ " 'name': 'mn',\n",
92
+ " 'geometry': ee.Geometry.Polygon([[[-155.9257, 20.343],[-155.9257, 21.32175],[-157.35, 21.32175],[-157.35, 20.343]]]),\n",
93
+ " },\n",
94
+ " {\n",
95
+ " 'name': 'oa',\n",
96
+ " 'geometry': ee.Geometry.Polygon([[[-157.602, 21.18],[-157.602, 21.7425],[-158.322, 21.7425],[-158.322, 21.18]]]),\n",
97
+ " }\n",
98
+ "]\n",
99
+ "\n",
100
+ "# Loop through each extent\n",
101
+ "for extent in extents:\n",
102
+ " # Create a Map for visualization\n",
103
+ " Map = geemap.Map()\n",
104
+ " Map.centerObject(extent['geometry'])\n",
105
+ " Map.addLayer(extent['geometry'], {'color': 'red'}, extent['name'])\n",
106
+ "\n",
107
+ " # Load MODIS data\n",
108
+ " modis = ee.ImageCollection('MODIS/061/MOD09GA')\n",
109
+ "\n",
110
+ " # Define date range and other parameters\n",
111
+ " startDate = ee.Date('2023-09-01')\n",
112
+ " endDate = ee.Date('2023-09-30')\n",
113
+ " interval = 1\n",
114
+ " dates = ee.List.sequence(startDate.millis(), endDate.millis(), interval * 24 * 60 * 60 * 1000)\n",
115
+ "\n",
116
+ " # Loop over the dates\n",
117
+ " date_list = dates.getInfo()\n",
118
+ " for dateMillis in date_list:\n",
119
+ " date = ee.Date(dateMillis)\n",
120
+ "\n",
121
+ " # Filter the collection for the current date and extent\n",
122
+ " filtered = modis.filterDate(date, date.advance(interval, 'day')).filterBounds(extent['geometry'])\n",
123
+ "\n",
124
+ " # Cloud masking function\n",
125
+ " def maskMODISclouds(image):\n",
126
+ " qa = image.select('state_1km')\n",
127
+ " cloudBitMask = 1 << 10\n",
128
+ " mask = qa.bitwiseAnd(cloudBitMask).eq(0)\n",
129
+ " return image.updateMask(mask)\n",
130
+ "\n",
131
+ " filtered1 = filtered.map(maskMODISclouds)\n",
132
+ "\n",
133
+ " # NDVI calculation function\n",
134
+ " def addNDVI(image):\n",
135
+ " ndvi = image.normalizedDifference(['sur_refl_b02', 'sur_refl_b01']).rename('ndvi')\n",
136
+ " return image.addBands(ndvi)\n",
137
+ "\n",
138
+ " withNdvi = filtered1.map(addNDVI)\n",
139
+ "\n",
140
+ " # Gap-filling function\n",
141
+ " def fill(image):\n",
142
+ " ima = image.focal_mean(1, 'square', 'pixels', 20)\n",
143
+ " return ima.blend(image)\n",
144
+ "\n",
145
+ " filled = withNdvi.map(fill)\n",
146
+ "\n",
147
+ " # Clip NDVI based on the extent\n",
148
+ " NDVIsen = filled.median().clip(extent['geometry'])\n",
149
+ "# Create a folder based on the extent's name\n",
150
+ " folder_name = extent['name']\n",
151
+ " out_dir = os.path.expanduser(f'C:/Users/Sayed\\Desktop/Hawaii NDVI/NDVI final/New folder/New folder (2)/{folder_name}')\n",
152
+ " \n",
153
+ " # Ensure the folder exists or create it if not\n",
154
+ " os.makedirs(out_dir, exist_ok=True)\n",
155
+ "\n",
156
+ " # Export the image to the folder with a unique name\n",
157
+ " file_name = f'{extent[\"name\"]}_NDVI_{date.format(\"YYYYMMdd\").getInfo()}.tif'\n",
158
+ " file_path = os.path.join(out_dir, file_name)\n",
159
+ "\n",
160
+ " geemap.ee_export_image(NDVIsen.select('ndvi'), filename=file_path, scale=250, region=extent['geometry'])"
161
+ ]
162
+ },
163
+ {
164
+ "cell_type": "code",
165
+ "execution_count": null,
166
+ "id": "4e1a743a",
167
+ "metadata": {},
168
+ "outputs": [],
169
+ "source": [
170
+ "# Initialize MODIS ImageCollection\n",
171
+ "modis = ee.ImageCollection('MODIS/061/MYD09Q1')\n",
172
+ "image = modis.first()\n",
173
+ "print(image.bandNames().getInfo())"
174
+ ]
175
+ },
176
+ {
177
+ "cell_type": "code",
178
+ "execution_count": 9,
179
+ "id": "46d90d65",
180
+ "metadata": {},
181
+ "outputs": [
182
+ {
183
+ "name": "stdout",
184
+ "output_type": "stream",
185
+ "text": [
186
+ "Generating URL ...\n",
187
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/9e5a57dfa1c5398d2b047640752030cc-0773e965f12868558f067b9363da1f4d:getPixels\n",
188
+ "Please wait ...\n",
189
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\bi\\bi_NDVI_20230829.tif\n",
190
+ "Generating URL ...\n",
191
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/695d02d2d9a1d238a648201f29482e6d-082c66feb81f1411239d8580ebe69916:getPixels\n",
192
+ "Please wait ...\n",
193
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\bi\\bi_NDVI_20230906.tif\n",
194
+ "Generating URL ...\n",
195
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/dc0d4371bd0f54ecd7bd08b4050d350e-e04df5559bf7105089922a89e3fc39f1:getPixels\n",
196
+ "Please wait ...\n",
197
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\bi\\bi_NDVI_20230914.tif\n",
198
+ "Generating URL ...\n",
199
+ "An error occurred while downloading.\n",
200
+ "Image.select: Pattern 'ndvi' did not match any bands.\n",
201
+ "Generating URL ...\n",
202
+ "An error occurred while downloading.\n",
203
+ "Image.select: Pattern 'ndvi' did not match any bands.\n",
204
+ "Generating URL ...\n",
205
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/6dc3b845d4e2b672f0b6253846f8120b-33bf749d4384a7b39f219607899649ce:getPixels\n",
206
+ "Please wait ...\n",
207
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\ka\\ka_NDVI_20230829.tif\n",
208
+ "Generating URL ...\n",
209
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/f1c86dc2354f4566a41bf2124408e7b5-fb1cfdad37f86b050cc3a154dd40a275:getPixels\n",
210
+ "Please wait ...\n",
211
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\ka\\ka_NDVI_20230906.tif\n",
212
+ "Generating URL ...\n",
213
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/303aad18ead090b31bfde52106f09c31-dac34f5fa958cec70b2a0bf2ac87d6b0:getPixels\n",
214
+ "Please wait ...\n",
215
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\ka\\ka_NDVI_20230914.tif\n",
216
+ "Generating URL ...\n",
217
+ "An error occurred while downloading.\n",
218
+ "Image.select: Pattern 'ndvi' did not match any bands.\n",
219
+ "Generating URL ...\n",
220
+ "An error occurred while downloading.\n",
221
+ "Image.select: Pattern 'ndvi' did not match any bands.\n",
222
+ "Generating URL ...\n",
223
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/68d45eba564acc8fecfa24289a5bf98a-732b255bd968fc789e41ec03600bd189:getPixels\n",
224
+ "Please wait ...\n",
225
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\mn\\mn_NDVI_20230829.tif\n",
226
+ "Generating URL ...\n",
227
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/ff8353423dfe97fdcf2bd34ee8ec8b10-ec1494020f628890f34a4ddd98e94910:getPixels\n",
228
+ "Please wait ...\n",
229
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\mn\\mn_NDVI_20230906.tif\n",
230
+ "Generating URL ...\n",
231
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/134cebee28cdc4a1c2154749e526c2c8-f5009d388a066834125fca54d186b28f:getPixels\n",
232
+ "Please wait ...\n",
233
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\mn\\mn_NDVI_20230914.tif\n",
234
+ "Generating URL ...\n",
235
+ "An error occurred while downloading.\n",
236
+ "Image.select: Pattern 'ndvi' did not match any bands.\n",
237
+ "Generating URL ...\n",
238
+ "An error occurred while downloading.\n",
239
+ "Image.select: Pattern 'ndvi' did not match any bands.\n",
240
+ "Generating URL ...\n",
241
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/b1d03d3310f9b65031a4945671caac81-7a169784691d0df9981b191764622c01:getPixels\n",
242
+ "Please wait ...\n",
243
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\oa\\oa_NDVI_20230829.tif\n",
244
+ "Generating URL ...\n",
245
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/7c069ce7b240df3719285e6ba3f97d30-c81a2022b8f66280384daa8b05ddb983:getPixels\n",
246
+ "Please wait ...\n",
247
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\oa\\oa_NDVI_20230906.tif\n",
248
+ "Generating URL ...\n",
249
+ "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/thumbnails/cb23fe24eee578f7a2ddb05a73c9d185-62efe1ef80e35797757afbb739bee59f:getPixels\n",
250
+ "Please wait ...\n",
251
+ "Data downloaded to C:\\Users\\Sayed\\Desktop\\Hawaii NDVI\\NDVI final\\New folder\\New folder\\oa\\oa_NDVI_20230914.tif\n",
252
+ "Generating URL ...\n",
253
+ "An error occurred while downloading.\n",
254
+ "Image.select: Pattern 'ndvi' did not match any bands.\n",
255
+ "Generating URL ...\n",
256
+ "An error occurred while downloading.\n",
257
+ "Image.select: Pattern 'ndvi' did not match any bands.\n"
258
+ ]
259
+ }
260
+ ],
261
+ "source": [
262
+ "import geemap ### packge for google earth engine analysis \n",
263
+ "\n",
264
+ "import ee ### packge neccsary for using geemap\n",
265
+ "import os \n",
266
+ "\n",
267
+ "\n",
268
+ "# Create a list of extents\n",
269
+ "extents = [\n",
270
+ " {\n",
271
+ " 'name': 'bi',\n",
272
+ " 'geometry': ee.Geometry.Polygon([[[-154.668, 18.849],[-154.668, 20.334],[-156.243, 20.334],[-156.243, 18.849]]]),\n",
273
+ " },\n",
274
+ " {\n",
275
+ " 'name': 'ka',\n",
276
+ " 'geometry': ee.Geometry.Polygon([[[-159.2512, 21.819],[-159.2512, 22.269],[-159.816, 22.269],[-159.816, 21.819]]]),\n",
277
+ " },\n",
278
+ " {\n",
279
+ " 'name': 'mn',\n",
280
+ " 'geometry': ee.Geometry.Polygon([[[-155.9257, 20.343],[-155.9257, 21.32175],[-157.35, 21.32175],[-157.35, 20.343]]]),\n",
281
+ " },\n",
282
+ " {\n",
283
+ " 'name': 'oa',\n",
284
+ " 'geometry': ee.Geometry.Polygon([[[-157.602, 21.18],[-157.602, 21.7425],[-158.322, 21.7425],[-158.322, 21.18]]]),\n",
285
+ " }\n",
286
+ "]\n",
287
+ "\n",
288
+ "# Loop through each extent\n",
289
+ "for extent in extents:\n",
290
+ " # Create a Map for visualization\n",
291
+ " Map = geemap.Map()\n",
292
+ " Map.centerObject(extent['geometry'])\n",
293
+ " Map.addLayer(extent['geometry'], {'color': 'red'}, extent['name'])\n",
294
+ "\n",
295
+ " # Load MODIS data\n",
296
+ " modis = ee.ImageCollection('MODIS/061/MYD09A1')\n",
297
+ "\n",
298
+ " # Define date range and other parameters\n",
299
+ " startDate = ee.Date('2023-08-29')\n",
300
+ " endDate = ee.Date('2023-09-30')\n",
301
+ " interval = 8\n",
302
+ " dates = ee.List.sequence(startDate.millis(), endDate.millis(), interval * 24 * 60 * 60 * 1000)\n",
303
+ "\n",
304
+ " # Loop over the dates\n",
305
+ " date_list = dates.getInfo()\n",
306
+ " for dateMillis in date_list:\n",
307
+ " date = ee.Date(dateMillis)\n",
308
+ "\n",
309
+ " # Filter the collection for the current date and extent\n",
310
+ " filtered = modis.filterDate(date, date.advance(interval, 'day')).filterBounds(extent['geometry'])\n",
311
+ "\n",
312
+ " # Cloud masking function\n",
313
+ " def maskMODISclouds(image):\n",
314
+ " qa = image.select('StateQA')\n",
315
+ " cloudBitMask = 1 << 10\n",
316
+ " mask = qa.bitwiseAnd(cloudBitMask).eq(0)\n",
317
+ " return image.updateMask(mask)\n",
318
+ "\n",
319
+ " filtered1 = filtered.map(maskMODISclouds)\n",
320
+ "\n",
321
+ " # NDVI calculation function\n",
322
+ " def addNDVI(image):\n",
323
+ " ndvi = image.normalizedDifference(['sur_refl_b02', 'sur_refl_b01']).rename('ndvi')\n",
324
+ " return image.addBands(ndvi)\n",
325
+ "\n",
326
+ " withNdvi = filtered1.map(addNDVI)\n",
327
+ "\n",
328
+ " # Gap-filling function\n",
329
+ " def fill(image):\n",
330
+ " ima = image.focal_mean(1, 'square', 'pixels', 20)\n",
331
+ " return ima.blend(image)\n",
332
+ "\n",
333
+ " filled = withNdvi.map(fill)\n",
334
+ "\n",
335
+ " # Clip NDVI based on the extent\n",
336
+ " NDVIsen = filled.median().clip(extent['geometry'])\n",
337
+ "# Create a folder based on the extent's name\n",
338
+ " folder_name = extent['name']\n",
339
+ " out_dir = os.path.expanduser(f'C:/Users/Sayed\\Desktop/Hawaii NDVI/NDVI final/New folder/New folder/{folder_name}')\n",
340
+ " \n",
341
+ " # Ensure the folder exists or create it if not\n",
342
+ " os.makedirs(out_dir, exist_ok=True)\n",
343
+ "\n",
344
+ " # Export the image to the folder with a unique name\n",
345
+ " file_name = f'{extent[\"name\"]}_NDVI_{date.format(\"YYYYMMdd\").getInfo()}.tif'\n",
346
+ " file_path = os.path.join(out_dir, file_name)\n",
347
+ "\n",
348
+ " geemap.ee_export_image(NDVIsen.select('ndvi'), filename=file_path, scale=250, region=extent['geometry'])"
349
+ ]
350
+ },
351
+ {
352
+ "cell_type": "code",
353
+ "execution_count": null,
354
+ "id": "864adc1d",
355
+ "metadata": {},
356
+ "outputs": [],
357
+ "source": []
358
+ }
359
+ ],
360
+ "metadata": {
361
+ "kernelspec": {
362
+ "display_name": "Python 3 (ipykernel)",
363
+ "language": "python",
364
+ "name": "python3"
365
+ },
366
+ "language_info": {
367
+ "codemirror_mode": {
368
+ "name": "ipython",
369
+ "version": 3
370
+ },
371
+ "file_extension": ".py",
372
+ "mimetype": "text/x-python",
373
+ "name": "python",
374
+ "nbconvert_exporter": "python",
375
+ "pygments_lexer": "ipython3",
376
+ "version": "3.10.10"
377
+ }
378
+ },
379
+ "nbformat": 4,
380
+ "nbformat_minor": 5
381
+ }