{
 "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, Geometry, SentinelHubCatalog\n",
    "\n",
    "config = SHConfig()\n",
    "catalog = SentinelHubCatalog(config=config)\n",
    "\n",
    "import time\n",
    "import shutil\n",
    "\n",
    "import geopandas as gpd\n",
    "from shapely.geometry import MultiLineString, MultiPolygon, Polygon, box, shape\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "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": 4,
   "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": 5,
   "id": "060396e0-e5ee-4b54-b211-5d8bfcba167f",
   "metadata": {},
   "outputs": [],
   "source": [
    "#project = 'Mkulazi_trail' #or xinavane or chemba_test_8b\n",
    "#project = 'xinavane' #or xinavane or chemba_test_8b\n",
    "project = 'angata' #or xinavane or chemba_test_8b\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "c9f79e81-dff8-4109-8d26-6c423142dcf2",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Adjust the number of days needed\n",
    "days = 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "e18bdf8f-be4b-44ab-baaa-de5de60d92cb",
   "metadata": {},
   "outputs": [],
   "source": [
    "#delete all the satellite outputs -> then True\n",
    "empty_folder_question = True"
   ]
  },
  {
   "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": 37,
   "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",
    "#geojson_file = Path(BASE_PATH /'Data'/ 'pivot.geojson') #the geojsons should have the same name\n",
    "geojson_file = Path(BASE_PATH /'Data'/ ('pivot_2.geojson' if project == \"esa\" else 'pivot.geojson')) #the geojsons should have the same name\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": 38,
   "id": "244b5752-4f02-4347-9278-f6a0a46b88f4",
   "metadata": {},
   "outputs": [],
   "source": [
    "evalscript_original = \"\"\"\n",
    "    //VERSION=3\n",
    "\n",
    "    function setup() {\n",
    "        return {\n",
    "            input: [{\n",
    "                bands: [\"red\", \"green\", \"blue\", \"nir\", \"udm1\"]\n",
    "            }],\n",
    "            output: {\n",
    "                bands: 4\n",
    "                //sampleType: \"FLOAT32\"\n",
    "            }\n",
    "        };\n",
    "    }\n",
    "\n",
    "    function evaluatePixel(sample) {\n",
    "        // Scale the bands and return as arrays\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",
    "        // Only use udm1 mask (Planet's usable data mask)\n",
    "        if (sample.udm1 == 0) {\n",
    "            return [scaledRed, scaledGreen, scaledBlue, scaledNIR];\n",
    "        } else {\n",
    "            return [NaN, NaN, NaN, NaN];\n",
    "        }\n",
    "    }\n",
    "\"\"\"\n",
    "\n",
    "def get_true_color_request_day(time_interval, bbox, size):\n",
    "    return SentinelHubRequest(\n",
    "        evalscript=evalscript_original,\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",
    "\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 + ' and bbox ' + str(bbox))\n",
    "    \n",
    "    time.sleep(.1)\n",
    "    \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": 39,
   "id": "848dc773-70d6-4ae6-b05c-d6ebfb41624d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Monthly time windows:\n",
      "\n",
      "2026-01-02\n",
      "2026-01-03\n",
      "2026-01-04\n",
      "2026-01-05\n",
      "2026-01-06\n"
     ]
    }
   ],
   "source": [
    "days_needed = int(os.environ.get(\"DAYS\", days))\n",
    "date_str = os.environ.get(\"DATE\")\n",
    "\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": 40,
   "id": "c803e373-2567-4233-af7d-0d2d6f7d4f8e",
   "metadata": {},
   "outputs": [],
   "source": [
    "geo_json = gpd.read_file(str(geojson_file))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "dc24d54e-2272-4f30-bcf5-4d8fc381915c",
   "metadata": {},
   "outputs": [],
   "source": [
    "geometries = [Geometry(geometry, crs=CRS.WGS84) for geometry in geo_json.geometry]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "cd071b42-d0cd-4e54-8f88-ad1a339748e3",
   "metadata": {},
   "outputs": [],
   "source": [
    "shapely_geometries = [geometry.geometry for geometry in geometries]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "301d12e4-e47a-4034-aec0-aa5673e64935",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Area bounding box: BBox(((34.43227940231912, -1.412210768346171), (34.9511271057322, -0.7403944081102)), crs=CRS('4326'))\n",
      "\n"
     ]
    }
   ],
   "source": [
    "bbox_splitter = BBoxSplitter(\n",
    "    shapely_geometries, CRS.WGS84, (20, 20), reduce_bbox_sizes=True\n",
    ")  # bounding box will be split into a grid of 5x4 bounding boxes\n",
    "\n",
    "# based on https://github.com/sentinel-hub/sentinelhub-py/blob/master/examples/large_area_utilities.ipynb \n",
    "\n",
    "print(\"Area bounding box: {}\\n\".format(bbox_splitter.get_area_bbox().__repr__()))\n",
    "\n",
    "bbox_list = bbox_splitter.get_bbox_list()\n",
    "info_list = bbox_splitter.get_info_list()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "431f6856-8d7e-4868-b627-20deeb47d77e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"34.44079794230986 -0.7820295680387448 0.007885619998781124 0.00696511998334759\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,-1.557094016094142)\"><g><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44704900230607,-0.7808993080406 L 34.44704500230606,-0.780919008040549 L 34.447036902306046,-0.780941808040515 L 34.447025202306044,-0.780956008040479 L 34.44701820230604,-0.780973708040442 L 34.44701110230602,-0.780994308040392 L 34.44700450230601,-0.781016008040338 L 34.446999902306004,-0.781035608040287 L 34.44698950230599,-0.781054108040261 L 34.44698260230598,-0.781071908040233 L 34.446969102305964,-0.781091808040173 L 34.44695950230595,-0.78111190804013 L 34.44695320230594,-0.781133308040093 L 34.44694980230593,-0.781155508040043 L 34.44693600230592,-0.781168408040011 L 34.44692330230592,-0.781181808039987 L 34.4469110023059,-0.781198008039954 L 34.4469020023059,-0.781219408039915 L 34.446891702305884,-0.781240108039866 L 34.44688080230588,-0.78126030803982 L 34.446880502305866,-0.781279008039777 L 34.446875902305855,-0.781296408039753 L 34.44686740230585,-0.781317208039695 L 34.44685650230582,-0.781336608039657 L 34.44684510230581,-0.781360008039604 L 34.446835602305796,-0.781375808039587 L 34.44682400230579,-0.781393708039546 L 34.44681410230578,-0.781409908039517 L 34.44680680230577,-0.781428708039472 L 34.44680110230577,-0.781448508039422 L 34.44679240230575,-0.781469108039366 L 34.44677630230575,-0.781483908039344 L 34.44676580230574,-0.781503408039317 L 34.446747702305736,-0.781516608039291 L 34.446740802305705,-0.781537908039238 L 34.4467335023057,-0.781560508039183 L 34.4467298023057,-0.781578908039152 L 34.446722802305686,-0.781599408039111 L 34.44671380230567,-0.781619908039045 L 34.44670510230566,-0.781639208039023 L 34.446695702305654,-0.781656008038975 L 34.44668960230563,-0.781680408038936 L 34.44668650230561,-0.781700008038881 L 34.44668170230561,-0.781717608038843 L 34.446668602305614,-0.78173750803879 L 34.44665060230561,-0.781736108038807 L 34.446635802305615,-0.781718408038867 L 34.446629602305634,-0.781698208038927 L 34.44661840230565,-0.781677708038985 L 34.446618102305656,-0.781654008039041 L 34.44661150230568,-0.781633108039086 L 34.44660300230569,-0.781610008039155 L 34.44659630230571,-0.781588808039212 L 34.44659030230571,-0.781570008039258 L 34.44658820230573,-0.781551908039292 L 34.44657640230574,-0.781531508039363 L 34.446564102305764,-0.781513908039404 L 34.44656220230576,-0.781492408039456 L 34.44656600230578,-0.781472308039506 L 34.446557302305784,-0.781453208039561 L 34.446547502305805,-0.781434408039608 L 34.446534902305814,-0.781420108039655 L 34.446531602305825,-0.781399708039697 L 34.44651320230583,-0.781387708039739 L 34.446505602305855,-0.781368708039797 L 34.446520502305866,-0.781355808039829 L 34.44652750230587,-0.781339108039855 L 34.44654600230588,-0.781328108039872 L 34.44655730230588,-0.781312808039904 L 34.44657020230589,-0.781292108039947 L 34.44657780230591,-0.781272308039997 L 34.446578902305916,-0.781249208040047 L 34.44658070230594,-0.781228008040098 L 34.44658930230594,-0.781210908040137 L 34.44660040230595,-0.781185508040184 L 34.44661320230596,-0.78116830804022 L 34.446622002305965,-0.781146708040259 L 34.44663070230599,-0.781125408040313 L 34.446638602305995,-0.781109208040348 L 34.446635702306,-0.781087708040398 L 34.44664220230601,-0.781067608040449 L 34.44664970230603,-0.781049608040493 L 34.44665700230604,-0.781031808040531 L 34.44667250230605,-0.781009508040555 L 34.44668060230607,-0.780992708040606 L 34.446693102306064,-0.780973308040643 L 34.44669770230608,-0.780953408040688 L 34.44670830230611,-0.780930408040731 L 34.446714602306116,-0.780906808040787 L 34.44672040230612,-0.780888508040827 L 34.44672860230614,-0.780870908040879 L 34.44674230230614,-0.780847108040917 L 34.44675100230616,-0.780824708040969 L 34.446760702306165,-0.780803308041002 L 34.446768902306175,-0.780782808041059 L 34.4467815023062,-0.780756508041108 L 34.446786302306215,-0.780732508041168 L 34.44679290230622,-0.780708408041219 L 34.44680290230623,-0.780688808041268 L 34.446815102306246,-0.780666508041318 L 34.44681950230627,-0.780643308041361 L 34.44681980230627,-0.780622408041415 L 34.44682700230629,-0.780596908041468 L 34.4468421023063,-0.780577608041517 L 34.4468549023063,-0.780561208041539 L 34.44687670230631,-0.780540508041578 L 34.446884602306326,-0.780517408041638 L 34.446889802306345,-0.78049320804168 L 34.44689790230636,-0.780472508041715 L 34.44691050230638,-0.780453108041769 L 34.44692190230638,-0.780429008041816 L 34.446926302306395,-0.78040880804186 L 34.44693320230641,-0.780388908041906 L 34.446953002306415,-0.780375208041933 L 34.44697490230641,-0.7803876080419 L 34.44699650230638,-0.78039840804185 L 34.44701830230638,-0.780405308041828 L 34.44703800230637,-0.780412808041789 L 34.447055602306364,-0.780425308041745 L 34.44708060230636,-0.780440608041698 L 34.447103302306346,-0.780451908041651 L 34.447124502306345,-0.780461908041602 L 34.44714780230634,-0.780475208041557 L 34.44716590230633,-0.780487308041517 L 34.447183102306305,-0.78049520804149 L 34.44719910230631,-0.780504808041461 L 34.447215102306295,-0.780519408041411 L 34.44721690230629,-0.780539208041355 L 34.447211302306265,-0.780560008041315 L 34.447196002306256,-0.78057780804128 L 34.447185902306245,-0.780594408041251 L 34.447178502306244,-0.780612308041221 L 34.44716570230623,-0.78063190804117 L 34.447152602306225,-0.780656808041125 L 34.4471511023062,-0.78067550804108 L 34.4471354023062,-0.780684308041064 L 34.447130502306194,-0.780706308041018 L 34.44711990230618,-0.78072370804099 L 34.447109402306175,-0.780741808040951 L 34.44709990230615,-0.780760708040903 L 34.44709500230614,-0.780781408040852 L 34.447086402306134,-0.780802008040809 L 34.447080002306116,-0.780821108040772 L 34.44707320230612,-0.780837908040726 L 34.447063802306104,-0.7808545080407 L 34.447056802306086,-0.780880108040634 L 34.44704900230607,-0.7808993080406 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.441449602307465,-0.779704108047001 L 34.441461102307464,-0.779689908047037 L 34.441477202307475,-0.779678308047047 L 34.44150100230748,-0.779667608047072 L 34.441524202307484,-0.779665808047068 L 34.44154710230749,-0.779674208047027 L 34.441567502307464,-0.779679308046997 L 34.441582702307464,-0.779691508046969 L 34.44160270230745,-0.779693308046947 L 34.44162410230746,-0.779699108046917 L 34.441646102307445,-0.779702608046906 L 34.44167420230744,-0.779697308046888 L 34.44170060230745,-0.779694308046875 L 34.441723002307434,-0.779690808046881 L 34.44174630230744,-0.779683108046889 L 34.441764202307446,-0.779677908046876 L 34.44178550230743,-0.779683008046849 L 34.44180880230743,-0.779680408046859 L 34.44182880230745,-0.779669008046876 L 34.441850302307444,-0.77966960804685 L 34.441874502307435,-0.77966850804684 L 34.441894702307444,-0.779662708046835 L 34.44191440230744,-0.779665608046822 L 34.44193270230744,-0.779665708046805 L 34.44195130230743,-0.779673008046776 L 34.44197242738471,-0.77968520579014 L 34.441981302307404,-0.77969580804671 L 34.44198500230739,-0.779713908046652 L 34.441980002307375,-0.779740108046596 L 34.44198590230737,-0.779762808046535 L 34.44197400230736,-0.779782108046504 L 34.44196510230736,-0.779804208046439 L 34.44196020230733,-0.779824708046398 L 34.44196260230732,-0.779843208046358 L 34.441957302307316,-0.779864208046316 L 34.44194670230729,-0.77989090804625 L 34.441934102307286,-0.77990660804621 L 34.441927702307275,-0.779924608046171 L 34.44191870230726,-0.779943308046145 L 34.441911702307245,-0.779964608046089 L 34.44190640230725,-0.779985008046032 L 34.44189900230723,-0.780007408045999 L 34.441888602307216,-0.780030208045945 L 34.44187840230721,-0.780051108045898 L 34.4418670023072,-0.780072408045866 L 34.44185820230717,-0.780097208045815 L 34.44184920230717,-0.780116408045764 L 34.44184670230717,-0.780135408045725 L 34.441839802307136,-0.780161808045652 L 34.44182300230713,-0.780175208045648 L 34.44180570230713,-0.780193208045601 L 34.44179380230711,-0.780214508045557 L 34.4417727023071,-0.780224008045561 L 34.44175000230712,-0.780221308045572 L 34.44172400230711,-0.780218108045596 L 34.441702702307126,-0.780216908045619 L 34.441684302307124,-0.780218508045622 L 34.44166300230712,-0.780222608045625 L 34.44161200230714,-0.780207408045687 L 34.44155860230714,-0.780211808045717 L 34.44153380230715,-0.780214008045733 L 34.441513502307146,-0.780205008045762 L 34.441495902307175,-0.780194408045793 L 34.44147010230718,-0.780168308045863 L 34.44145900230719,-0.780146908045947 L 34.4414418023072,-0.780127708046004 L 34.441430102307216,-0.78011080804604 L 34.441427902307225,-0.780091408046089 L 34.44143490230724,-0.780069308046137 L 34.44145380230725,-0.780044808046186 L 34.44145440230726,-0.780026608046246 L 34.441444302307296,-0.780001908046293 L 34.44142000230729,-0.779983508046353 L 34.44141050230733,-0.779948508046452 L 34.44140270230735,-0.77990370804657 L 34.44138360230739,-0.779860208046682 L 34.441376002307386,-0.779833708046743 L 34.4413821023074,-0.779815008046794 L 34.441393802307424,-0.779798108046834 L 34.441403102307426,-0.779776708046861 L 34.44141860230743,-0.779755608046916 L 34.44142990230745,-0.779736908046942 L 34.44143960230746,-0.779721708046983 L 34.441449602307465,-0.779704108047001 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44197520230742,-0.779686808046741 L 34.44197242738471,-0.77968520579014 L 34.44196879052251,-0.779680861082255 L 34.44197520230742,-0.779686808046741 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44196640230742,-0.779678008046752 L 34.44196879052251,-0.779680861082255 L 34.44196300368524,-0.779675493759959 L 34.44196640230742,-0.779678008046752 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44192830230745,-0.779643308046863 L 34.44196300368524,-0.779675493759959 L 34.44194680230743,-0.779663508046791 L 34.44192830230745,-0.779643308046863 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.441614102307675,-0.779350608047772 L 34.441606902307655,-0.779345308047788 L 34.441609201870236,-0.779340864825168 L 34.441614102307675,-0.779350608047772 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44152710230776,-0.779221508048133 L 34.44150730230776,-0.779215108048153 L 34.44148730230776,-0.779211608048191 L 34.441460202307766,-0.77921030804821 L 34.441437502307785,-0.779209208048224 L 34.44141640230779,-0.779206108048247 L 34.44139280230779,-0.779199208048283 L 34.4413754023078,-0.779191808048316 L 34.44135780230782,-0.779171308048365 L 34.44134930230782,-0.779145808048438 L 34.44133520230783,-0.779119308048506 L 34.44131720230786,-0.779100408048564 L 34.44130260230788,-0.779078708048621 L 34.44129410230788,-0.779062308048668 L 34.44127430230791,-0.779048708048724 L 34.44126490230791,-0.779028208048766 L 34.441250502307916,-0.779016308048814 L 34.441233702307926,-0.778996008048864 L 34.44122700230794,-0.778973708048923 L 34.44123040230796,-0.778953208048979 L 34.44123380230797,-0.778930808049029 L 34.44123650230799,-0.778909108049085 L 34.441243802308,-0.778886308049129 L 34.441251102308,-0.778864508049183 L 34.441254702308015,-0.778841708049225 L 34.441257602308035,-0.778819808049279 L 34.44126550230805,-0.778799408049334 L 34.44126870230807,-0.77877970804937 L 34.44127540230808,-0.778754408049447 L 34.4412815023081,-0.778727808049503 L 34.4412855023081,-0.77870500804954 L 34.44129020230812,-0.778682308049599 L 34.44129880230812,-0.778663708049633 L 34.44130500230814,-0.778643208049684 L 34.44130470230816,-0.778619408049748 L 34.441311902308165,-0.778595708049786 L 34.44132120230818,-0.778572908049833 L 34.4413245023082,-0.778549608049898 L 34.441329402308206,-0.778528408049945 L 34.44133430230822,-0.778509008049988 L 34.441341602308235,-0.778491508050042 L 34.44134710230824,-0.778469308050069 L 34.441350602308255,-0.778449008050122 L 34.44135780230827,-0.778422508050197 L 34.44137130230828,-0.778402208050237 L 34.44138950230829,-0.778393008050246 L 34.44141430230828,-0.778384808050244 L 34.441436002308286,-0.778389608050208 L 34.44145460230828,-0.7783873080502 L 34.44147400230827,-0.778385208050202 L 34.44148860230827,-0.778399308050161 L 34.44150890230825,-0.778421508050096 L 34.441530102308235,-0.778431408050058 L 34.441554402308235,-0.778436108050026 L 34.44158250230824,-0.778437508050009 L 34.441601302308236,-0.778442708049987 L 34.44162570230823,-0.778444408049961 L 34.441648402308225,-0.778449408049929 L 34.44168190230821,-0.77845330804991 L 34.441731302308206,-0.778457108049862 L 34.44177490230819,-0.778460008049848 L 34.4417965023082,-0.778463208049799 L 34.4418184023082,-0.778467708049792 L 34.44183670230819,-0.77847050804976 L 34.44186090230818,-0.77847460804974 L 34.441882602308176,-0.778478808049723 L 34.44188990230816,-0.778499108049671 L 34.44188570230814,-0.778517008049628 L 34.44187640230814,-0.778534808049588 L 34.441871402308124,-0.778552808049539 L 34.44186740230813,-0.778570608049512 L 34.441860602308104,-0.778589908049454 L 34.4418541023081,-0.778612208049408 L 34.44184550230808,-0.778633508049378 L 34.44183990230807,-0.778654608049317 L 34.44183340230806,-0.778675308049265 L 34.441821102308054,-0.778695908049236 L 34.441805202308046,-0.778715908049189 L 34.44179780230803,-0.778739308049129 L 34.441789102308014,-0.778762208049094 L 34.441785902308,-0.778782408049036 L 34.44177950230799,-0.778803408048992 L 34.441768702307975,-0.778818808048971 L 34.44175870230797,-0.778836508048935 L 34.441748102307955,-0.778857608048889 L 34.441745302307936,-0.778880808048834 L 34.44173610230793,-0.778898308048796 L 34.441722502307925,-0.778917308048757 L 34.44171330230793,-0.778935208048722 L 34.44171200230791,-0.778954708048674 L 34.441710702307894,-0.778975708048611 L 34.441710502307885,-0.77900210804856 L 34.44170830230786,-0.779031508048498 L 34.44170390230781,-0.779098108048324 L 34.441692002307796,-0.779123208048275 L 34.44168140230779,-0.77914050804825 L 34.44167400230777,-0.779161008048198 L 34.441666702307764,-0.779184408048144 L 34.44166220230776,-0.779203608048087 L 34.44165260230774,-0.779220608048053 L 34.441644902307736,-0.779237508048029 L 34.44163960230773,-0.779255708047985 L 34.44162660230771,-0.779278708047943 L 34.44162370230771,-0.779301408047877 L 34.44161870230767,-0.779322508047841 L 34.441609201870236,-0.779340864825168 L 34.441605602307675,-0.779333708047815 L 34.44159600230768,-0.779312808047884 L 34.44158610230772,-0.779294208047938 L 34.44157630230772,-0.779274808047989 L 34.44156000230773,-0.779253208048049 L 34.44154870230775,-0.779230508048119 L 34.44152710230776,-0.779221508048133 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.448369702308646,-0.776510008050425 L 34.448359002308635,-0.776526208050395 L 34.44834870230862,-0.776542408050351 L 34.448344902308605,-0.776562008050308 L 34.44833650230861,-0.776583508050277 L 34.44832590230859,-0.776604508050221 L 34.448318302308564,-0.776629608050168 L 34.448306202308565,-0.77665180805011 L 34.44830040230854,-0.776669908050072 L 34.44829640230852,-0.776689508050034 L 34.44828650230852,-0.776713408049987 L 34.448274502308514,-0.776737908049941 L 34.44826450230849,-0.776765208049878 L 34.44826040230848,-0.776789708049821 L 34.448249002308465,-0.776805208049789 L 34.448246302308455,-0.77682590804974 L 34.448241102308444,-0.776852008049681 L 34.44823260230843,-0.776869208049652 L 34.448221802308424,-0.776886508049623 L 34.44820210230841,-0.776910508049567 L 34.4481838023084,-0.776929408049526 L 34.44817260230838,-0.776952308049486 L 34.44816260230837,-0.776979408049409 L 34.44814560230837,-0.776988108049415 L 34.44814880230835,-0.777013208049338 L 34.448136002308345,-0.777031108049303 L 34.448127802308335,-0.777051408049276 L 34.44812190230831,-0.777071308049212 L 34.44810760230832,-0.77709140804918 L 34.4480976023083,-0.777107808049146 L 34.448094102308296,-0.777126708049103 L 34.448089302308276,-0.77714890804905 L 34.44808000230826,-0.777169908049019 L 34.44806180230826,-0.777187208048985 L 34.448052402308235,-0.777207808048922 L 34.44804410230823,-0.777231708048875 L 34.44803060230822,-0.777253308048833 L 34.4480204023082,-0.777275308048791 L 34.448014402308196,-0.777299708048727 L 34.448006402308174,-0.777321608048688 L 34.44800180230816,-0.777340208048635 L 34.44799530230816,-0.777361308048584 L 34.44798840230815,-0.777380408048544 L 34.44797920230813,-0.777400408048504 L 34.44796600230812,-0.777421108048476 L 34.4479475023081,-0.777444608048426 L 34.44793480230809,-0.777472508048377 L 34.44791900230808,-0.777493608048316 L 34.447894402308094,-0.77748990804836 L 34.4478674023081,-0.777477808048396 L 34.447841102308104,-0.777464008048434 L 34.44782430230812,-0.777447608048499 L 34.44781070230812,-0.777429608048548 L 34.447812102308156,-0.777409808048599 L 34.447827202308154,-0.777390808048629 L 34.44783950230818,-0.777361708048691 L 34.44784160230819,-0.777333508048747 L 34.4478492023082,-0.777308408048827 L 34.44785930230821,-0.777283308048857 L 34.44786660230823,-0.777256608048918 L 34.447878102308245,-0.777228208049002 L 34.44789460230826,-0.777202008049048 L 34.44790420230829,-0.777178208049088 L 34.44791820230829,-0.777152108049148 L 34.44792710230831,-0.777123008049229 L 34.44794130230832,-0.777096708049279 L 34.447951002308336,-0.77706960804933 L 34.44795750230836,-0.77703970804941 L 34.44796120230838,-0.777010508049473 L 34.44796720230839,-0.776985408049539 L 34.447979002308415,-0.7769570080496 L 34.44799240230842,-0.776928208049655 L 34.44800130230844,-0.776898008049717 L 34.44801140230846,-0.776869208049791 L 34.44802060230847,-0.77685360804981 L 34.448033902308474,-0.776825208049884 L 34.4480488023085,-0.776794808049939 L 34.44806400230852,-0.776768808049981 L 34.44808190230852,-0.776749208050039 L 34.44809600230853,-0.776726308050076 L 34.44810080230856,-0.776697708050149 L 34.448114402308576,-0.776669808050208 L 34.448127602308595,-0.776645008050253 L 34.448136602308594,-0.776618508050316 L 34.448149602308625,-0.776591108050371 L 34.44815840230862,-0.776561908050428 L 34.44816620230865,-0.77653910805048 L 34.44817650230866,-0.776516008050545 L 34.448190602308664,-0.776492108050592 L 34.4482056023087,-0.776464208050642 L 34.448221302308696,-0.776439108050703 L 34.44824090230871,-0.776417408050747 L 34.44825150230872,-0.776393808050796 L 34.448261802308714,-0.776376508050827 L 34.44826630230873,-0.776376508050824 L 34.448283002308735,-0.776389308050778 L 34.44829630230872,-0.776402608050741 L 34.4483130023087,-0.7764120080507 L 34.448330902308705,-0.776416308050675 L 34.448353902308696,-0.776421308050648 L 34.44837410230869,-0.776429508050622 L 34.44839150230868,-0.776447208050562 L 34.44838780230866,-0.776466008050512 L 34.44837820230866,-0.776489308050483 L 34.448369702308646,-0.776510008050425 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44191173404716,-0.776185598151956 L 34.4419133023096,-0.776180008055273 L 34.4419126023096,-0.776189008055263 L 34.44191173404716,-0.776185598151956 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44191173404716,-0.776185598151956 L 34.44190710230959,-0.776202108055222 L 34.44190520230957,-0.776220608055203 L 34.44190310230955,-0.776241108055144 L 34.441899102309534,-0.776265808055087 L 34.44189620230952,-0.776294308055019 L 34.441897302309506,-0.776316508054966 L 34.4419050023095,-0.776335608054912 L 34.44190860230948,-0.776353508054871 L 34.44191500230947,-0.776373408054805 L 34.441908902309464,-0.776393608054754 L 34.44190810230945,-0.776413408054718 L 34.441903202309426,-0.776440008054667 L 34.44189760230942,-0.776458508054618 L 34.441090002309814,-0.775986708056274 L 34.441152502309805,-0.775977608056257 L 34.441184702309805,-0.775966908056256 L 34.44119380230982,-0.7759478080563 L 34.441200702309835,-0.775930408056351 L 34.44118850230985,-0.775906608056399 L 34.44118510230985,-0.77588150805646 L 34.44118280230989,-0.77586020805652 L 34.44117880230989,-0.775836308056579 L 34.4411844023099,-0.775813808056617 L 34.44119010230992,-0.775792208056687 L 34.44120840230991,-0.775783708056695 L 34.441228602309906,-0.775793408056664 L 34.441251402309895,-0.775806708056603 L 34.441270702309886,-0.775818708056572 L 34.44129700230988,-0.775825108056543 L 34.44131790230987,-0.775834708056483 L 34.44133800230986,-0.775847208056446 L 34.441357502309856,-0.775857408056428 L 34.44137720230984,-0.775865308056379 L 34.44139800230984,-0.77587810805634 L 34.441419902309825,-0.775891908056288 L 34.44144130230981,-0.775903108056264 L 34.44146350230981,-0.775912808056215 L 34.441486402309806,-0.775926208056174 L 34.44151120230979,-0.775931608056147 L 34.441536302309785,-0.775939908056112 L 34.441557102309766,-0.775952408056049 L 34.44157830230977,-0.775970408056008 L 34.44160090230976,-0.775984708055951 L 34.441620702309734,-0.775998208055911 L 34.44164270230974,-0.776010308055866 L 34.44166610230972,-0.776020908055831 L 34.4416911023097,-0.776026908055796 L 34.4417121023097,-0.776042208055745 L 34.44173080230969,-0.776058308055708 L 34.441750802309684,-0.776070608055655 L 34.441768102309666,-0.776080408055626 L 34.44178590230966,-0.776091508055566 L 34.44180520230965,-0.77610780805553 L 34.44182820230965,-0.776120908055489 L 34.441849802309626,-0.776135008055445 L 34.44187300230963,-0.77614660805539 L 34.44189510230961,-0.776152108055368 L 34.4419071023096,-0.776167408055333 L 34.44191173404716,-0.776185598151956 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.44492260230954,-0.77571030805454 L 34.444929102309544,-0.775686308054593 L 34.44493710230956,-0.775667208054642 L 34.44494000230957,-0.775647008054682 L 34.44494300230958,-0.775624808054726 L 34.44494050230959,-0.775603608054787 L 34.44494080230962,-0.775580708054842 L 34.44493920230963,-0.775557708054891 L 34.444941802309636,-0.775536508054939 L 34.44495280230966,-0.775516108054979 L 34.44495590230965,-0.775497608055027 L 34.444960302309674,-0.775474008055093 L 34.444957366591694,-0.775460707455388 L 34.4449609023097,-0.775440108055169 L 34.44496310230972,-0.775413708055246 L 34.444967602309724,-0.775389508055289 L 34.44497920230973,-0.775369108055332 L 34.44499650230974,-0.775356508055352 L 34.44500720230974,-0.77537270805531 L 34.44502500230973,-0.775392608055245 L 34.44504570230971,-0.775405408055185 L 34.445068602309696,-0.775411908055168 L 34.445092902309696,-0.775419208055139 L 34.445113802309685,-0.775443008055069 L 34.44511740230966,-0.775471008055 L 34.44511480230964,-0.775493008054947 L 34.44510720230963,-0.775516908054892 L 34.445100702309624,-0.775535808054859 L 34.445090802309615,-0.775555008054808 L 34.4450772023096,-0.775575108054779 L 34.44506150230959,-0.77558480805476 L 34.44504920230959,-0.77559920805472 L 34.44504680230957,-0.775625508054656 L 34.445042302309545,-0.775651608054603 L 34.44502070230954,-0.775686008054527 L 34.44501600230951,-0.775716208054453 L 34.445018002309496,-0.775744808054391 L 34.44502880230948,-0.775771408054324 L 34.44502260230947,-0.77579030805428 L 34.44501790230946,-0.775808208054231 L 34.44500870230946,-0.77583120805418 L 34.44499590230943,-0.77585370805415 L 34.44498220230943,-0.775872308054103 L 34.44497390230942,-0.775897108054053 L 34.444973602309396,-0.775917208053999 L 34.444976802309384,-0.775944808053928 L 34.44496880230936,-0.775970708053877 L 34.44496240230935,-0.775989908053834 L 34.44494550230933,-0.776025008053742 L 34.44493290230934,-0.776039108053721 L 34.44491990230933,-0.776058808053697 L 34.44490350230933,-0.776042708053742 L 34.44489420230935,-0.776012008053831 L 34.44489660230936,-0.775984208053883 L 34.4448974023094,-0.775955108053971 L 34.4448935023094,-0.775936508054005 L 34.44489500230942,-0.775909308054071 L 34.44490010230942,-0.775886308054119 L 34.44489920230945,-0.775862308054169 L 34.44490790230945,-0.775842708054225 L 34.44490760230946,-0.775823908054278 L 34.44490940230948,-0.775798908054327 L 34.444910402309496,-0.775773508054392 L 34.444911802309505,-0.775748308054466 L 34.44492080230951,-0.775728708054482 L 34.44492260230954,-0.77571030805454 z\" /><path fill-rule=\"evenodd\" fill=\"#66cc99\" stroke=\"#555555\" stroke-width=\"0.00015771239997562248\" opacity=\"0.6\" d=\"M 34.444957366591694,-0.775460707455388 L 34.44495630230967,-0.77546690805511 L 34.4449554023097,-0.775451808055157 L 34.444957366591694,-0.775460707455388 z\" /></g></g></svg>"
      ],
      "text/plain": [
       "<MULTIPOLYGON (((34.447 -0.781, 34.447 -0.781, 34.447 -0.781, 34.447 -0.781,...>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "geometry_list = bbox_splitter.get_geometry_list()\n",
    "\n",
    "geometry_list[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "18655785",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Function to check if images are available for a given date\n",
    "def is_image_available(date):\n",
    "    for bbox in bbox_list:\n",
    "        search_iterator = catalog.search(\n",
    "            collection=byoc,\n",
    "            bbox=bbox,  # Define your bounding box\n",
    "            time=(date, date)\n",
    "        )\n",
    "        if len(list(search_iterator)) > 0:\n",
    "            return True\n",
    "    return False\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "a6fc418f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Filter slots to only include dates with available images\n",
    "available_slots = [slot for slot in slots if is_image_available(slot)]\n",
    "\n",
    "# Store the first 5 available slots for comparison later (if available)\n",
    "comparison_slots = available_slots[:min(5, len(available_slots))]\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "ebc416be",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[]\n",
      "Total slots: 5\n",
      "Available slots: 0\n",
      "Excluded slots due to empty dates: 5\n"
     ]
    }
   ],
   "source": [
    "print(available_slots)\n",
    "print(f\"Total slots: {len(slots)}\")\n",
    "print(f\"Available slots: {len(available_slots)}\")\n",
    "print(f\"Excluded slots due to empty dates: {len(slots) - len(available_slots)}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "b0cabe8f-e1f2-4b18-8ac0-c2565d0ff16b",
   "metadata": {},
   "outputs": [],
   "source": [
    "def show_splitter(splitter, alpha=0.2, area_buffer=0.2, show_legend=False):\n",
    "    area_bbox = splitter.get_area_bbox()\n",
    "    minx, miny, maxx, maxy = area_bbox\n",
    "    lng, lat = area_bbox.middle\n",
    "    w, h = maxx - minx, maxy - miny\n",
    "    minx = minx - area_buffer * w\n",
    "    miny = miny - area_buffer * h\n",
    "    maxx = maxx + area_buffer * w\n",
    "    maxy = maxy + area_buffer * h\n",
    "\n",
    "    fig = plt.figure(figsize=(10, 10))\n",
    "    ax = fig.add_subplot(111)\n",
    "\n",
    "    base_map = Basemap(\n",
    "        projection=\"mill\",\n",
    "        lat_0=lat,\n",
    "        lon_0=lng,\n",
    "        llcrnrlon=minx,\n",
    "        llcrnrlat=miny,\n",
    "        urcrnrlon=maxx,\n",
    "        urcrnrlat=maxy,\n",
    "        resolution=\"l\",\n",
    "        epsg=4326,\n",
    "    )\n",
    "    base_map.drawcoastlines(color=(0, 0, 0, 0))\n",
    "\n",
    "    area_shape = splitter.get_area_shape()\n",
    "\n",
    "    if isinstance(area_shape, Polygon):\n",
    "        polygon_iter = [area_shape]\n",
    "    elif isinstance(area_shape, MultiPolygon):\n",
    "        polygon_iter = area_shape.geoms\n",
    "    else:\n",
    "        raise ValueError(f\"Geometry of type {type(area_shape)} is not supported\")\n",
    "\n",
    "    for polygon in polygon_iter:\n",
    "        if isinstance(polygon.boundary, MultiLineString):\n",
    "            for linestring in polygon.boundary:\n",
    "                ax.add_patch(PltPolygon(np.array(linestring), closed=True, facecolor=(0, 0, 0, 0), edgecolor=\"red\"))\n",
    "        else:\n",
    "            ax.add_patch(\n",
    "                PltPolygon(np.array(polygon.boundary.coords), closed=True, facecolor=(0, 0, 0, 0), edgecolor=\"red\")\n",
    "            )\n",
    "\n",
    "    bbox_list = splitter.get_bbox_list()\n",
    "    info_list = splitter.get_info_list()\n",
    "\n",
    "    cm = plt.get_cmap(\"jet\", len(bbox_list))\n",
    "    legend_shapes = []\n",
    "    for i, bbox in enumerate(bbox_list):\n",
    "        wgs84_bbox = bbox.transform(CRS.WGS84).get_polygon()\n",
    "\n",
    "        tile_color = tuple(list(cm(i))[:3] + [alpha])\n",
    "        ax.add_patch(PltPolygon(np.array(wgs84_bbox), closed=True, facecolor=tile_color, edgecolor=\"green\"))\n",
    "\n",
    "        if show_legend:\n",
    "            legend_shapes.append(plt.Rectangle((0, 0), 1, 1, fc=cm(i)))\n",
    "\n",
    "    if show_legend:\n",
    "        legend_names = []\n",
    "        for info in info_list:\n",
    "            legend_name = \"{},{}\".format(info[\"index_x\"], info[\"index_y\"])\n",
    "\n",
    "            for prop in [\"grid_index\", \"tile\"]:\n",
    "                if prop in info:\n",
    "                    legend_name = \"{},{}\".format(info[prop], legend_name)\n",
    "\n",
    "            legend_names.append(legend_name)\n",
    "\n",
    "        plt.legend(legend_shapes, legend_names)\n",
    "    plt.tight_layout()\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "41b7369c-f768-44ba-983e-eb8eae4f3afd",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\sentinelhub\\geometry.py:137: SHDeprecationWarning: Initializing `BBox` objects from `BBox` objects will no longer be possible in future versions.\n",
      "  return cls._tuple_from_bbox(bbox)\n",
      "C:\\Users\\timon\\AppData\\Local\\Temp\\ipykernel_31892\\1551185686.py:59: SHDeprecationWarning: The string representation of `BBox` will change to match its `repr` representation.\n",
      "  print(f' Image downloaded for ' +slot + ' and bbox ' + str(bbox))\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " Image downloaded for 2025-12-12 and bbox 35.16365354880403,-0.129244801064588,35.165383150793275,-0.128377382105297\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\sentinelhub\\geometry.py:137: SHDeprecationWarning: Initializing `BBox` objects from `BBox` objects will no longer be possible in future versions.\n",
      "  return cls._tuple_from_bbox(bbox)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " Image downloaded for 2025-12-12 and bbox 35.193511653982014,-0.145471600554821,35.19809832807662,-0.141987962239436\n",
      " Image downloaded for 2025-12-12 and bbox 35.18616215451003,-0.114589871192489,35.19121482631516,-0.102973861376453\n",
      " Image downloaded for 2025-12-12 and bbox 35.21682070238462,-0.1690629770542657,35.217207288500255,-0.1683311203817562\n",
      " Image downloaded for 2025-12-12 and bbox 35.2158044957668,-0.144677484606173,35.21684120977448,-0.143078780850215\n",
      " Image downloaded for 2025-12-12 and bbox 35.20865614324665,-0.087298898533121,35.21043286859989,-0.085689722918499\n",
      " Image downloaded for 2025-12-12 and bbox 35.217207288500255,-0.169202795759772,35.227741541988266,-0.165661125894293\n",
      " Image downloaded for 2025-12-12 and bbox 35.23171024362642,-0.136735670628533,35.233078699287084,-0.1357975666232628\n",
      " Image downloaded for 2025-12-12 and bbox 35.23170863111195,-0.1357975666232628,35.23247903835522,-0.135019812953777\n",
      " Image downloaded for 2025-12-12 and bbox 35.250982959636985,-0.160752005818341,35.252909781631075,-0.156696560387186\n",
      " Image downloaded for 2025-12-13 and bbox 35.16365354880403,-0.129244801064588,35.165383150793275,-0.128377382105297\n",
      " Image downloaded for 2025-12-13 and bbox 35.193511653982014,-0.145471600554821,35.19809832807662,-0.141987962239436\n",
      " Image downloaded for 2025-12-13 and bbox 35.18616215451003,-0.114589871192489,35.19121482631516,-0.102973861376453\n",
      " Image downloaded for 2025-12-13 and bbox 35.21682070238462,-0.1690629770542657,35.217207288500255,-0.1683311203817562\n",
      " Image downloaded for 2025-12-13 and bbox 35.2158044957668,-0.144677484606173,35.21684120977448,-0.143078780850215\n",
      " Image downloaded for 2025-12-13 and bbox 35.20865614324665,-0.087298898533121,35.21043286859989,-0.085689722918499\n",
      " Image downloaded for 2025-12-13 and bbox 35.217207288500255,-0.169202795759772,35.227741541988266,-0.165661125894293\n",
      " Image downloaded for 2025-12-13 and bbox 35.23171024362642,-0.136735670628533,35.233078699287084,-0.1357975666232628\n",
      " Image downloaded for 2025-12-13 and bbox 35.23170863111195,-0.1357975666232628,35.23247903835522,-0.135019812953777\n",
      " Image downloaded for 2025-12-13 and bbox 35.250982959636985,-0.160752005818341,35.252909781631075,-0.156696560387186\n",
      " Image downloaded for 2025-12-14 and bbox 35.16365354880403,-0.129244801064588,35.165383150793275,-0.128377382105297\n",
      " Image downloaded for 2025-12-14 and bbox 35.193511653982014,-0.145471600554821,35.19809832807662,-0.141987962239436\n",
      " Image downloaded for 2025-12-14 and bbox 35.18616215451003,-0.114589871192489,35.19121482631516,-0.102973861376453\n",
      " Image downloaded for 2025-12-14 and bbox 35.21682070238462,-0.1690629770542657,35.217207288500255,-0.1683311203817562\n",
      " Image downloaded for 2025-12-14 and bbox 35.2158044957668,-0.144677484606173,35.21684120977448,-0.143078780850215\n",
      " Image downloaded for 2025-12-14 and bbox 35.20865614324665,-0.087298898533121,35.21043286859989,-0.085689722918499\n",
      " Image downloaded for 2025-12-14 and bbox 35.217207288500255,-0.169202795759772,35.227741541988266,-0.165661125894293\n",
      " Image downloaded for 2025-12-14 and bbox 35.23171024362642,-0.136735670628533,35.233078699287084,-0.1357975666232628\n",
      " Image downloaded for 2025-12-14 and bbox 35.23170863111195,-0.1357975666232628,35.23247903835522,-0.135019812953777\n",
      " Image downloaded for 2025-12-14 and bbox 35.250982959636985,-0.160752005818341,35.252909781631075,-0.156696560387186\n",
      " Image downloaded for 2025-12-15 and bbox 35.16365354880403,-0.129244801064588,35.165383150793275,-0.128377382105297\n",
      " Image downloaded for 2025-12-15 and bbox 35.193511653982014,-0.145471600554821,35.19809832807662,-0.141987962239436\n",
      " Image downloaded for 2025-12-15 and bbox 35.18616215451003,-0.114589871192489,35.19121482631516,-0.102973861376453\n",
      " Image downloaded for 2025-12-15 and bbox 35.21682070238462,-0.1690629770542657,35.217207288500255,-0.1683311203817562\n",
      " Image downloaded for 2025-12-15 and bbox 35.2158044957668,-0.144677484606173,35.21684120977448,-0.143078780850215\n",
      " Image downloaded for 2025-12-15 and bbox 35.20865614324665,-0.087298898533121,35.21043286859989,-0.085689722918499\n",
      " Image downloaded for 2025-12-15 and bbox 35.217207288500255,-0.169202795759772,35.227741541988266,-0.165661125894293\n",
      " Image downloaded for 2025-12-15 and bbox 35.23171024362642,-0.136735670628533,35.233078699287084,-0.1357975666232628\n",
      " Image downloaded for 2025-12-15 and bbox 35.23170863111195,-0.1357975666232628,35.23247903835522,-0.135019812953777\n",
      " Image downloaded for 2025-12-15 and bbox 35.250982959636985,-0.160752005818341,35.252909781631075,-0.156696560387186\n",
      " Image downloaded for 2025-12-16 and bbox 35.16365354880403,-0.129244801064588,35.165383150793275,-0.128377382105297\n",
      " Image downloaded for 2025-12-16 and bbox 35.193511653982014,-0.145471600554821,35.19809832807662,-0.141987962239436\n",
      " Image downloaded for 2025-12-16 and bbox 35.18616215451003,-0.114589871192489,35.19121482631516,-0.102973861376453\n",
      " Image downloaded for 2025-12-16 and bbox 35.21682070238462,-0.1690629770542657,35.217207288500255,-0.1683311203817562\n",
      " Image downloaded for 2025-12-16 and bbox 35.2158044957668,-0.144677484606173,35.21684120977448,-0.143078780850215\n",
      " Image downloaded for 2025-12-16 and bbox 35.20865614324665,-0.087298898533121,35.21043286859989,-0.085689722918499\n",
      " Image downloaded for 2025-12-16 and bbox 35.217207288500255,-0.169202795759772,35.227741541988266,-0.165661125894293\n",
      " Image downloaded for 2025-12-16 and bbox 35.23171024362642,-0.136735670628533,35.233078699287084,-0.1357975666232628\n",
      " Image downloaded for 2025-12-16 and bbox 35.23170863111195,-0.1357975666232628,35.23247903835522,-0.135019812953777\n",
      " Image downloaded for 2025-12-16 and bbox 35.250982959636985,-0.160752005818341,35.252909781631075,-0.156696560387186\n",
      " Image downloaded for 2025-12-17 and bbox 35.16365354880403,-0.129244801064588,35.165383150793275,-0.128377382105297\n",
      " Image downloaded for 2025-12-17 and bbox 35.193511653982014,-0.145471600554821,35.19809832807662,-0.141987962239436\n",
      " Image downloaded for 2025-12-17 and bbox 35.18616215451003,-0.114589871192489,35.19121482631516,-0.102973861376453\n",
      " Image downloaded for 2025-12-17 and bbox 35.21682070238462,-0.1690629770542657,35.217207288500255,-0.1683311203817562\n",
      " Image downloaded for 2025-12-17 and bbox 35.2158044957668,-0.144677484606173,35.21684120977448,-0.143078780850215\n",
      " Image downloaded for 2025-12-17 and bbox 35.20865614324665,-0.087298898533121,35.21043286859989,-0.085689722918499\n",
      " Image downloaded for 2025-12-17 and bbox 35.217207288500255,-0.169202795759772,35.227741541988266,-0.165661125894293\n",
      " Image downloaded for 2025-12-17 and bbox 35.23171024362642,-0.136735670628533,35.233078699287084,-0.1357975666232628\n",
      " Image downloaded for 2025-12-17 and bbox 35.23170863111195,-0.1357975666232628,35.23247903835522,-0.135019812953777\n",
      " Image downloaded for 2025-12-17 and bbox 35.250982959636985,-0.160752005818341,35.252909781631075,-0.156696560387186\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 available_slots:\n",
    "    for bbox in bbox_list:\n",
    "        bbox = BBox(bbox=bbox, crs=CRS.WGS84)\n",
    "        size = bbox_to_dimensions(bbox, resolution=resolution)\n",
    "        download_function(slot, bbox, size)\n",
    "        time.sleep(0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "68db3c15-6f94-432e-b315-c329e4251b21",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\058e2d289d4736e3c9849b701e651f39/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\188a96ea1317ac58dee123ad26ec8ab8/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\18fc3977357392aa58855adc2b72c3fa/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\5c6be69e7fd4133427236a5b1e182786/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\84127951a708f77383fbe493ecee8b64/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\99af90b6e3694e18ef0601148b39a6ce/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\a5beecba4b72ba0a72ede175029b0b7f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\e2c590cd5b4353d2d337bdaeabdc42f4/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\e9cb9c11c287ffd108108ad0e64ab5f5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\f74c508b8b47529edddf452191006bbc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\058e2d289d4736e3c9849b701e651f39/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\188a96ea1317ac58dee123ad26ec8ab8/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\18fc3977357392aa58855adc2b72c3fa/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\5c6be69e7fd4133427236a5b1e182786/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\84127951a708f77383fbe493ecee8b64/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\99af90b6e3694e18ef0601148b39a6ce/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\a5beecba4b72ba0a72ede175029b0b7f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\e2c590cd5b4353d2d337bdaeabdc42f4/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\e9cb9c11c287ffd108108ad0e64ab5f5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-12\\f74c508b8b47529edddf452191006bbc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\32b8539ea54db40c145515d0a28b2293/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\3aa404047dbde1b24b3d9a3b7e7c5f36/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\3efc90b6d35c46fa89ade286f003a26c/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\b9da00e04e13153ba58e3a0c4462107f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\bf70bf3f243e634dc28460d80e4ebfc6/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\c454a32eb0dbe9e9a6cd935142d1e5bc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\c68d3b2e6f576c667ed107a977eda8e1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\cc448d6c1d7f11df201157a3e41729f8/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\ed19cb1044d479c9c60600cbeef62ff0/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\f33dbec9e928967d7280ba7865d64949/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\32b8539ea54db40c145515d0a28b2293/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\3aa404047dbde1b24b3d9a3b7e7c5f36/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\3efc90b6d35c46fa89ade286f003a26c/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\b9da00e04e13153ba58e3a0c4462107f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\bf70bf3f243e634dc28460d80e4ebfc6/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\c454a32eb0dbe9e9a6cd935142d1e5bc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\c68d3b2e6f576c667ed107a977eda8e1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\cc448d6c1d7f11df201157a3e41729f8/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\ed19cb1044d479c9c60600cbeef62ff0/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-13\\f33dbec9e928967d7280ba7865d64949/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\014db2f3323287a2cd746c06a0592bcc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\3a8e2c23e767469f2259c17383e52a08/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\6df1dc2d9a9adf022389924410aac5a5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\7ec02358813ca86f0f51667f6292f94f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\82c07942c37f5ce0a2039a144ef303ee/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\93da449e602db11ad5b3d273feedb5b1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\994d53b66aa794bae3d0ef786b6821b2/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\a596ed36bd57bd88fabadac78da17ea7/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\d4890cfafe5fbfdb4d37c0e3f8793661/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\dc3fa7b426fe8eb4aaa05fae5602d34c/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\014db2f3323287a2cd746c06a0592bcc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\3a8e2c23e767469f2259c17383e52a08/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\6df1dc2d9a9adf022389924410aac5a5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\7ec02358813ca86f0f51667f6292f94f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\82c07942c37f5ce0a2039a144ef303ee/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\93da449e602db11ad5b3d273feedb5b1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\994d53b66aa794bae3d0ef786b6821b2/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\a596ed36bd57bd88fabadac78da17ea7/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\d4890cfafe5fbfdb4d37c0e3f8793661/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-14\\dc3fa7b426fe8eb4aaa05fae5602d34c/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\2fa2839e473995fca08960099be3edaf/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\30fd8a0475132d255e3635ad6a0917ab/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\53c66235048ca14fd38dca51899732b0/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\56416debe8f9b7a6e5f79c5ae20b6df6/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\83b398dbc961b92cd014d110f20ac7af/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\8ca712f53df76b7ac1f29ceaea443fd6/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\a7534045928bb3d6b561a117ff31a9eb/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\b8792251993f0f9d7f42656d424dca51/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\bac7fd7c4320e2f67d8550877a8a2df5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\ea34d4d8b5c635fad3b50f22f58d793c/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\2fa2839e473995fca08960099be3edaf/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\30fd8a0475132d255e3635ad6a0917ab/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\53c66235048ca14fd38dca51899732b0/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\56416debe8f9b7a6e5f79c5ae20b6df6/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\83b398dbc961b92cd014d110f20ac7af/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\8ca712f53df76b7ac1f29ceaea443fd6/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\a7534045928bb3d6b561a117ff31a9eb/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\b8792251993f0f9d7f42656d424dca51/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\bac7fd7c4320e2f67d8550877a8a2df5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-15\\ea34d4d8b5c635fad3b50f22f58d793c/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\0536ec033dcf3b4195a07907b5b3f16f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\0d95996a9e52fdd5ec892d3d7211a2dd/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\40541dfca772b16fb1a1441cde349127/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\55838a5c3b624a572bd3b36b7062a017/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\59134b4015dddc2d04de390be15f99d3/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\5b339330fb50c1b3da47f69d3e6718f5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\726ead2044cf520a618bac90b43d443f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\a504b6ddbbeaead372deae386c7e87cc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\ca422a5643605ec293e6e90487663cdc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\df32e4450ddf4caa9014c3446e74ee95/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\0536ec033dcf3b4195a07907b5b3f16f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\0d95996a9e52fdd5ec892d3d7211a2dd/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\40541dfca772b16fb1a1441cde349127/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\55838a5c3b624a572bd3b36b7062a017/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\59134b4015dddc2d04de390be15f99d3/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\5b339330fb50c1b3da47f69d3e6718f5/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\726ead2044cf520a618bac90b43d443f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\a504b6ddbbeaead372deae386c7e87cc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\ca422a5643605ec293e6e90487663cdc/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-16\\df32e4450ddf4caa9014c3446e74ee95/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\16273a4526239842ea0d92484521d49f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\2c8e7fa82551b36883f1c232af7e4f81/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\4a530b9c92986d17cc7c70cd42a30573/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\666e51980cddd7b7e41269ce3c602cc8/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\8cedcdf998e955d92c424cae4f8e61f1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\a2bd1e298810e758f5d208e6723a24c1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\a9fee0fa8627ab01fe763bb1f54912e0/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\b69f39b103b6e3f1edcd31990eb37789/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\dca29d86b386df82dc6ad944834b878b/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4939: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\ebc90cb406b1b4915abf4265c8a617b9/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.BuildVRTInternalNames(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\16273a4526239842ea0d92484521d49f/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\2c8e7fa82551b36883f1c232af7e4f81/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\4a530b9c92986d17cc7c70cd42a30573/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\666e51980cddd7b7e41269ce3c602cc8/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\8cedcdf998e955d92c424cae4f8e61f1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\a2bd1e298810e758f5d208e6723a24c1/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\a9fee0fa8627ab01fe763bb1f54912e0/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\b69f39b103b6e3f1edcd31990eb37789/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\dca29d86b386df82dc6ad944834b878b/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n",
      "c:\\Users\\timon\\anaconda3\\Lib\\site-packages\\osgeo\\gdal.py:4793: RuntimeWarning: ..\\laravel_app\\storage\\app\\aura\\single_images\\2025-12-17\\ebc90cb406b1b4915abf4265c8a617b9/response.tiff: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn't match SamplesPerPixel. Defining non-color channels as ExtraSamples.\n",
      "  return _gdal.TranslateInternal(*args)\n"
     ]
    }
   ],
   "source": [
    "for slot in available_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": 21,
   "id": "cb3fa856-a550-4899-844a-e69209bba3ad",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Emptied folder: ..\\laravel_app\\storage\\app\\aura\\merged_virtual\n",
      "Error: [WinError 5] Toegang geweigerd: '..\\\\laravel_app\\\\storage\\\\app\\\\aura\\\\single_images\\\\2025-11-02\\\\1074dddfdab390144426cb997193159c'\n",
      "Error: [WinError 5] Toegang geweigerd: '..\\\\laravel_app\\\\storage\\\\app\\\\aura\\\\single_images\\\\2025-11-03\\\\6863feeeba0f88770dae91d6f5d7f97a'\n",
      "Error: [WinError 5] Toegang geweigerd: '..\\\\laravel_app\\\\storage\\\\app\\\\aura\\\\single_images\\\\2025-11-04\\\\1922464d749944ea5cc3bd2424c65ca8'\n",
      "Error: [WinError 5] Toegang geweigerd: '..\\\\laravel_app\\\\storage\\\\app\\\\aura\\\\single_images\\\\2025-11-05'\n",
      "Emptied folder: ..\\laravel_app\\storage\\app\\aura\\single_images\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"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fa849800",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "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.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
