1252 lines
47 KiB
Plaintext
1252 lines
47 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0c18e312-8421-47d7-84f9-ed7d5e47e7ee",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"#### Load packages and connect to SentinelHub"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "b7ca7102-5fd9-481f-90cd-3ba60e288649",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# $ pip install sentinelhub\n",
|
|
"# pip install gdal\n",
|
|
"\n",
|
|
"import os\n",
|
|
"import json\n",
|
|
"import datetime\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from pathlib import Path\n",
|
|
"from osgeo import gdal\n",
|
|
"\n",
|
|
"from sentinelhub import MimeType, CRS, BBox, SentinelHubRequest, SentinelHubDownloadClient, \\\n",
|
|
" DataCollection, bbox_to_dimensions, DownloadRequest, SHConfig, BBoxSplitter, read_data\n",
|
|
"\n",
|
|
"config = SHConfig()\n",
|
|
"\n",
|
|
"import time\n",
|
|
"import shutil"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "330c967c-2742-4a7a-9a61-28bfdaf8eeca",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#pip install pipreqs"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "49f8496a-a267-4b74-9500-a168e031ed68",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#import pipreqs\n",
|
|
"#pipreqs Resilience BV/4002 CMD App - General/4002 CMD Team/4002 TechnicalData/04 WP2 technical/python/Chemba_download.ipynb"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "5491a840-779c-4f0c-8164-c3de738b3298",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"config.sh_client_id = '1a72d811-4f0e-4447-8282-df09608cff44'\n",
|
|
"config.sh_client_secret = 'FcBlRL29i9ZmTzhmKTv1etSMFs5PxSos'"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "eb1fb662-0e25-4ca9-8317-c6953290842b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"collection_id = 'c691479f-358c-46b1-b0f0-e12b70a9856c'\n",
|
|
"byoc = DataCollection.define_byoc(\n",
|
|
" collection_id,\n",
|
|
" name='planet_data2',\n",
|
|
" is_timeless=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "6adb603d-8182-48c6-a051-869e16ee7bba",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"#### Set some variables\n",
|
|
"The only place anything might need to be changed."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "060396e0-e5ee-4b54-b211-5d8bfcba167f",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"project = 'chemba' #or xinavane or chemba_test_8b\n",
|
|
"#project = 'xinavane' #or xinavane or chemba_test_8b\n",
|
|
"#project = 'chemba_test_8b' #or xinavane or chemba_test_8b\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "c9f79e81-dff8-4109-8d26-6c423142dcf2",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Adjust the number of days needed\n",
|
|
"days = 400 #change back to 28 which is the default. 3 years is 1095 days."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "e18bdf8f-be4b-44ab-baaa-de5de60d92cb",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#delete all the satellite outputs -> then True\n",
|
|
"empty_folder_question = False"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "81bbb513-0bd2-4277-83e8-6f94051ce70b",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"#### Define functions\n",
|
|
"After this block, no manual changes to parameters are required. \n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "3f7c8e04-4569-457b-b39d-283582c4ba36",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"BASE_PATH = Path('../laravel_app/storage/app') / os.getenv('PROJECT_DIR',project) \n",
|
|
"BASE_PATH_SINGLE_IMAGES = Path(BASE_PATH / 'single_images')\n",
|
|
"folder_for_merged_tifs = str(BASE_PATH / 'merged_tif')\n",
|
|
"folder_for_virtual_raster = str(BASE_PATH / 'merged_virtual')\n",
|
|
" \n",
|
|
"# Check if the folders exist, and if not, create them\n",
|
|
"if not os.path.exists(BASE_PATH_SINGLE_IMAGES):\n",
|
|
" os.makedirs(BASE_PATH_SINGLE_IMAGES)\n",
|
|
" \n",
|
|
"if not os.path.exists(folder_for_merged_tifs):\n",
|
|
" os.makedirs(folder_for_merged_tifs)\n",
|
|
"\n",
|
|
"if not os.path.exists(folder_for_virtual_raster):\n",
|
|
" os.makedirs(folder_for_virtual_raster)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "244b5752-4f02-4347-9278-f6a0a46b88f4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"evalscript_true_color = \"\"\"\n",
|
|
" //VERSION=3\n",
|
|
"\n",
|
|
" function setup() {\n",
|
|
" return {\n",
|
|
" input: [{\n",
|
|
" bands: [\"Red\", \"Green\", \"Blue\", \"NIR\", \"UDM2_Clear\"]\n",
|
|
" }],\n",
|
|
" output: {\n",
|
|
" bands: 4 \n",
|
|
" //sampleType: \"FLOAT32\"\n",
|
|
" }\n",
|
|
" };\n",
|
|
" }\n",
|
|
"\n",
|
|
" function evaluatePixel(sample) {\n",
|
|
" // Scale the bands\n",
|
|
" var scaledBlue = [2.5 * sample.Blue / 10000];\n",
|
|
" var scaledGreen = [2.5 * sample.Green / 10000];\n",
|
|
" var scaledRed = [2.5 * sample.Red / 10000];\n",
|
|
" var scaledNIR = [2.5 * sample.NIR / 10000];\n",
|
|
" \n",
|
|
" // Calculate the CI (Chlorophyll Index) using the scaled values\n",
|
|
" // var CI = [scaledNIR / scaledGreen - 1] ;\n",
|
|
"\n",
|
|
"// Output the scaled bands and CI\n",
|
|
" if (sample.UDM2_Clear != 0) { \n",
|
|
" return [\n",
|
|
" scaledRed,\n",
|
|
" scaledGreen,\n",
|
|
" scaledBlue,\n",
|
|
" scaledNIR\n",
|
|
" // sample.UDM,\n",
|
|
" // CI,\n",
|
|
" ]\n",
|
|
" } else {\n",
|
|
" return [NaN, NaN, NaN, NaN]}\n",
|
|
" }\n",
|
|
"\"\"\"\n",
|
|
"\n",
|
|
"def get_true_color_request_day(time_interval, bbox, size):\n",
|
|
" return SentinelHubRequest(\n",
|
|
" evalscript=evalscript_true_color,\n",
|
|
" input_data=[\n",
|
|
" SentinelHubRequest.input_data(\n",
|
|
" data_collection=DataCollection.planet_data2,\n",
|
|
" time_interval=(time_interval, time_interval)\n",
|
|
" )\n",
|
|
" ],\n",
|
|
" responses=[\n",
|
|
" SentinelHubRequest.output_response('default', MimeType.TIFF)\n",
|
|
" ],\n",
|
|
" bbox=bbox,\n",
|
|
" size=size,\n",
|
|
" config=config,\n",
|
|
" data_folder=str(BASE_PATH_SINGLE_IMAGES / time_interval),\n",
|
|
"\n",
|
|
" )\n",
|
|
"\n",
|
|
"def download_function(slot, bbox, size):\n",
|
|
" # create a list of requests\n",
|
|
" list_of_requests = [get_true_color_request_day(slot, bbox, size)]\n",
|
|
" list_of_requests = [request.download_list[0] for request in list_of_requests]\n",
|
|
"\n",
|
|
" # download data chemba west with multiple threads\n",
|
|
" data = SentinelHubDownloadClient(config=config).download(list_of_requests, max_threads=15)\n",
|
|
" print(f' Image downloaded for ' +slot)\n",
|
|
" \n",
|
|
" time.sleep(.1)\n",
|
|
"\n",
|
|
"def merge_files(slot):\n",
|
|
" \n",
|
|
" # List the downloaded Tiffs in the different subfolders with pathlib (native library)\n",
|
|
" file_list = [f\"{x}/response.tiff\" for x in Path(BASE_PATH_SINGLE_IMAGES / slot).iterdir()]\n",
|
|
" \n",
|
|
" #print(file_list)\n",
|
|
"\n",
|
|
" folder_for_merged_tifs = str(BASE_PATH / 'merged_tif' / f\"{slot}.tif\")\n",
|
|
" folder_for_virtual_raster = str(BASE_PATH / 'merged_virtual' / f\"merged{slot}.vrt\")\n",
|
|
"\n",
|
|
" # Create a virtual raster\n",
|
|
" vrt_all = gdal.BuildVRT(folder_for_virtual_raster, file_list)\n",
|
|
" vrt_all = gdal.BuildVRT(folder_for_virtual_raster, file_list)\n",
|
|
"\n",
|
|
" # Convert to JPEG\n",
|
|
" gdal.Translate(folder_for_merged_tifs,folder_for_virtual_raster)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "848dc773-70d6-4ae6-b05c-d6ebfb41624d",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Monthly time windows:\n",
|
|
"\n",
|
|
"2023-02-07\n",
|
|
"2023-02-08\n",
|
|
"2023-02-09\n",
|
|
"...\n",
|
|
"2024-03-10\n",
|
|
"2024-03-11\n",
|
|
"2024-03-12\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"days_needed = int(os.environ.get(\"DAYS\", days))\n",
|
|
"date_str = os.environ.get(\"DATE\")\n",
|
|
"if date_str:\n",
|
|
" # Parse de datumstring naar een datetime.date object\n",
|
|
" end = datetime.datetime.strptime(date_str, \"%Y-%m-%d\").date()\n",
|
|
"else:\n",
|
|
" # Gebruik de huidige datum als fallback\n",
|
|
" end = datetime.date.today() \n",
|
|
"\n",
|
|
"start = end - datetime.timedelta(days=days_needed - 1)\n",
|
|
"\n",
|
|
"slots = [(start + datetime.timedelta(days=i)).strftime('%Y-%m-%d') for i in range(days_needed)]\n",
|
|
"\n",
|
|
"print('Monthly time windows:\\n')\n",
|
|
"if len(slots) > 10:\n",
|
|
" for slot in slots[:3]:\n",
|
|
" print(slot)\n",
|
|
" print(\"...\")\n",
|
|
" for slot in slots[-3:]:\n",
|
|
" print(slot)\n",
|
|
"else:\n",
|
|
" for slot in slots:\n",
|
|
" print(slot)\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f8ea846f-783b-4460-a951-7b522273555f",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Download images\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "7c0f8f0e-b1bc-4b5a-939d-e4358a485c06",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"if project == 'chemba':\n",
|
|
" chosen_area = [[34.9460, -17.3500, 34.9839, -17.3110], [34.8830, -17.3516, 34.9380, -17.2917]]\n",
|
|
"\n",
|
|
"if project == 'chemba_test_8b':\n",
|
|
" chosen_area = [[34.946, -17.3516, 34.938, -17.2917], [34.883, -17.3516, 34.938, -17.2917]]\n",
|
|
"\n",
|
|
"if project == 'xinavane':\n",
|
|
" chosen_area = [[32.6790, -25.0333, 32.7453, -25.0235], [32.6213, -25.0647, 32.6284, -25.0570]]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "6c02d7de-cddf-4fc3-8d23-8431415d07b8",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" Image downloaded for 2023-02-07\n",
|
|
" Image downloaded for 2023-02-07\n",
|
|
" Image downloaded for 2023-02-08\n",
|
|
" Image downloaded for 2023-02-08\n",
|
|
" Image downloaded for 2023-02-09\n",
|
|
" Image downloaded for 2023-02-09\n",
|
|
" Image downloaded for 2023-02-10\n",
|
|
" Image downloaded for 2023-02-10\n",
|
|
" Image downloaded for 2023-02-11\n",
|
|
" Image downloaded for 2023-02-11\n",
|
|
" Image downloaded for 2023-02-12\n",
|
|
" Image downloaded for 2023-02-12\n",
|
|
" Image downloaded for 2023-02-13\n",
|
|
" Image downloaded for 2023-02-13\n",
|
|
" Image downloaded for 2023-02-14\n",
|
|
" Image downloaded for 2023-02-14\n",
|
|
" Image downloaded for 2023-02-15\n",
|
|
" Image downloaded for 2023-02-15\n",
|
|
" Image downloaded for 2023-02-16\n",
|
|
" Image downloaded for 2023-02-16\n",
|
|
" Image downloaded for 2023-02-17\n",
|
|
" Image downloaded for 2023-02-17\n",
|
|
" Image downloaded for 2023-02-18\n",
|
|
" Image downloaded for 2023-02-18\n",
|
|
" Image downloaded for 2023-02-19\n",
|
|
" Image downloaded for 2023-02-19\n",
|
|
" Image downloaded for 2023-02-20\n",
|
|
" Image downloaded for 2023-02-20\n",
|
|
" Image downloaded for 2023-02-21\n",
|
|
" Image downloaded for 2023-02-21\n",
|
|
" Image downloaded for 2023-02-22\n",
|
|
" Image downloaded for 2023-02-22\n",
|
|
" Image downloaded for 2023-02-23\n",
|
|
" Image downloaded for 2023-02-23\n",
|
|
" Image downloaded for 2023-02-24\n",
|
|
" Image downloaded for 2023-02-24\n",
|
|
" Image downloaded for 2023-02-25\n",
|
|
" Image downloaded for 2023-02-25\n",
|
|
" Image downloaded for 2023-02-26\n",
|
|
" Image downloaded for 2023-02-26\n",
|
|
" Image downloaded for 2023-02-27\n",
|
|
" Image downloaded for 2023-02-27\n",
|
|
" Image downloaded for 2023-02-28\n",
|
|
" Image downloaded for 2023-02-28\n",
|
|
" Image downloaded for 2023-03-01\n",
|
|
" Image downloaded for 2023-03-01\n",
|
|
" Image downloaded for 2023-03-02\n",
|
|
" Image downloaded for 2023-03-02\n",
|
|
" Image downloaded for 2023-03-03\n",
|
|
" Image downloaded for 2023-03-03\n",
|
|
" Image downloaded for 2023-03-04\n",
|
|
" Image downloaded for 2023-03-04\n",
|
|
" Image downloaded for 2023-03-05\n",
|
|
" Image downloaded for 2023-03-05\n",
|
|
" Image downloaded for 2023-03-06\n",
|
|
" Image downloaded for 2023-03-06\n",
|
|
" Image downloaded for 2023-03-07\n",
|
|
" Image downloaded for 2023-03-07\n",
|
|
" Image downloaded for 2023-03-08\n",
|
|
" Image downloaded for 2023-03-08\n",
|
|
" Image downloaded for 2023-03-09\n",
|
|
" Image downloaded for 2023-03-09\n",
|
|
" Image downloaded for 2023-03-10\n",
|
|
" Image downloaded for 2023-03-10\n",
|
|
" Image downloaded for 2023-03-11\n",
|
|
" Image downloaded for 2023-03-11\n",
|
|
" Image downloaded for 2023-03-12\n",
|
|
" Image downloaded for 2023-03-12\n",
|
|
" Image downloaded for 2023-03-13\n",
|
|
" Image downloaded for 2023-03-13\n",
|
|
" Image downloaded for 2023-03-14\n",
|
|
" Image downloaded for 2023-03-14\n",
|
|
" Image downloaded for 2023-03-15\n",
|
|
" Image downloaded for 2023-03-15\n",
|
|
" Image downloaded for 2023-03-16\n",
|
|
" Image downloaded for 2023-03-16\n",
|
|
" Image downloaded for 2023-03-17\n",
|
|
" Image downloaded for 2023-03-17\n",
|
|
" Image downloaded for 2023-03-18\n",
|
|
" Image downloaded for 2023-03-18\n",
|
|
" Image downloaded for 2023-03-19\n",
|
|
" Image downloaded for 2023-03-19\n",
|
|
" Image downloaded for 2023-03-20\n",
|
|
" Image downloaded for 2023-03-20\n",
|
|
" Image downloaded for 2023-03-21\n",
|
|
" Image downloaded for 2023-03-21\n",
|
|
" Image downloaded for 2023-03-22\n",
|
|
" Image downloaded for 2023-03-22\n",
|
|
" Image downloaded for 2023-03-23\n",
|
|
" Image downloaded for 2023-03-23\n",
|
|
" Image downloaded for 2023-03-24\n",
|
|
" Image downloaded for 2023-03-24\n",
|
|
" Image downloaded for 2023-03-25\n",
|
|
" Image downloaded for 2023-03-25\n",
|
|
" Image downloaded for 2023-03-26\n",
|
|
" Image downloaded for 2023-03-26\n",
|
|
" Image downloaded for 2023-03-27\n",
|
|
" Image downloaded for 2023-03-27\n",
|
|
" Image downloaded for 2023-03-28\n",
|
|
" Image downloaded for 2023-03-28\n",
|
|
" Image downloaded for 2023-03-29\n",
|
|
" Image downloaded for 2023-03-29\n",
|
|
" Image downloaded for 2023-03-30\n",
|
|
" Image downloaded for 2023-03-30\n",
|
|
" Image downloaded for 2023-03-31\n",
|
|
" Image downloaded for 2023-03-31\n",
|
|
" Image downloaded for 2023-04-01\n",
|
|
" Image downloaded for 2023-04-01\n",
|
|
" Image downloaded for 2023-04-02\n",
|
|
" Image downloaded for 2023-04-02\n",
|
|
" Image downloaded for 2023-04-03\n",
|
|
" Image downloaded for 2023-04-03\n",
|
|
" Image downloaded for 2023-04-04\n",
|
|
" Image downloaded for 2023-04-04\n",
|
|
" Image downloaded for 2023-04-05\n",
|
|
" Image downloaded for 2023-04-05\n",
|
|
" Image downloaded for 2023-04-06\n",
|
|
" Image downloaded for 2023-04-06\n",
|
|
" Image downloaded for 2023-04-07\n",
|
|
" Image downloaded for 2023-04-07\n",
|
|
" Image downloaded for 2023-04-08\n",
|
|
" Image downloaded for 2023-04-08\n",
|
|
" Image downloaded for 2023-04-09\n",
|
|
" Image downloaded for 2023-04-09\n",
|
|
" Image downloaded for 2023-04-10\n",
|
|
" Image downloaded for 2023-04-10\n",
|
|
" Image downloaded for 2023-04-11\n",
|
|
" Image downloaded for 2023-04-11\n",
|
|
" Image downloaded for 2023-04-12\n",
|
|
" Image downloaded for 2023-04-12\n",
|
|
" Image downloaded for 2023-04-13\n",
|
|
" Image downloaded for 2023-04-13\n",
|
|
" Image downloaded for 2023-04-14\n",
|
|
" Image downloaded for 2023-04-14\n",
|
|
" Image downloaded for 2023-04-15\n",
|
|
" Image downloaded for 2023-04-15\n",
|
|
" Image downloaded for 2023-04-16\n",
|
|
" Image downloaded for 2023-04-16\n",
|
|
" Image downloaded for 2023-04-17\n",
|
|
" Image downloaded for 2023-04-17\n",
|
|
" Image downloaded for 2023-04-18\n",
|
|
" Image downloaded for 2023-04-18\n",
|
|
" Image downloaded for 2023-04-19\n",
|
|
" Image downloaded for 2023-04-19\n",
|
|
" Image downloaded for 2023-04-20\n",
|
|
" Image downloaded for 2023-04-20\n",
|
|
" Image downloaded for 2023-04-21\n",
|
|
" Image downloaded for 2023-04-21\n",
|
|
" Image downloaded for 2023-04-22\n",
|
|
" Image downloaded for 2023-04-22\n",
|
|
" Image downloaded for 2023-04-23\n",
|
|
" Image downloaded for 2023-04-23\n",
|
|
" Image downloaded for 2023-04-24\n",
|
|
" Image downloaded for 2023-04-24\n",
|
|
" Image downloaded for 2023-04-25\n",
|
|
" Image downloaded for 2023-04-25\n",
|
|
" Image downloaded for 2023-04-26\n",
|
|
" Image downloaded for 2023-04-26\n",
|
|
" Image downloaded for 2023-04-27\n",
|
|
" Image downloaded for 2023-04-27\n",
|
|
" Image downloaded for 2023-04-28\n",
|
|
" Image downloaded for 2023-04-28\n",
|
|
" Image downloaded for 2023-04-29\n",
|
|
" Image downloaded for 2023-04-29\n",
|
|
" Image downloaded for 2023-04-30\n",
|
|
" Image downloaded for 2023-04-30\n",
|
|
" Image downloaded for 2023-05-01\n",
|
|
" Image downloaded for 2023-05-01\n",
|
|
" Image downloaded for 2023-05-02\n",
|
|
" Image downloaded for 2023-05-02\n",
|
|
" Image downloaded for 2023-05-03\n",
|
|
" Image downloaded for 2023-05-03\n",
|
|
" Image downloaded for 2023-05-04\n",
|
|
" Image downloaded for 2023-05-04\n",
|
|
" Image downloaded for 2023-05-05\n",
|
|
" Image downloaded for 2023-05-05\n",
|
|
" Image downloaded for 2023-05-06\n",
|
|
" Image downloaded for 2023-05-06\n",
|
|
" Image downloaded for 2023-05-07\n",
|
|
" Image downloaded for 2023-05-07\n",
|
|
" Image downloaded for 2023-05-08\n",
|
|
" Image downloaded for 2023-05-08\n",
|
|
" Image downloaded for 2023-05-09\n",
|
|
" Image downloaded for 2023-05-09\n",
|
|
" Image downloaded for 2023-05-10\n",
|
|
" Image downloaded for 2023-05-10\n",
|
|
" Image downloaded for 2023-05-11\n",
|
|
" Image downloaded for 2023-05-11\n",
|
|
" Image downloaded for 2023-05-12\n",
|
|
" Image downloaded for 2023-05-12\n",
|
|
" Image downloaded for 2023-05-13\n",
|
|
" Image downloaded for 2023-05-13\n",
|
|
" Image downloaded for 2023-05-14\n",
|
|
" Image downloaded for 2023-05-14\n",
|
|
" Image downloaded for 2023-05-15\n",
|
|
" Image downloaded for 2023-05-15\n",
|
|
" Image downloaded for 2023-05-16\n",
|
|
" Image downloaded for 2023-05-16\n",
|
|
" Image downloaded for 2023-05-17\n",
|
|
" Image downloaded for 2023-05-17\n",
|
|
" Image downloaded for 2023-05-18\n",
|
|
" Image downloaded for 2023-05-18\n",
|
|
" Image downloaded for 2023-05-19\n",
|
|
" Image downloaded for 2023-05-19\n",
|
|
" Image downloaded for 2023-05-20\n",
|
|
" Image downloaded for 2023-05-20\n",
|
|
" Image downloaded for 2023-05-21\n",
|
|
" Image downloaded for 2023-05-21\n",
|
|
" Image downloaded for 2023-05-22\n",
|
|
" Image downloaded for 2023-05-22\n",
|
|
" Image downloaded for 2023-05-23\n",
|
|
" Image downloaded for 2023-05-23\n",
|
|
" Image downloaded for 2023-05-24\n",
|
|
" Image downloaded for 2023-05-24\n",
|
|
" Image downloaded for 2023-05-25\n",
|
|
" Image downloaded for 2023-05-25\n",
|
|
" Image downloaded for 2023-05-26\n",
|
|
" Image downloaded for 2023-05-26\n",
|
|
" Image downloaded for 2023-05-27\n",
|
|
" Image downloaded for 2023-05-27\n",
|
|
" Image downloaded for 2023-05-28\n",
|
|
" Image downloaded for 2023-05-28\n",
|
|
" Image downloaded for 2023-05-29\n",
|
|
" Image downloaded for 2023-05-29\n",
|
|
" Image downloaded for 2023-05-30\n",
|
|
" Image downloaded for 2023-05-30\n",
|
|
" Image downloaded for 2023-05-31\n",
|
|
" Image downloaded for 2023-05-31\n",
|
|
" Image downloaded for 2023-06-01\n",
|
|
" Image downloaded for 2023-06-01\n",
|
|
" Image downloaded for 2023-06-02\n",
|
|
" Image downloaded for 2023-06-02\n",
|
|
" Image downloaded for 2023-06-03\n",
|
|
" Image downloaded for 2023-06-03\n",
|
|
" Image downloaded for 2023-06-04\n",
|
|
" Image downloaded for 2023-06-04\n",
|
|
" Image downloaded for 2023-06-05\n",
|
|
" Image downloaded for 2023-06-05\n",
|
|
" Image downloaded for 2023-06-06\n",
|
|
" Image downloaded for 2023-06-06\n",
|
|
" Image downloaded for 2023-06-07\n",
|
|
" Image downloaded for 2023-06-07\n",
|
|
" Image downloaded for 2023-06-08\n",
|
|
" Image downloaded for 2023-06-08\n",
|
|
" Image downloaded for 2023-06-09\n",
|
|
" Image downloaded for 2023-06-09\n",
|
|
" Image downloaded for 2023-06-10\n",
|
|
" Image downloaded for 2023-06-10\n",
|
|
" Image downloaded for 2023-06-11\n",
|
|
" Image downloaded for 2023-06-11\n",
|
|
" Image downloaded for 2023-06-12\n",
|
|
" Image downloaded for 2023-06-12\n",
|
|
" Image downloaded for 2023-06-13\n",
|
|
" Image downloaded for 2023-06-13\n",
|
|
" Image downloaded for 2023-06-14\n",
|
|
" Image downloaded for 2023-06-14\n",
|
|
" Image downloaded for 2023-06-15\n",
|
|
" Image downloaded for 2023-06-15\n",
|
|
" Image downloaded for 2023-06-16\n",
|
|
" Image downloaded for 2023-06-16\n",
|
|
" Image downloaded for 2023-06-17\n",
|
|
" Image downloaded for 2023-06-17\n",
|
|
" Image downloaded for 2023-06-18\n",
|
|
" Image downloaded for 2023-06-18\n",
|
|
" Image downloaded for 2023-06-19\n",
|
|
" Image downloaded for 2023-06-19\n",
|
|
" Image downloaded for 2023-06-20\n",
|
|
" Image downloaded for 2023-06-20\n",
|
|
" Image downloaded for 2023-06-21\n",
|
|
" Image downloaded for 2023-06-21\n",
|
|
" Image downloaded for 2023-06-22\n",
|
|
" Image downloaded for 2023-06-22\n",
|
|
" Image downloaded for 2023-06-23\n",
|
|
" Image downloaded for 2023-06-23\n",
|
|
" Image downloaded for 2023-06-24\n",
|
|
" Image downloaded for 2023-06-24\n",
|
|
" Image downloaded for 2023-06-25\n",
|
|
" Image downloaded for 2023-06-25\n",
|
|
" Image downloaded for 2023-06-26\n",
|
|
" Image downloaded for 2023-06-26\n",
|
|
" Image downloaded for 2023-06-27\n",
|
|
" Image downloaded for 2023-06-27\n",
|
|
" Image downloaded for 2023-06-28\n",
|
|
" Image downloaded for 2023-06-28\n",
|
|
" Image downloaded for 2023-06-29\n",
|
|
" Image downloaded for 2023-06-29\n",
|
|
" Image downloaded for 2023-06-30\n",
|
|
" Image downloaded for 2023-06-30\n",
|
|
" Image downloaded for 2023-07-01\n",
|
|
" Image downloaded for 2023-07-01\n",
|
|
" Image downloaded for 2023-07-02\n",
|
|
" Image downloaded for 2023-07-02\n",
|
|
" Image downloaded for 2023-07-03\n",
|
|
" Image downloaded for 2023-07-03\n",
|
|
" Image downloaded for 2023-07-04\n",
|
|
" Image downloaded for 2023-07-04\n",
|
|
" Image downloaded for 2023-07-05\n",
|
|
" Image downloaded for 2023-07-05\n",
|
|
" Image downloaded for 2023-07-06\n",
|
|
" Image downloaded for 2023-07-06\n",
|
|
" Image downloaded for 2023-07-07\n",
|
|
" Image downloaded for 2023-07-07\n",
|
|
" Image downloaded for 2023-07-08\n",
|
|
" Image downloaded for 2023-07-08\n",
|
|
" Image downloaded for 2023-07-09\n",
|
|
" Image downloaded for 2023-07-09\n",
|
|
" Image downloaded for 2023-07-10\n",
|
|
" Image downloaded for 2023-07-10\n",
|
|
" Image downloaded for 2023-07-11\n",
|
|
" Image downloaded for 2023-07-11\n",
|
|
" Image downloaded for 2023-07-12\n",
|
|
" Image downloaded for 2023-07-12\n",
|
|
" Image downloaded for 2023-07-13\n",
|
|
" Image downloaded for 2023-07-13\n",
|
|
" Image downloaded for 2023-07-14\n",
|
|
" Image downloaded for 2023-07-14\n",
|
|
" Image downloaded for 2023-07-15\n",
|
|
" Image downloaded for 2023-07-15\n",
|
|
" Image downloaded for 2023-07-16\n",
|
|
" Image downloaded for 2023-07-16\n",
|
|
" Image downloaded for 2023-07-17\n",
|
|
" Image downloaded for 2023-07-17\n",
|
|
" Image downloaded for 2023-07-18\n",
|
|
" Image downloaded for 2023-07-18\n",
|
|
" Image downloaded for 2023-07-19\n",
|
|
" Image downloaded for 2023-07-19\n",
|
|
" Image downloaded for 2023-07-20\n",
|
|
" Image downloaded for 2023-07-20\n",
|
|
" Image downloaded for 2023-07-21\n",
|
|
" Image downloaded for 2023-07-21\n",
|
|
" Image downloaded for 2023-07-22\n",
|
|
" Image downloaded for 2023-07-22\n",
|
|
" Image downloaded for 2023-07-23\n",
|
|
" Image downloaded for 2023-07-23\n",
|
|
" Image downloaded for 2023-07-24\n",
|
|
" Image downloaded for 2023-07-24\n",
|
|
" Image downloaded for 2023-07-25\n",
|
|
" Image downloaded for 2023-07-25\n",
|
|
" Image downloaded for 2023-07-26\n",
|
|
" Image downloaded for 2023-07-26\n",
|
|
" Image downloaded for 2023-07-27\n",
|
|
" Image downloaded for 2023-07-27\n",
|
|
" Image downloaded for 2023-07-28\n",
|
|
" Image downloaded for 2023-07-28\n",
|
|
" Image downloaded for 2023-07-29\n",
|
|
" Image downloaded for 2023-07-29\n",
|
|
" Image downloaded for 2023-07-30\n",
|
|
" Image downloaded for 2023-07-30\n",
|
|
" Image downloaded for 2023-07-31\n",
|
|
" Image downloaded for 2023-07-31\n",
|
|
" Image downloaded for 2023-08-01\n",
|
|
" Image downloaded for 2023-08-01\n",
|
|
" Image downloaded for 2023-08-02\n",
|
|
" Image downloaded for 2023-08-02\n",
|
|
" Image downloaded for 2023-08-03\n",
|
|
" Image downloaded for 2023-08-03\n",
|
|
" Image downloaded for 2023-08-04\n",
|
|
" Image downloaded for 2023-08-04\n",
|
|
" Image downloaded for 2023-08-05\n",
|
|
" Image downloaded for 2023-08-05\n",
|
|
" Image downloaded for 2023-08-06\n",
|
|
" Image downloaded for 2023-08-06\n",
|
|
" Image downloaded for 2023-08-07\n",
|
|
" Image downloaded for 2023-08-07\n",
|
|
" Image downloaded for 2023-08-08\n",
|
|
" Image downloaded for 2023-08-08\n",
|
|
" Image downloaded for 2023-08-09\n",
|
|
" Image downloaded for 2023-08-09\n",
|
|
" Image downloaded for 2023-08-10\n",
|
|
" Image downloaded for 2023-08-10\n",
|
|
" Image downloaded for 2023-08-11\n",
|
|
" Image downloaded for 2023-08-11\n",
|
|
" Image downloaded for 2023-08-12\n",
|
|
" Image downloaded for 2023-08-12\n",
|
|
" Image downloaded for 2023-08-13\n",
|
|
" Image downloaded for 2023-08-13\n",
|
|
" Image downloaded for 2023-08-14\n",
|
|
" Image downloaded for 2023-08-14\n",
|
|
" Image downloaded for 2023-08-15\n",
|
|
" Image downloaded for 2023-08-15\n",
|
|
" Image downloaded for 2023-08-16\n",
|
|
" Image downloaded for 2023-08-16\n",
|
|
" Image downloaded for 2023-08-17\n",
|
|
" Image downloaded for 2023-08-17\n",
|
|
" Image downloaded for 2023-08-18\n",
|
|
" Image downloaded for 2023-08-18\n",
|
|
" Image downloaded for 2023-08-19\n",
|
|
" Image downloaded for 2023-08-19\n",
|
|
" Image downloaded for 2023-08-20\n",
|
|
" Image downloaded for 2023-08-20\n",
|
|
" Image downloaded for 2023-08-21\n",
|
|
" Image downloaded for 2023-08-21\n",
|
|
" Image downloaded for 2023-08-22\n",
|
|
" Image downloaded for 2023-08-22\n",
|
|
" Image downloaded for 2023-08-23\n",
|
|
" Image downloaded for 2023-08-23\n",
|
|
" Image downloaded for 2023-08-24\n",
|
|
" Image downloaded for 2023-08-24\n",
|
|
" Image downloaded for 2023-08-25\n",
|
|
" Image downloaded for 2023-08-25\n",
|
|
" Image downloaded for 2023-08-26\n",
|
|
" Image downloaded for 2023-08-26\n",
|
|
" Image downloaded for 2023-08-27\n",
|
|
" Image downloaded for 2023-08-27\n",
|
|
" Image downloaded for 2023-08-28\n",
|
|
" Image downloaded for 2023-08-28\n",
|
|
" Image downloaded for 2023-08-29\n",
|
|
" Image downloaded for 2023-08-29\n",
|
|
" Image downloaded for 2023-08-30\n",
|
|
" Image downloaded for 2023-08-30\n",
|
|
" Image downloaded for 2023-08-31\n",
|
|
" Image downloaded for 2023-08-31\n",
|
|
" Image downloaded for 2023-09-01\n",
|
|
" Image downloaded for 2023-09-01\n",
|
|
" Image downloaded for 2023-09-02\n",
|
|
" Image downloaded for 2023-09-02\n",
|
|
" Image downloaded for 2023-09-03\n",
|
|
" Image downloaded for 2023-09-03\n",
|
|
" Image downloaded for 2023-09-04\n",
|
|
" Image downloaded for 2023-09-04\n",
|
|
" Image downloaded for 2023-09-05\n",
|
|
" Image downloaded for 2023-09-05\n",
|
|
" Image downloaded for 2023-09-06\n",
|
|
" Image downloaded for 2023-09-06\n",
|
|
" Image downloaded for 2023-09-07\n",
|
|
" Image downloaded for 2023-09-07\n",
|
|
" Image downloaded for 2023-09-08\n",
|
|
" Image downloaded for 2023-09-08\n",
|
|
" Image downloaded for 2023-09-09\n",
|
|
" Image downloaded for 2023-09-09\n",
|
|
" Image downloaded for 2023-09-10\n",
|
|
" Image downloaded for 2023-09-10\n",
|
|
" Image downloaded for 2023-09-11\n",
|
|
" Image downloaded for 2023-09-11\n",
|
|
" Image downloaded for 2023-09-12\n",
|
|
" Image downloaded for 2023-09-12\n",
|
|
" Image downloaded for 2023-09-13\n",
|
|
" Image downloaded for 2023-09-13\n",
|
|
" Image downloaded for 2023-09-14\n",
|
|
" Image downloaded for 2023-09-14\n",
|
|
" Image downloaded for 2023-09-15\n",
|
|
" Image downloaded for 2023-09-15\n",
|
|
" Image downloaded for 2023-09-16\n",
|
|
" Image downloaded for 2023-09-16\n",
|
|
" Image downloaded for 2023-09-17\n",
|
|
" Image downloaded for 2023-09-17\n",
|
|
" Image downloaded for 2023-09-18\n",
|
|
" Image downloaded for 2023-09-18\n",
|
|
" Image downloaded for 2023-09-19\n",
|
|
" Image downloaded for 2023-09-19\n",
|
|
" Image downloaded for 2023-09-20\n",
|
|
" Image downloaded for 2023-09-20\n",
|
|
" Image downloaded for 2023-09-21\n",
|
|
" Image downloaded for 2023-09-21\n",
|
|
" Image downloaded for 2023-09-22\n",
|
|
" Image downloaded for 2023-09-22\n",
|
|
" Image downloaded for 2023-09-23\n",
|
|
" Image downloaded for 2023-09-23\n",
|
|
" Image downloaded for 2023-09-24\n",
|
|
" Image downloaded for 2023-09-24\n",
|
|
" Image downloaded for 2023-09-25\n",
|
|
" Image downloaded for 2023-09-25\n",
|
|
" Image downloaded for 2023-09-26\n",
|
|
" Image downloaded for 2023-09-26\n",
|
|
" Image downloaded for 2023-09-27\n",
|
|
" Image downloaded for 2023-09-27\n",
|
|
" Image downloaded for 2023-09-28\n",
|
|
" Image downloaded for 2023-09-28\n",
|
|
" Image downloaded for 2023-09-29\n",
|
|
" Image downloaded for 2023-09-29\n",
|
|
" Image downloaded for 2023-09-30\n",
|
|
" Image downloaded for 2023-09-30\n",
|
|
" Image downloaded for 2023-10-01\n",
|
|
" Image downloaded for 2023-10-01\n",
|
|
" Image downloaded for 2023-10-02\n",
|
|
" Image downloaded for 2023-10-02\n",
|
|
" Image downloaded for 2023-10-03\n",
|
|
" Image downloaded for 2023-10-03\n",
|
|
" Image downloaded for 2023-10-04\n",
|
|
" Image downloaded for 2023-10-04\n",
|
|
" Image downloaded for 2023-10-05\n",
|
|
" Image downloaded for 2023-10-05\n",
|
|
" Image downloaded for 2023-10-06\n",
|
|
" Image downloaded for 2023-10-06\n",
|
|
" Image downloaded for 2023-10-07\n",
|
|
" Image downloaded for 2023-10-07\n",
|
|
" Image downloaded for 2023-10-08\n",
|
|
" Image downloaded for 2023-10-08\n",
|
|
" Image downloaded for 2023-10-09\n",
|
|
" Image downloaded for 2023-10-09\n",
|
|
" Image downloaded for 2023-10-10\n",
|
|
" Image downloaded for 2023-10-10\n",
|
|
" Image downloaded for 2023-10-11\n",
|
|
" Image downloaded for 2023-10-11\n",
|
|
" Image downloaded for 2023-10-12\n",
|
|
" Image downloaded for 2023-10-12\n",
|
|
" Image downloaded for 2023-10-13\n",
|
|
" Image downloaded for 2023-10-13\n",
|
|
" Image downloaded for 2023-10-14\n",
|
|
" Image downloaded for 2023-10-14\n",
|
|
" Image downloaded for 2023-10-15\n",
|
|
" Image downloaded for 2023-10-15\n",
|
|
" Image downloaded for 2023-10-16\n",
|
|
" Image downloaded for 2023-10-16\n",
|
|
" Image downloaded for 2023-10-17\n",
|
|
" Image downloaded for 2023-10-17\n",
|
|
" Image downloaded for 2023-10-18\n",
|
|
" Image downloaded for 2023-10-18\n",
|
|
" Image downloaded for 2023-10-19\n",
|
|
" Image downloaded for 2023-10-19\n",
|
|
" Image downloaded for 2023-10-20\n",
|
|
" Image downloaded for 2023-10-20\n",
|
|
" Image downloaded for 2023-10-21\n",
|
|
" Image downloaded for 2023-10-21\n",
|
|
" Image downloaded for 2023-10-22\n",
|
|
" Image downloaded for 2023-10-22\n",
|
|
" Image downloaded for 2023-10-23\n",
|
|
" Image downloaded for 2023-10-23\n",
|
|
" Image downloaded for 2023-10-24\n",
|
|
" Image downloaded for 2023-10-24\n",
|
|
" Image downloaded for 2023-10-25\n",
|
|
" Image downloaded for 2023-10-25\n",
|
|
" Image downloaded for 2023-10-26\n",
|
|
" Image downloaded for 2023-10-26\n",
|
|
" Image downloaded for 2023-10-27\n",
|
|
" Image downloaded for 2023-10-27\n",
|
|
" Image downloaded for 2023-10-28\n",
|
|
" Image downloaded for 2023-10-28\n",
|
|
" Image downloaded for 2023-10-29\n",
|
|
" Image downloaded for 2023-10-29\n",
|
|
" Image downloaded for 2023-10-30\n",
|
|
" Image downloaded for 2023-10-30\n",
|
|
" Image downloaded for 2023-10-31\n",
|
|
" Image downloaded for 2023-10-31\n",
|
|
" Image downloaded for 2023-11-01\n",
|
|
" Image downloaded for 2023-11-01\n",
|
|
" Image downloaded for 2023-11-02\n",
|
|
" Image downloaded for 2023-11-02\n",
|
|
" Image downloaded for 2023-11-03\n",
|
|
" Image downloaded for 2023-11-03\n",
|
|
" Image downloaded for 2023-11-04\n",
|
|
" Image downloaded for 2023-11-04\n",
|
|
" Image downloaded for 2023-11-05\n",
|
|
" Image downloaded for 2023-11-05\n",
|
|
" Image downloaded for 2023-11-06\n",
|
|
" Image downloaded for 2023-11-06\n",
|
|
" Image downloaded for 2023-11-07\n",
|
|
" Image downloaded for 2023-11-07\n",
|
|
" Image downloaded for 2023-11-08\n",
|
|
" Image downloaded for 2023-11-08\n",
|
|
" Image downloaded for 2023-11-09\n",
|
|
" Image downloaded for 2023-11-09\n",
|
|
" Image downloaded for 2023-11-10\n",
|
|
" Image downloaded for 2023-11-10\n",
|
|
" Image downloaded for 2023-11-11\n",
|
|
" Image downloaded for 2023-11-11\n",
|
|
" Image downloaded for 2023-11-12\n",
|
|
" Image downloaded for 2023-11-12\n",
|
|
" Image downloaded for 2023-11-13\n",
|
|
" Image downloaded for 2023-11-13\n",
|
|
" Image downloaded for 2023-11-14\n",
|
|
" Image downloaded for 2023-11-14\n",
|
|
" Image downloaded for 2023-11-15\n",
|
|
" Image downloaded for 2023-11-15\n",
|
|
" Image downloaded for 2023-11-16\n",
|
|
" Image downloaded for 2023-11-16\n",
|
|
" Image downloaded for 2023-11-17\n",
|
|
" Image downloaded for 2023-11-17\n",
|
|
" Image downloaded for 2023-11-18\n",
|
|
" Image downloaded for 2023-11-18\n",
|
|
" Image downloaded for 2023-11-19\n",
|
|
" Image downloaded for 2023-11-19\n",
|
|
" Image downloaded for 2023-11-20\n",
|
|
" Image downloaded for 2023-11-20\n",
|
|
" Image downloaded for 2023-11-21\n",
|
|
" Image downloaded for 2023-11-21\n",
|
|
" Image downloaded for 2023-11-22\n",
|
|
" Image downloaded for 2023-11-22\n",
|
|
" Image downloaded for 2023-11-23\n",
|
|
" Image downloaded for 2023-11-23\n",
|
|
" Image downloaded for 2023-11-24\n",
|
|
" Image downloaded for 2023-11-24\n",
|
|
" Image downloaded for 2023-11-25\n",
|
|
" Image downloaded for 2023-11-25\n",
|
|
" Image downloaded for 2023-11-26\n",
|
|
" Image downloaded for 2023-11-26\n",
|
|
" Image downloaded for 2023-11-27\n",
|
|
" Image downloaded for 2023-11-27\n",
|
|
" Image downloaded for 2023-11-28\n",
|
|
" Image downloaded for 2023-11-28\n",
|
|
" Image downloaded for 2023-11-29\n",
|
|
" Image downloaded for 2023-11-29\n",
|
|
" Image downloaded for 2023-11-30\n",
|
|
" Image downloaded for 2023-11-30\n",
|
|
" Image downloaded for 2023-12-01\n",
|
|
" Image downloaded for 2023-12-01\n",
|
|
" Image downloaded for 2023-12-02\n",
|
|
" Image downloaded for 2023-12-02\n",
|
|
" Image downloaded for 2023-12-03\n",
|
|
" Image downloaded for 2023-12-03\n",
|
|
" Image downloaded for 2023-12-04\n",
|
|
" Image downloaded for 2023-12-04\n",
|
|
" Image downloaded for 2023-12-05\n",
|
|
" Image downloaded for 2023-12-05\n",
|
|
" Image downloaded for 2023-12-06\n",
|
|
" Image downloaded for 2023-12-06\n",
|
|
" Image downloaded for 2023-12-07\n",
|
|
" Image downloaded for 2023-12-07\n",
|
|
" Image downloaded for 2023-12-08\n",
|
|
" Image downloaded for 2023-12-08\n",
|
|
" Image downloaded for 2023-12-09\n",
|
|
" Image downloaded for 2023-12-09\n",
|
|
" Image downloaded for 2023-12-10\n",
|
|
" Image downloaded for 2023-12-10\n",
|
|
" Image downloaded for 2023-12-11\n",
|
|
" Image downloaded for 2023-12-11\n",
|
|
" Image downloaded for 2023-12-12\n",
|
|
" Image downloaded for 2023-12-12\n",
|
|
" Image downloaded for 2023-12-13\n",
|
|
" Image downloaded for 2023-12-13\n",
|
|
" Image downloaded for 2023-12-14\n",
|
|
" Image downloaded for 2023-12-14\n",
|
|
" Image downloaded for 2023-12-15\n",
|
|
" Image downloaded for 2023-12-15\n",
|
|
" Image downloaded for 2023-12-16\n",
|
|
" Image downloaded for 2023-12-16\n",
|
|
" Image downloaded for 2023-12-17\n",
|
|
" Image downloaded for 2023-12-17\n",
|
|
" Image downloaded for 2023-12-18\n",
|
|
" Image downloaded for 2023-12-18\n",
|
|
" Image downloaded for 2023-12-19\n",
|
|
" Image downloaded for 2023-12-19\n",
|
|
" Image downloaded for 2023-12-20\n",
|
|
" Image downloaded for 2023-12-20\n",
|
|
" Image downloaded for 2023-12-21\n",
|
|
" Image downloaded for 2023-12-21\n",
|
|
" Image downloaded for 2023-12-22\n",
|
|
" Image downloaded for 2023-12-22\n",
|
|
" Image downloaded for 2023-12-23\n",
|
|
" Image downloaded for 2023-12-23\n",
|
|
" Image downloaded for 2023-12-24\n",
|
|
" Image downloaded for 2023-12-24\n",
|
|
" Image downloaded for 2023-12-25\n",
|
|
" Image downloaded for 2023-12-25\n",
|
|
" Image downloaded for 2023-12-26\n",
|
|
" Image downloaded for 2023-12-26\n",
|
|
" Image downloaded for 2023-12-27\n",
|
|
" Image downloaded for 2023-12-27\n",
|
|
" Image downloaded for 2023-12-28\n",
|
|
" Image downloaded for 2023-12-28\n",
|
|
" Image downloaded for 2023-12-29\n",
|
|
" Image downloaded for 2023-12-29\n",
|
|
" Image downloaded for 2023-12-30\n",
|
|
" Image downloaded for 2023-12-30\n",
|
|
" Image downloaded for 2023-12-31\n",
|
|
" Image downloaded for 2023-12-31\n",
|
|
" Image downloaded for 2024-01-01\n",
|
|
" Image downloaded for 2024-01-01\n",
|
|
" Image downloaded for 2024-01-02\n",
|
|
" Image downloaded for 2024-01-02\n",
|
|
" Image downloaded for 2024-01-03\n",
|
|
" Image downloaded for 2024-01-03\n",
|
|
" Image downloaded for 2024-01-04\n",
|
|
" Image downloaded for 2024-01-04\n",
|
|
" Image downloaded for 2024-01-05\n",
|
|
" Image downloaded for 2024-01-05\n",
|
|
" Image downloaded for 2024-01-06\n",
|
|
" Image downloaded for 2024-01-06\n",
|
|
" Image downloaded for 2024-01-07\n",
|
|
" Image downloaded for 2024-01-07\n",
|
|
" Image downloaded for 2024-01-08\n",
|
|
" Image downloaded for 2024-01-08\n",
|
|
" Image downloaded for 2024-01-09\n",
|
|
" Image downloaded for 2024-01-09\n",
|
|
" Image downloaded for 2024-01-10\n",
|
|
" Image downloaded for 2024-01-10\n",
|
|
" Image downloaded for 2024-01-11\n",
|
|
" Image downloaded for 2024-01-11\n",
|
|
" Image downloaded for 2024-01-12\n",
|
|
" Image downloaded for 2024-01-12\n",
|
|
" Image downloaded for 2024-01-13\n",
|
|
" Image downloaded for 2024-01-13\n",
|
|
" Image downloaded for 2024-01-14\n",
|
|
" Image downloaded for 2024-01-14\n",
|
|
" Image downloaded for 2024-01-15\n",
|
|
" Image downloaded for 2024-01-15\n",
|
|
" Image downloaded for 2024-01-16\n",
|
|
" Image downloaded for 2024-01-16\n",
|
|
" Image downloaded for 2024-01-17\n",
|
|
" Image downloaded for 2024-01-17\n",
|
|
" Image downloaded for 2024-01-18\n",
|
|
" Image downloaded for 2024-01-18\n",
|
|
" Image downloaded for 2024-01-19\n",
|
|
" Image downloaded for 2024-01-19\n",
|
|
" Image downloaded for 2024-01-20\n",
|
|
" Image downloaded for 2024-01-20\n",
|
|
" Image downloaded for 2024-01-21\n",
|
|
" Image downloaded for 2024-01-21\n",
|
|
" Image downloaded for 2024-01-22\n",
|
|
" Image downloaded for 2024-01-22\n",
|
|
" Image downloaded for 2024-01-23\n",
|
|
" Image downloaded for 2024-01-23\n",
|
|
" Image downloaded for 2024-01-24\n",
|
|
" Image downloaded for 2024-01-24\n",
|
|
" Image downloaded for 2024-01-25\n",
|
|
" Image downloaded for 2024-01-25\n",
|
|
" Image downloaded for 2024-01-26\n",
|
|
" Image downloaded for 2024-01-26\n",
|
|
" Image downloaded for 2024-01-27\n",
|
|
" Image downloaded for 2024-01-27\n",
|
|
" Image downloaded for 2024-01-28\n",
|
|
" Image downloaded for 2024-01-28\n",
|
|
" Image downloaded for 2024-01-29\n",
|
|
" Image downloaded for 2024-01-29\n",
|
|
" Image downloaded for 2024-01-30\n",
|
|
" Image downloaded for 2024-01-30\n",
|
|
" Image downloaded for 2024-01-31\n",
|
|
" Image downloaded for 2024-01-31\n",
|
|
" Image downloaded for 2024-02-01\n",
|
|
" Image downloaded for 2024-02-01\n",
|
|
" Image downloaded for 2024-02-02\n",
|
|
" Image downloaded for 2024-02-02\n",
|
|
" Image downloaded for 2024-02-03\n",
|
|
" Image downloaded for 2024-02-03\n",
|
|
" Image downloaded for 2024-02-04\n",
|
|
" Image downloaded for 2024-02-04\n",
|
|
" Image downloaded for 2024-02-05\n",
|
|
" Image downloaded for 2024-02-05\n",
|
|
" Image downloaded for 2024-02-06\n",
|
|
" Image downloaded for 2024-02-06\n",
|
|
" Image downloaded for 2024-02-07\n",
|
|
" Image downloaded for 2024-02-07\n",
|
|
" Image downloaded for 2024-02-08\n",
|
|
" Image downloaded for 2024-02-08\n",
|
|
" Image downloaded for 2024-02-09\n",
|
|
" Image downloaded for 2024-02-09\n",
|
|
" Image downloaded for 2024-02-10\n",
|
|
" Image downloaded for 2024-02-10\n",
|
|
" Image downloaded for 2024-02-11\n",
|
|
" Image downloaded for 2024-02-11\n",
|
|
" Image downloaded for 2024-02-12\n",
|
|
" Image downloaded for 2024-02-12\n",
|
|
" Image downloaded for 2024-02-13\n",
|
|
" Image downloaded for 2024-02-13\n",
|
|
" Image downloaded for 2024-02-14\n",
|
|
" Image downloaded for 2024-02-14\n",
|
|
" Image downloaded for 2024-02-15\n",
|
|
" Image downloaded for 2024-02-15\n",
|
|
" Image downloaded for 2024-02-16\n",
|
|
" Image downloaded for 2024-02-16\n",
|
|
" Image downloaded for 2024-02-17\n",
|
|
" Image downloaded for 2024-02-17\n",
|
|
" Image downloaded for 2024-02-18\n",
|
|
" Image downloaded for 2024-02-18\n",
|
|
" Image downloaded for 2024-02-19\n",
|
|
" Image downloaded for 2024-02-19\n",
|
|
" Image downloaded for 2024-02-20\n",
|
|
" Image downloaded for 2024-02-20\n",
|
|
" Image downloaded for 2024-02-21\n",
|
|
" Image downloaded for 2024-02-21\n",
|
|
" Image downloaded for 2024-02-22\n",
|
|
" Image downloaded for 2024-02-22\n",
|
|
" Image downloaded for 2024-02-23\n",
|
|
" Image downloaded for 2024-02-23\n",
|
|
" Image downloaded for 2024-02-24\n",
|
|
" Image downloaded for 2024-02-24\n",
|
|
" Image downloaded for 2024-02-25\n",
|
|
" Image downloaded for 2024-02-25\n",
|
|
" Image downloaded for 2024-02-26\n",
|
|
" Image downloaded for 2024-02-26\n",
|
|
" Image downloaded for 2024-02-27\n",
|
|
" Image downloaded for 2024-02-27\n",
|
|
" Image downloaded for 2024-02-28\n",
|
|
" Image downloaded for 2024-02-28\n",
|
|
" Image downloaded for 2024-02-29\n",
|
|
" Image downloaded for 2024-02-29\n",
|
|
" Image downloaded for 2024-03-01\n",
|
|
" Image downloaded for 2024-03-01\n",
|
|
" Image downloaded for 2024-03-02\n",
|
|
" Image downloaded for 2024-03-02\n",
|
|
" Image downloaded for 2024-03-03\n",
|
|
" Image downloaded for 2024-03-03\n",
|
|
" Image downloaded for 2024-03-04\n",
|
|
" Image downloaded for 2024-03-04\n",
|
|
" Image downloaded for 2024-03-05\n",
|
|
" Image downloaded for 2024-03-05\n",
|
|
" Image downloaded for 2024-03-06\n",
|
|
" Image downloaded for 2024-03-06\n",
|
|
" Image downloaded for 2024-03-07\n",
|
|
" Image downloaded for 2024-03-07\n",
|
|
" Image downloaded for 2024-03-08\n",
|
|
" Image downloaded for 2024-03-08\n",
|
|
" Image downloaded for 2024-03-09\n",
|
|
" Image downloaded for 2024-03-09\n",
|
|
" Image downloaded for 2024-03-10\n",
|
|
" Image downloaded for 2024-03-10\n",
|
|
" Image downloaded for 2024-03-11\n",
|
|
" Image downloaded for 2024-03-11\n",
|
|
" Image downloaded for 2024-03-12\n",
|
|
" Image downloaded for 2024-03-12\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Load areas outside the loop if they remain constant\n",
|
|
"bbox_area = json.dumps(chosen_area)\n",
|
|
"areas = json.loads(os.getenv('BBOX', bbox_area))\n",
|
|
"resolution = 3\n",
|
|
"\n",
|
|
"for slot in slots:\n",
|
|
" for area in areas:\n",
|
|
" bbox = BBox(bbox=area, crs=CRS.WGS84)\n",
|
|
" size = bbox_to_dimensions(bbox, resolution=resolution)\n",
|
|
" download_function(slot, bbox, size)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"id": "68db3c15-6f94-432e-b315-c329e4251b21",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"for slot in slots:\n",
|
|
" merge_files(slot)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4274d8e7-1ea3-46db-9528-069ede0b2132",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"#### Delete intermediate files\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"id": "cb3fa856-a550-4899-844a-e69209bba3ad",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Skipping empty_folders function.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# List of folder names\n",
|
|
"\n",
|
|
"folders_to_empty = [BASE_PATH / 'merged_virtual', BASE_PATH_SINGLE_IMAGES]\n",
|
|
" \n",
|
|
"# Function to empty folders\n",
|
|
"\n",
|
|
"# Function to empty folders\n",
|
|
"def empty_folders(folders, run=True):\n",
|
|
" if not run:\n",
|
|
" print(\"Skipping empty_folders function.\")\n",
|
|
" return\n",
|
|
" \n",
|
|
" for folder in folders:\n",
|
|
" try:\n",
|
|
" for filename in os.listdir(folder):\n",
|
|
" file_path = os.path.join(folder, filename)\n",
|
|
" try:\n",
|
|
" if os.path.isfile(file_path):\n",
|
|
" os.unlink(file_path)\n",
|
|
" elif os.path.isdir(file_path):\n",
|
|
" shutil.rmtree(file_path)\n",
|
|
" except Exception as e:\n",
|
|
" print(f\"Error: {e}\")\n",
|
|
" print(f\"Emptied folder: {folder}\")\n",
|
|
" except OSError as e:\n",
|
|
" print(f\"Error: {e}\")\n",
|
|
"\n",
|
|
"# Call the function to empty folders only if the 'run' parameter is set to True\n",
|
|
"empty_folders(folders_to_empty, run=empty_folder_question)\n"
|
|
]
|
|
}
|
|
],
|
|
"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.9.13"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|