earth-observation-for-journ.../true-color-image/03b Example Initialized Downloads.ipynb

466 lines
63 KiB
Text

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data retrieval from the Long-Term Archive\n",
"\n",
"Sentinel data that has not been accessed for a longer period of time is moved to a Long-Term Archive (LTA).\n",
"Data in the LTA can not be retrieved immediately but instead has to moved out of this archive first.\n",
"\n",
"This notebook shows how API responses in this case look like and what to do in this situation.\n",
"The relevant part is at the end of this notebook, the rest is documented for the sake of completeness."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Defining the area of interest\n",
"\n",
"The data retrieval process looks like in other notebooks:\n",
"The sentinelsat API client is initialized and the geometry of an area of interest is fetched using OpenStreetMap nominatim and narrowed down using GeoPandas."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from sentinel_helpers import search_osm, geodataframe_on_map\n",
"from datetime import date\n",
"import os\n",
"from sentinelsat import SentinelAPI\n",
"from tqdm.notebook import tqdm\n",
"\n",
"api = SentinelAPI(os.getenv('SCIHUB_USERNAME'), os.getenv('SCIHUB_PASSWORD'))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>place_id</th>\n",
" <th>osm_type</th>\n",
" <th>osm_id</th>\n",
" <th>display_name</th>\n",
" <th>place_rank</th>\n",
" <th>category</th>\n",
" <th>type</th>\n",
" <th>importance</th>\n",
" <th>icon</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>257891092</td>\n",
" <td>relation</td>\n",
" <td>422436</td>\n",
" <td>Jüterbog, Teltow-Fläming, Brandenburg, 14913, ...</td>\n",
" <td>16</td>\n",
" <td>boundary</td>\n",
" <td>administrative</td>\n",
" <td>0.685236</td>\n",
" <td>https://nominatim.openstreetmap.org/ui/mapicon...</td>\n",
" <td>POLYGON ((12.95605 52.03939, 12.96134 52.03944...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" place_id osm_type osm_id \\\n",
"0 257891092 relation 422436 \n",
"\n",
" display_name place_rank category \\\n",
"0 Jüterbog, Teltow-Fläming, Brandenburg, 14913, ... 16 boundary \n",
"\n",
" type importance \\\n",
"0 administrative 0.685236 \n",
"\n",
" icon \\\n",
"0 https://nominatim.openstreetmap.org/ui/mapicon... \n",
"\n",
" geometry \n",
"0 POLYGON ((12.95605 52.03939, 12.96134 52.03944... "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"jueterbog = search_osm('Jüterbog, Brandenburg')\n",
"jueterbog = jueterbog[(jueterbog['type'] == 'administrative') & (jueterbog['osm_type'] == 'relation')]\n",
"jueterbog"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=%3C%21DOCTYPE%20html%3E%0A%3Chead%3E%20%20%20%20%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22content-type%22%20content%3D%22text/html%3B%20charset%3DUTF-8%22%20/%3E%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20L_NO_TOUCH%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20L_DISABLE_3D%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%3C/script%3E%0A%20%20%20%20%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//cdn.jsdelivr.net/npm/leaflet%401.6.0/dist/leaflet.js%22%3E%3C/script%3E%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//code.jquery.com/jquery-1.12.4.min.js%22%3E%3C/script%3E%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js%22%3E%3C/script%3E%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js%22%3E%3C/script%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//cdn.jsdelivr.net/npm/leaflet%401.6.0/dist/leaflet.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//rawcdn.githack.com/python-visualization/folium/master/folium/templates/leaflet.awesome.rotate.css%22/%3E%0A%20%20%20%20%3Cstyle%3Ehtml%2C%20body%20%7Bwidth%3A%20100%25%3Bheight%3A%20100%25%3Bmargin%3A%200%3Bpadding%3A%200%3B%7D%3C/style%3E%0A%20%20%20%20%3Cstyle%3E%23map%20%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bright%3A0%3Bleft%3A0%3B%7D%3C/style%3E%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cmeta%20name%3D%22viewport%22%20content%3D%22width%3Ddevice-width%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20initial-scale%3D1.0%2C%20maximum-scale%3D1.0%2C%20user-scalable%3Dno%22%20/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23map_17c7039e73a0446f8aa9dd4a07edc7ad%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20relative%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20100.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20height%3A%20100.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20left%3A%200.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20top%3A%200.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C/style%3E%0A%20%20%20%20%20%20%20%20%0A%3C/head%3E%0A%3Cbody%3E%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22folium-map%22%20id%3D%22map_17c7039e73a0446f8aa9dd4a07edc7ad%22%20%3E%3C/div%3E%0A%20%20%20%20%20%20%20%20%0A%3C/body%3E%0A%3Cscript%3E%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20map_17c7039e73a0446f8aa9dd4a07edc7ad%20%3D%20L.map%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22map_17c7039e73a0446f8aa9dd4a07edc7ad%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20center%3A%20%5B0.0%2C%200.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20crs%3A%20L.CRS.EPSG3857%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zoom%3A%2010%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zoomControl%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20preferCanvas%3A%20false%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20tile_layer_bc3d925136d94d62856c5a510bc0b9b6%20%3D%20L.tileLayer%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22https%3A//cartodb-basemaps-%7Bs%7D.global.ssl.fastly.net/light_all/%7Bz%7D/%7Bx%7D/%7By%7D.png%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22attribution%22%3A%20%22%5Cu0026copy%3B%20%5Cu003ca%20href%3D%5C%22http%3A//www.openstreetmap.org/copyright%5C%22%5Cu003eOpenStreetMap%5Cu003c/a%5Cu003e%20contributors%20%5Cu0026copy%3B%20%5Cu003ca%20href%3D%5C%22http%3A//cartodb.com/attributions%5C%22%5Cu003eCartoDB%5Cu003c/a%5Cu003e%2C%20CartoDB%20%5Cu003ca%20href%20%3D%5C%22http%3A//cartodb.com/attributions%5C%22%5Cu003eattributions%5Cu003c/a%5Cu003e%22%2C%20%22detectRetina%22%3A%20false%2C%20%22maxNativeZoom%22%3A%2018%2C%20%22maxZoom%22%3A%2018%2C%20%22minZoom%22%3A%200%2C%20%22noWrap%22%3A%20false%2C%20%22opacity%22%3A%201%2C%20%22subdomains%22%3A%20%22abc%22%2C%20%22tms%22%3A%20false%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_17c7039e73a0446f8aa9dd4a07edc7ad%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20function%20geo_json_7fa0aa4e7ea34e458ec867ba604b1b80_onEachFeature%28feature%2C%20layer%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20layer.on%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20click%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map_17c7039e73a0446f8aa9dd4a07edc7ad.fitBounds%28e.target.getBounds%28%29%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20var%20geo_json_7fa0aa4e7ea34e458ec867ba604b1b80%20%3D%20L.geoJson%28null%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onEachFeature%3A%20geo_json_7fa0aa4e7ea34e458ec867ba604b1b80_onEachFeature%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%7D%29.addTo%28map_17c7039e73a0446f8aa9dd4a07edc7ad%29%3B%0A%0A%20%20%20%20%20%20%20%20function%20geo_json_7fa0aa4e7ea34e458ec867ba604b1b80_add%20%28data%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20geo_json_7fa0aa4e7ea34e458ec867ba604b1b80.addData%28data%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20geo_json_7fa0aa4e7ea34e458ec867ba604b1b80_add%28%7B%22features%22%3A%20%5B%7B%22geometry%22%3A%20%7B%22coordinates%22%3A%20%5B%5B%5B12.9560532%2C%2052.0393856%5D%2C%20%5B12.9613366%2C%2052.0394406%5D%2C%20%5B12.9627969%2C%2052.0387489%5D%2C%20%5B12.9635331%2C%2052.0382458%5D%2C%20%5B12.9646476%2C%2052.0377489%5D%2C%20%5B12.9650159%2C%2052.0377109%5D%2C%20%5B12.966805%2C%2052.0368495%5D%2C%20%5B12.9672242%2C%2052.0365476%5D%2C%20%5B12.9679451%2C%2052.0363066%5D%2C%20%5B12.9669613%2C%2052.0355612%5D%2C%20%5B12.9639946%2C%2052.0340286%5D%2C%20%5B12.968133%2C%2052.0324607%5D%2C%20%5B12.9713351%2C%2052.0315192%5D%2C%20%5B12.9699779%2C%2052.0270175%5D%2C%20%5B12.9766274%2C%2052.0249226%5D%2C%20%5B12.9839353%2C%2052.0217203%5D%2C%20%5B12.9844181%2C%2052.0215008%5D%2C%20%5B12.99209%2C%2052.0178806%5D%2C%20%5B12.9925835%2C%2052.0183481%5D%2C%20%5B12.994195%2C%2052.0175881%5D%2C%20%5B12.994519%2C%2052.017909%5D%2C%20%5B12.9945812%2C%2052.0200746%5D%2C%20%5B12.9996016%2C%2052.0202362%5D%2C%20%5B13.0042532%2C%2052.0204114%5D%2C%20%5B13.0052907%2C%2052.0180285%5D%2C%20%5B13.0063487%2C%2052.0184629%5D%2C%20%5B13.0071608%2C%2052.0187964%5D%2C%20%5B13.0098955%2C%2052.0119718%5D%2C%20%5B13.0124512%2C%2052.0111807%5D%2C%20%5B13.0245715%2C%2052.0071262%5D%2C%20%5B13.0203658%2C%2052.0046053%5D%2C%20%5B13.0228925%2C%2052.0033632%5D%2C%20%5B13.0190006%2C%2052.0011089%5D%2C%20%5B13.0177533%2C%2052.0012523%5D%2C%20%5B13.0168539%2C%2051.9990807%5D%2C%20%5B13.0175824%2C%2051.9989829%5D%2C%20%5B13.0167445%2C%2051.9968394%5D%2C%20%5B13.019578%2C%2051.9965309%5D%2C%20%5B13.0193172%2C%2051.9957639%5D%2C%20%5B13.0191595%2C%2051.9950425%5D%2C%20%5B13.02872%2C%2051.9940668%5D%2C%20%5B13.0286588%2C%2051.9937041%5D%2C%20%5B13.0324955%2C%2051.993321%5D%2C%20%5B13.0329354%2C%2051.99408%5D%2C%20%5B13.0379425%2C%2051.9926385%5D%2C%20%5B13.0375724%2C%2051.9916951%5D%2C%20%5B13.0331489%2C%2051.9902985%5D%2C%20%5B13.0244188%2C%2051.9893808%5D%2C%20%5B13.0243866%2C%2051.9860759%5D%2C%20%5B13.0219705%2C%2051.97872%5D%2C%20%5B13.025526%2C%2051.9782838%5D%2C%20%5B13.0309956%2C%2051.9774551%5D%2C%20%5B13.0338362%2C%2051.9775613%5D%2C%20%5B13.0393147%2C%2051.9775013%5D%2C%20%5B13.0477365%2C%2051.9763528%5D%2C%20%5B13.0528874%2C%2051.9758446%5D%2C%20%5B13.0566586%2C%2051.9760706%5D%2C%20%5B13.051587%2C%2051.9714812%5D%2C%20%5B13.0537661%2C%2051.9704792%5D%2C%20%5B13.0569418%2C%2051.9702412%5D%2C%20%5B13.0579074%2C%2051.9718341%5D%2C%20%5B13.0673273%2C%2051.9713153%5D%2C%20%5B13.0650904%2C%2051.9665872%5D%2C%20%5B13.0630143%2C%2051.9630936%5D%2C%20%5B13.0640711%2C%2051.9629362%5D%2C%20%5B13.0656547%2C%2051.9629858%5D%2C%20%5B13.0684989%2C%2051.9636317%5D%2C%20%5B13.0697156%2C%2051.9636422%5D%2C%20%5B13.0720909%2C%2051.9631722%5D%2C%20%5B13.0738075%2C%2051.963352%5D%2C%20%5B13.0754136%2C%2051.963401%5D%2C%20%5B13.0773824%2C%2051.9639245%5D%2C%20%5B13.0798318%2C%2051.9649538%5D%2C%20%5B13.0824743%2C%2051.9655758%5D%2C%20%5B13.0840804%2C%2051.9657087%5D%2C%20%5B13.0855771%2C%2051.9661053%5D%2C%20%5B13.088579%2C%2051.9680018%5D%2C%20%5B13.0902903%2C%2051.9691916%5D%2C%20%5B13.0924103%2C%2051.9683058%5D%2C%20%5B13.0928984%2C%2051.9674948%5D%2C%20%5B13.0988572%2C%2051.9667545%5D%2C%20%5B13.1100496%2C%2051.964895%5D%2C%20%5B13.119786%2C%2051.9631174%5D%2C%20%5B13.120788%2C%2051.9632403%5D%2C%20%5B13.1235228%2C%2051.963635%5D%2C%20%5B13.1245796%2C%2051.963824%5D%2C%20%5B13.1249583%2C%2051.9642035%5D%2C%20%5B13.1286362%2C%2051.9632139%5D%2C%20%5B13.1298732%2C%2051.9631273%5D%2C%20%5B13.1344695%2C%2051.9633269%5D%2C%20%5B13.1397867%2C%2051.9655983%5D%2C%20%5B13.1446136%2C%2051.9679264%5D%2C%20%5B13.1451452%2C%2051.9675133%5D%2C%20%5B13.1465222%2C%2051.966891%5D%2C%20%5B13.148138%2C%2051.9658389%5D%2C%20%5B13.1525669%2C%2051.9634962%5D%2C%20%5B13.1586501%2C%2051.9616808%5D%2C%20%5B13.1616928%2C%2051.9607209%5D%2C%20%5B13.162446%2C%2051.9613265%5D%2C%20%5B13.1636903%2C%2051.9609436%5D%2C%20%5B13.1671945%2C%2051.9598654%5D%2C%20%5B13.1719539%2C%2051.9549054%5D%2C%20%5B13.17381%2C%2051.9554052%5D%2C%20%5B13.1747884%2C%2051.9559157%5D%2C%20%5B13.1770801%2C%2051.9562185%5D%2C%20%5B13.1782882%2C%2051.9560849%5D%2C%20%5B13.1802988%2C%2051.9564234%5D%2C%20%5B13.1843543%2C%2051.9569709%5D%2C%20%5B13.186927%2C%2051.9577683%5D%2C%20%5B13.1888971%2C%2051.9583783%5D%2C%20%5B13.1897734%2C%2051.9586493%5D%2C%20%5B13.1916934%2C%2051.9592801%5D%2C%20%5B13.1915072%2C%2051.959458%5D%2C%20%5B13.1904815%2C%2051.960648%5D%2C%20%5B13.1887327%2C%2051.9623206%5D%2C%20%5B13.1885933%2C%2051.9624396%5D%2C%20%5B13.1884967%2C%2051.9625652%5D%2C%20%5B13.1877564%2C%2051.9638873%5D%2C%20%5B13.1868981%2C%2051.9652954%5D%2C%20%5B13.1857608%2C%2051.9677346%5D%2C%20%5B13.1879817%2C%2051.9681114%5D%2C%20%5B13.1903957%2C%2051.9686269%5D%2C%20%5B13.1970878%2C%2051.9702649%5D%2C%20%5B13.2007158%2C%2051.9709288%5D%2C%20%5B13.2071155%2C%2051.9731851%5D%2C%20%5B13.211849%2C%2051.9744838%5D%2C%20%5B13.2121913%2C%2051.978196%5D%2C%20%5B13.2124992%2C%2051.9806457%5D%2C%20%5B13.2132588%2C%2051.9859035%5D%2C%20%5B13.2163137%2C%2051.9870971%5D%2C%20%5B13.2187083%2C%2051.9874724%5D%2C%20%5B13.2211166%2C%2051.987811%5D%2C%20%5B13.2286411%2C%2051.9892497%5D%2C%20%5B13.2287355%2C%2051.9901918%5D%2C%20%5B13.2330957%2C%2051.9903306%5D%2C%20%5B13.2316752%2C%2051.9926112%5D%2C%20%5B13.227815%2C%2051.9919915%5D%2C%20%5B13.2241049%2C%2051.9980955%5D%2C%20%5B13.2217103%2C%2052.0023612%5D%2C%20%5B13.217985%2C%2052.0033331%5D%2C%20%5B13.2110581%2C%2052.0031022%5D%2C%20%5B13.2113447%2C%2052.0043954%5D%2C%20%5B13.208214%2C%2052.0058893%5D%2C%20%5B13.2047443%2C%2052.0068681%5D%2C%20%5B13.2035748%2C%2052.0123163%5D%2C%20%5B13.2035877%2C%2052.0160815%5D%2C%20%5B13.2016951%2C%2052.0207905%5D%2C%20%5B13.2007939%2C%2052.022853%5D%2C%20%5B13.1996738%2C%2052.0235409%5D%2C%20%5B13.1963436%2C%2052.0250804%5D%2C%20%5B13.1939523%2C%2052.0257618%5D%2C%20%5B13.1929286%2C%2052.0260535%5D%2C%20%5B13.1919244%2C%2052.0261575%5D%2C%20%5B13.1906423%2C%2052.0261142%5D%2C%20%5B13.1900179%2C%2052.02641%5D%2C%20%5B13.1883109%2C%2052.0268417%5D%2C%20%5B13.1861716%2C%2052.0272985%5D%2C%20%5B13.1840414%2C%2052.0276312%5D%2C%20%5B13.181085%2C%2052.0282428%5D%2C%20%5B13.1795664%2C%2052.0286059%5D%2C%20%5B13.1791496%2C%2052.0286676%5D%2C%20%5B13.1779179%2C%2052.0286273%5D%2C%20%5B13.176786%2C%2052.0288703%5D%2C%20%5B13.1755531%2C%2052.0293621%5D%2C%20%5B13.1753313%2C%2052.0358878%5D%2C%20%5B13.1707361%2C%2052.0413447%5D%2C%20%5B13.170436%2C%2052.0417012%5D%2C%20%5B13.1701855%2C%2052.0419986%5D%2C%20%5B13.1686981%2C%2052.0422364%5D%2C%20%5B13.1670816%2C%2052.0424949%5D%2C%20%5B13.1651987%2C%2052.0429344%5D%2C%20%5B13.1639317%2C%2052.0434814%5D%2C%20%5B13.1631839%2C%2052.0445128%5D%2C%20%5B13.1618588%2C%2052.0452327%5D%2C%20%5B13.1588902%2C%2052.0455614%5D%2C%20%5B13.1571081%2C%2052.0455614%5D%2C%20%5B13.1566843%2C%2052.0453073%5D%2C%20%5B13.1550482%2C%2052.0463815%5D%2C%20%5B13.1583602%2C%2052.0489417%5D%2C%20%5B13.1559451%2C%2052.0507374%5D%2C%20%5B13.1549152%2C%2052.0517402%5D%2C%20%5B13.154486%2C%2052.0527958%5D%2C%20%5B13.153971%2C%2052.0536403%5D%2C%20%5B13.1470466%2C%2052.053983%5D%2C%20%5B13.1478824%2C%2052.0566687%5D%2C%20%5B13.1435748%2C%2052.0577189%5D%2C%20%5B13.1431228%2C%2052.0579604%5D%2C%20%5B13.1435016%2C%2052.0582869%5D%2C%20%5B13.1439159%2C%2052.0586577%5D%2C%20%5B13.1439342%2C%2052.0592876%5D%2C%20%5B13.1446144%2C%2052.0596366%5D%2C%20%5B13.1457128%2C%2052.0597362%5D%2C%20%5B13.1467408%2C%2052.0599044%5D%2C%20%5B13.1474122%2C%2052.0601247%5D%2C%20%5B13.1474489%2C%2052.0603747%5D%2C%20%5B13.1471003%2C%2052.060973%5D%2C%20%5B13.1470917%2C%2052.0616775%5D%2C%20%5B13.1480841%2C%2052.0619869%5D%2C%20%5B13.1485808%2C%2052.0615799%5D%2C%20%5B13.1493812%2C%2052.061512%5D%2C%20%5B13.1510367%2C%2052.0618761%5D%2C%20%5B13.1519036%2C%2052.0623635%5D%2C%20%5B13.1518059%2C%2052.0629473%5D%2C%20%5B13.1521106%2C%2052.0636121%5D%2C%20%5B13.1525795%2C%2052.0640349%5D%2C%20%5B13.1532028%2C%2052.0648931%5D%2C%20%5B13.1523499%2C%2052.0648917%5D%2C%20%5B13.1524722%2C%2052.0654695%5D%2C%20%5B13.1523638%2C%2052.0659306%5D%2C%20%5B13.1529474%2C%2052.0665114%5D%2C%20%5B13.1529839%2C%2052.0670706%5D%2C%20%5B13.1530161%2C%2052.0676646%5D%2C%20%5B13.1523096%2C%2052.0679778%5D%2C%20%5B13.1523091%2C%2052.0683534%5D%2C%20%5B13.1532098%2C%2052.068366%5D%2C%20%5B13.1535204%2C%2052.0680695%5D%2C%20%5B13.154525%2C%2052.0682068%5D%2C%20%5B13.1557681%2C%2052.0688187%5D%2C%20%5B13.1557906%2C%2052.0689793%5D%2C%20%5B13.1509154%2C%2052.0703527%5D%2C%20%5B13.150733%2C%2052.070388%5D%2C%20%5B13.1478302%2C%2052.0709504%5D%2C%20%5B13.1451265%2C%2052.0719264%5D%2C%20%5B13.1436888%2C%2052.0704887%5D%2C%20%5B13.1400196%2C%2052.0712669%5D%2C%20%5B13.1377665%2C%2052.0718868%5D%2C%20%5B13.1360439%2C%2052.0727967%5D%2C%20%5B13.1355375%2C%2052.0733243%5D%2C%20%5B13.1353991%2C%2052.0739738%5D%2C%20%5B13.13562%2C%2052.0754351%5D%2C%20%5B13.1352095%2C%2052.0758083%5D%2C%20%5B13.1323284%2C%2052.0784274%5D%2C%20%5B13.1263912%2C%2052.0841472%5D%2C%20%5B13.1253612%2C%2052.0851921%5D%2C%20%5B13.1200764%2C%2052.0848362%5D%2C%20%5B13.1159158%2C%2052.0843008%5D%2C%20%5B13.1144685%2C%2052.0842817%5D%2C%20%5B13.1122842%2C%2052.0839839%5D%2C%20%5B13.1088328%2C%2052.0835134%5D%2C%20%5B13.1076092%2C%2052.0832701%5D%2C%20%5B13.1039708%2C%2052.0828157%5D%2C%20%5B13.1041227%2C%2052.0846552%5D%2C%20%5B13.1039701%2C%2052.0857913%5D%2C%20%5B13.0990636%2C%2052.0850537%5D%2C%20%5B13.0984056%2C%2052.0848227%5D%2C%20%5B13.0973691%2C%2052.0847878%5D%2C%20%5B13.0957775%2C%2052.084728%5D%2C%20%5B13.0948344%2C%2052.0845871%5D%2C%20%5B13.0911909%2C%2052.0840543%5D%2C%20%5B13.087402%2C%2052.0833743%5D%2C%20%5B13.089814%2C%2052.0813175%5D%2C%20%5B13.0881543%2C%2052.081193%5D%2C%20%5B13.0775057%2C%2052.0809546%5D%2C%20%5B13.0729937%2C%2052.0809022%5D%2C%20%5B13.0702702%2C%2052.080824%5D%2C%20%5B13.0619841%2C%2052.0809689%5D%2C%20%5B13.055616%2C%2052.0812644%5D%2C%20%5B13.0546128%2C%2052.0827267%5D%2C%20%5B13.0545042%2C%2052.0843823%5D%2C%20%5B13.0545079%2C%2052.0847262%5D%2C%20%5B13.0547411%2C%2052.0850846%5D%2C%20%5B13.0552105%2C%2052.085926%5D%2C%20%5B13.055507%2C%2052.0862339%5D%2C%20%5B13.0556092%2C%2052.0865103%5D%2C%20%5B13.0556351%2C%2052.0868601%5D%2C%20%5B13.0550137%2C%2052.0891675%5D%2C%20%5B13.0539475%2C%2052.0923698%5D%2C%20%5B13.0521708%2C%2052.0924907%5D%2C%20%5B13.0473433%2C%2052.0931%5D%2C%20%5B13.0459916%2C%2052.0915307%5D%2C%20%5B13.0451385%2C%2052.0898893%5D%2C%20%5B13.044054%2C%2052.0879436%5D%2C%20%5B13.0434293%2C%2052.0869775%5D%2C%20%5B13.0427363%2C%2052.0862789%5D%2C%20%5B13.0403454%2C%2052.0843951%5D%2C%20%5B13.0351094%2C%2052.0853151%5D%2C%20%5B13.0333254%2C%2052.0863839%5D%2C%20%5B13.0315592%2C%2052.0874419%5D%2C%20%5B13.0299093%2C%2052.0883591%5D%2C%20%5B13.0296025%2C%2052.0878125%5D%2C%20%5B13.0266025%2C%2052.0884727%5D%2C%20%5B13.022157%2C%2052.0882424%5D%2C%20%5B13.0217021%2C%2052.0887989%5D%2C%20%5B13.0211276%2C%2052.0887685%5D%2C%20%5B13.0207902%2C%2052.0888522%5D%2C%20%5B13.0189335%2C%2052.0893126%5D%2C%20%5B13.011045%2C%2052.0912689%5D%2C%20%5B13.0122607%2C%2052.0927618%5D%2C%20%5B12.9990641%2C%2052.096028%5D%2C%20%5B12.9951743%2C%2052.094534%5D%2C%20%5B12.9956094%2C%2052.0942134%5D%2C%20%5B12.9959926%2C%2052.093787%5D%2C%20%5B12.9965849%2C%2052.0934956%5D%2C%20%5B12.9962969%2C%2052.0934485%5D%2C%20%5B12.9961969%2C%2052.0934321%5D%2C%20%5B12.9936795%2C%2052.0930205%5D%2C%20%5B12.9934214%2C%2052.092879%5D%2C%20%5B12.9925528%2C%2052.0930129%5D%2C%20%5B12.9888414%2C%2052.093585%5D%2C%20%5B12.9878487%2C%2052.0936971%5D%2C%20%5B12.9868334%2C%2052.0936872%5D%2C%20%5B12.984691%2C%2052.0935216%5D%2C%20%5B12.9847125%2C%2052.0926459%5D%2C%20%5B12.9846637%2C%2052.0923683%5D%2C%20%5B12.984419%2C%2052.0920736%5D%2C%20%5B12.9835931%2C%2052.0916516%5D%2C%20%5B12.9831051%2C%2052.0910974%5D%2C%20%5B12.9820768%2C%2052.0894693%5D%2C%20%5B12.9815012%2C%2052.0886641%5D%2C%20%5B12.9808979%2C%2052.0881804%5D%2C%20%5B12.9802943%2C%2052.0879775%5D%2C%20%5B12.9796446%2C%2052.0879149%5D%2C%20%5B12.9767395%2C%2052.0877937%5D%2C%20%5B12.9751747%2C%2052.0876349%5D%2C%20%5B12.9735274%2C%2052.0873968%5D%2C%20%5B12.9725753%2C%2052.0871514%5D%2C%20%5B12.9720815%2C%2052.0869214%5D%2C%20%5B12.9717344%2C%2052.0868859%5D%2C%20%5B12.9713657%2C%2052.0867126%5D%2C%20%5B12.970653%2C%2052.0858321%5D%2C%20%5B12.969497%2C%2052.0837378%5D%2C%20%5B12.9711819%2C%2052.0840434%5D%2C%20%5B12.9711674%2C%2052.0845543%5D%2C%20%5B12.9722519%2C%2052.0847498%5D%2C%20%5B12.9727869%2C%2052.0841856%5D%2C%20%5B12.9740618%2C%2052.0844507%5D%2C%20%5B12.9738029%2C%2052.0848849%5D%2C%20%5B12.9742801%2C%2052.0849693%5D%2C%20%5B12.9744175%2C%2052.085147%5D%2C%20%5B12.9748585%2C%2052.0853069%5D%2C%20%5B12.9751549%2C%2052.0853513%5D%2C%20%5B12.975596%2C%2052.0856757%5D%2C%20%5B12.9756032%2C%2052.0858889%5D%2C%20%5B12.9757903%2C%2052.0859739%5D%2C%20%5B12.9765638%2C%2052.085843%5D%2C%20%5B12.9771205%2C%2052.0857763%5D%2C%20%5B12.978584%2C%2052.0860141%5D%2C%20%5B12.9794838%2C%2052.08611%5D%2C%20%5B12.97981%2C%2052.0860029%5D%2C%20%5B12.9803565%2C%2052.0853019%5D%2C%20%5B12.9799805%2C%2052.0851064%5D%2C%20%5B12.9800094%2C%2052.0848176%5D%2C%20%5B12.9797275%2C%2052.0846755%5D%2C%20%5B12.9797456%2C%2052.0845144%5D%2C%20%5B12.9787008%2C%2052.0843689%5D%2C%20%5B12.9782292%2C%2052.0841812%5D%2C%20%5B12.9781449%2C%2052.0830332%5D%2C%20%5B12.9759474%2C%2052.0826036%5D%2C%20%5B12.9763934%2C%2052.0813442%5D%2C%20%5B12.9750934%2C%2052.081108%5D%2C%20%5B12.97547%2C%2052.0802721%5D%2C%20%5B12.9694891%2C%2052.0789015%5D%2C%20%5B12.9694309%2C%2052.0787083%5D%2C%20%5B12.9697447%2C%2052.0780092%5D%2C%20%5B12.9702601%2C%2052.0773881%5D%2C%20%5B12.9722379%2C%2052.0778653%5D%2C%20%5B12.9727547%2C%2052.0766836%5D%2C%20%5B12.9705349%2C%2052.0761253%5D%2C%20%5B12.9716905%2C%2052.0758603%5D%2C%20%5B12.9718835%2C%2052.0750224%5D%2C%20%5B12.9718611%2C%2052.0747159%5D%2C%20%5B12.9711424%2C%2052.0740605%5D%2C%20%5B12.9713111%2C%2052.0738846%5D%2C%20%5B12.9714229%2C%2052.073689%5D%2C%20%5B12.9713043%2C%2052.0734126%5D%2C%20%5B12.9713842%2C%2052.0732758%5D%2C%20%5B12.9714117%2C%2052.0730638%5D%2C%20%5B12.9713401%2C%2052.0728533%5D%2C%20%5B12.9711305%2C%2052.0725988%5D%2C%20%5B12.9710754%2C%2052.0723971%5D%2C%20%5B12.9710537%2C%2052.0717527%5D%2C%20%5B12.9708629%2C%2052.0715409%5D%2C%20%5B12.9700818%2C%2052.0710771%5D%2C%20%5B12.9698505%2C%2052.0707927%5D%2C%20%5B12.9697059%2C%2052.0703572%5D%2C%20%5B12.9692535%2C%2052.0698531%5D%2C%20%5B12.965051%2C%2052.0692699%5D%2C%20%5B12.9682903%2C%2052.0670014%5D%2C%20%5B12.9687491%2C%2052.0666674%5D%2C%20%5B12.9689079%2C%2052.0661892%5D%2C%20%5B12.9698452%2C%2052.065174%5D%2C%20%5B12.9638937%2C%2052.0646458%5D%2C%20%5B12.9615637%2C%2052.0645161%5D%2C%20%5B12.9603466%2C%2052.0646479%5D%2C%20%5B12.9592414%2C%2052.0626143%5D%2C%20%5B12.9595208%2C%2052.0621854%5D%2C%20%5B12.9582339%2C%2052.0603629%5D%2C%20%5B12.9577513%2C%2052.0595801%5D%2C%20%5B12.9567515%2C%2052.0569391%5D%2C%20%5B12.9564286%2C%2052.0552075%5D%2C%20%5B12.9564093%2C%2052.0543136%5D%2C%20%5B12.9566551%2C%2052.0526953%5D%2C%20%5B12.9569732%2C%2052.0521306%5D%2C%20%5B12.9569185%2C%2052.0515491%5D%2C%20%5B12.9571121%2C%2052.0511289%5D%2C%20%5B12.9571224%2C%2052.0503052%5D%2C%20%5B12.9573575%2C%2052.0491482%5D%2C%20%5B12.9573221%2C%2052.0487523%5D%2C%20%5B12.9572506%2C%2052.0482537%5D%2C%20%5B12.9570162%2C%2052.0465973%5D%2C%20%5B12.9570129%2C%2052.0448585%5D%2C%20%5B12.9568615%2C%2052.0445609%5D%2C%20%5B12.9568479%2C%2052.0442319%5D%2C%20%5B12.9576447%2C%2052.0422525%5D%2C%20%5B12.957054%2C%2052.0418779%5D%2C%20%5B12.9565576%2C%2052.0412958%5D%2C%20%5B12.9563529%2C%2052.0410146%5D%2C%20%5B12.9560532%2C%2052.0393856%5D%5D%5D%2C%20%22type%22%3A%20%22Polygon%22%7D%2C%20%22id%22%3A%20%220%22%2C%20%22properties%22%3A%20%7B%22category%22%3A%20%22boundary%22%2C%20%22display_name%22%3A%20%22J%5Cu00fcterbog%2C%20Teltow-Fl%5Cu00e4ming%2C%20Brandenburg%2C%2014913%2C%20Deutschland%22%2C%20%22icon%22%3A%20%22https%3A//nominatim.openstreetmap.org/ui/mapicons//poi_boundary_administrative.p.20.png%22%2C%20%22importance%22%3A%200.6852356167937519%2C%20%22osm_id%22%3A%20422436%2C%20%22osm_type%22%3A%20%22relation%22%2C%20%22place_id%22%3A%20257891092%2C%20%22place_rank%22%3A%2016%2C%20%22type%22%3A%20%22administrative%22%7D%2C%20%22type%22%3A%20%22Feature%22%7D%5D%2C%20%22type%22%3A%20%22FeatureCollection%22%7D%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20map_17c7039e73a0446f8aa9dd4a07edc7ad.fitBounds%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%5B51.9549054%2C%2012.9560532%5D%2C%20%5B52.096028%2C%2013.2330957%5D%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%3B%0A%20%20%20%20%20%20%20%20%0A%3C/script%3E onload=\"this.contentDocument.open();this.contentDocument.write( decodeURIComponent(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7fb42b8dbd60>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"geodataframe_on_map(jueterbog)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The API query is initialized for a time span we are interested in and using an area that slightly extends the geometry fetched from OpenStreetMap. This is done to increase the likelihood that the phenomenon we are interested in is visible on the products we download - we don't know where exactly we will need to look, we only know proximity."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"start_date = date(2018, 7, 1)\n",
"end_date = date(2018, 8, 31)\n",
"\n",
"# we increase the geometry size by buffering it by 2.5km\n",
"buffered = jueterbog.to_crs('epsg:25833').buffer(2500).to_crs('epsg:4326')\n",
"footprint = buffered.iloc[0].convex_hull.wkt\n",
"\n",
"results = api.query(footprint,\n",
" platformname='Sentinel-2',\n",
" processinglevel='Level-2A',\n",
" date=(start_date, end_date),\n",
" cloudcoverpercentage=(0, 30))\n",
"\n",
"gdf = SentinelAPI.to_geodataframe(results)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Deciding which products we are interested in\n",
"\n",
"We are only interested in products that have a low cloud coverage value:"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='beginposition'>"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"gdf.set_index('beginposition')['cloudcoverpercentage'].plot(kind='bar')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We also want to avoid merging or reprojecting adjacent tiles if possible, so we prefer tiles that easily cover the entire area of interest:"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sentinel_helpers import plot_all\n",
"\n",
"plot_all([\n",
" gdf, buffered\n",
"], [\n",
" { 'facecolor': 'none', 'edgecolor': 'blue', 'alpha': 0.1 },\n",
" { 'facecolor': 'none', 'edgecolor': 'red' }\n",
"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can subset the result to only take products covering one tile because they all cover the area well.\n",
"We select one product before, one during and one after the fire:"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [],
"source": [
"gdf['tile'] = gdf['title'].apply(lambda t: t.split('_')[5])\n",
"gdf = gdf[gdf['tile'] == 'T32UQC']\n",
"gdf = gdf.sort_values(by='beginposition')\n",
"\n",
"before = gdf.iloc[0]\n",
"during = gdf.loc['ad590142-a9f2-49a8-8be7-2a6c06454514']\n",
"after = gdf.iloc[-1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Download process from LTA"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"downloads, initialized, failed = api.download_all([before['uuid'], during['uuid'], after['uuid']])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The dict containing information about succesful donwloads is empty:"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{}"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"downloads"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The second dict contains information about one product.\n",
"Notice that the key `'Online'` is `False`: "
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'3506220d-5b7e-4e7a-a3a7-01d272cb5d26': {'id': '3506220d-5b7e-4e7a-a3a7-01d272cb5d26',\n",
" 'title': 'S2B_MSIL2A_20180703T101029_N0208_R022_T32UQC_20180703T145931',\n",
" 'size': 993411628,\n",
" 'md5': '0D93BA047833391172FD8B225E803C27',\n",
" 'date': datetime.datetime(2018, 7, 3, 10, 10, 29, 25000),\n",
" 'footprint': 'POLYGON((11.977099413076383 51.32472577627447,11.994731157159846 51.36762213853489,12.055061629611966 51.513432056907135,12.115427796855911 51.65922453067321,12.176098601701987 51.80496081562056,12.237329664976563 51.950657514587945,12.298786150689434 52.096349964051925,12.3603752724967 52.24204550642036,12.384930178970409 52.299737130429605,13.539979680877822 52.26313739791785,13.442095184333063 51.27892518278613,11.977099413076383 51.32472577627447))',\n",
" 'url': \"https://scihub.copernicus.eu/apihub/odata/v1/Products('3506220d-5b7e-4e7a-a3a7-01d272cb5d26')/$value\",\n",
" 'Online': False,\n",
" 'Creation Date': datetime.datetime(2018, 7, 3, 18, 8, 57, 716000),\n",
" 'Ingestion Date': datetime.datetime(2018, 7, 3, 18, 4, 38, 477000)}}"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"initialized"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The `failed` downloads contains information about two products.\n",
"The individual dict entries have a similar shape and contain information comparable to the `initialized` product:"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'ad590142-a9f2-49a8-8be7-2a6c06454514': {'id': 'ad590142-a9f2-49a8-8be7-2a6c06454514',\n",
" 'title': 'S2A_MSIL2A_20180728T101031_N0208_R022_T32UQC_20180728T132514',\n",
" 'size': 981847648,\n",
" 'md5': '012461B4865515B6EC78E09FF4AC91EC',\n",
" 'date': datetime.datetime(2018, 7, 28, 10, 10, 31, 24000),\n",
" 'footprint': 'POLYGON((11.974785982028196 51.32479810174945,12.002441117705246 51.39206582453723,12.063020073618857 51.537961187081926,12.123890293708246 51.68386315912,12.184952232955526 51.82975048038856,12.24633772850238 51.975531385227455,12.307978784112072 52.121253595050256,12.369726217769836 52.26691782002904,12.383685377764667 52.29977657409941,13.539979680877822 52.26313739791785,13.442095184333063 51.27892518278613,11.974785982028196 51.32479810174945))',\n",
" 'url': \"https://scihub.copernicus.eu/apihub/odata/v1/Products('ad590142-a9f2-49a8-8be7-2a6c06454514')/$value\",\n",
" 'Online': False,\n",
" 'Creation Date': datetime.datetime(2018, 7, 28, 21, 42, 40, 577000),\n",
" 'Ingestion Date': datetime.datetime(2018, 7, 28, 21, 40, 25, 18000)},\n",
" '0db8938c-7e2c-416d-a41a-5e78544e45c8': {'id': '0db8938c-7e2c-416d-a41a-5e78544e45c8',\n",
" 'title': 'S2B_MSIL2A_20180822T101019_N0208_R022_T32UQC_20180822T161243',\n",
" 'size': 995797823,\n",
" 'md5': 'C43AB0A26A2F6AE6A968E7297E7F12F3',\n",
" 'date': datetime.datetime(2018, 8, 22, 10, 10, 19, 24000),\n",
" 'footprint': 'POLYGON((11.986535187458271 51.32443078288596,12.027678810555647 51.42474483154029,12.08790243893789 51.570570208036926,12.148431758145344 51.71641516707598,12.201747504713714 51.84399558403028,12.209310176844154 51.86204874930037,12.270959405070856 52.00783765337086,12.312570906902195 52.10583029549706,12.332980270718044 52.15381206631835,12.394862135676313 52.29942241927813,13.539979680877822 52.26313739791785,13.442095184333063 51.27892518278613,11.986535187458271 51.32443078288596))',\n",
" 'url': \"https://scihub.copernicus.eu/apihub/odata/v1/Products('0db8938c-7e2c-416d-a41a-5e78544e45c8')/$value\",\n",
" 'Online': False,\n",
" 'Creation Date': datetime.datetime(2018, 8, 22, 22, 17, 10, 881000),\n",
" 'Ingestion Date': datetime.datetime(2018, 8, 22, 22, 14, 23, 699000)}}"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"failed"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0, 1, 2)"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(downloads), len(initialized), len(failed)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`failed` means that a retrieval process could not yet be initialized.\n",
"Other instances of failure included an exception that was raised due to an unexpected response of the Copernicus Open Access Hub API with an HTTP response code of `200` - a code that normally indicates that the request was successful.\n",
"It is unclear why that response was unexpected.\n",
"\n",
"Through repeated execution of the cell containing the call to `api.download_all`, all products could be moved from the Long-Term Archive to hot storage and could be downloaded.\n",
"The first products could be downloaded after one day and the last product after approximately two days.\n",
"Note that the last product might have been available earlier than two days because the re-execution of this cell was a manual process with intermissions."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.8.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}