mirror of
https://github.com/heyarne/earth-observation-for-journalism.git
synced 2026-05-07 11:33:38 +02:00
494 lines
99 KiB
Text
494 lines
99 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Area of Interest Definition and Product Download\n",
|
|
"## Area of Interest\n",
|
|
"\n",
|
|
"In contrast to the explorations of previous chapters which looked at larger areas of interest, this section aims to harness the high resolution of Sentinel-2 data to provide highly localized information.\n",
|
|
"\n",
|
|
"The area of interest is the Tempelhofer feld, a park area in Berlin, whose geometry can be queried from the OpenStreetMap Nominatim API."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from pathlib import Path\n",
|
|
"from sentinel_helpers import search_osm\n",
|
|
"\n",
|
|
"tempelhofer_feld = search_osm('Tempelhofer Feld, Berlin, Germany').iloc[:1]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Because smaller areas like this are not often plotted on maps using well-defined borders, verifying the obtained geometry can be hard to do by looking only at their silhouette.\n",
|
|
"\n",
|
|
"The `folium` library supports creating interactive map widgets where shapes can be placed on a background layer. This background layer is also created from OpenStreetMap-data and provides a styled representation of additional information such as buildings and streets.\n",
|
|
"\n",
|
|
"The `sentinel_helpers` module contains a function which wraps a call to the `folium.Map` constructor so that different kinds of `geopandas`-based geometries can be displayed with a single function call:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"\u001b[0;31mSignature:\u001b[0m \u001b[0mgeodataframe_on_map\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgeodataframe\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;31mSource:\u001b[0m \n",
|
|
"\u001b[0;32mdef\u001b[0m \u001b[0mgeodataframe_on_map\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgeodataframe\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\n",
|
|
"\u001b[0;34m\u001b[0m \u001b[0;34m'''\u001b[0m\n",
|
|
"\u001b[0;34m Plot a GeoDataframe or GeoSeries on a Leaflet map; map automatically\u001b[0m\n",
|
|
"\u001b[0;34m centers\u001b[0m\n",
|
|
"\u001b[0;34m '''\u001b[0m\u001b[0;34m\u001b[0m\n",
|
|
"\u001b[0;34m\u001b[0m \u001b[0mbbox\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgeodataframe\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munary_union\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbounds\u001b[0m\u001b[0;34m\u001b[0m\n",
|
|
"\u001b[0;34m\u001b[0m \u001b[0mminx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mminy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmaxx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmaxy\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbbox\u001b[0m\u001b[0;34m\u001b[0m\n",
|
|
"\u001b[0;34m\u001b[0m \u001b[0mm\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfolium\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtiles\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'cartodbpositron'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mscroll_wheel_zoom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
|
|
"\u001b[0;34m\u001b[0m \u001b[0mfolium\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mGeoJson\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgeodataframe\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_json\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_to\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
|
|
"\u001b[0;34m\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit_bounds\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mminy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mminx\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mmaxy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmaxx\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n",
|
|
"\u001b[0;34m\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;31mFile:\u001b[0m ~/sources/sentinel_helpers.py\n",
|
|
"\u001b[0;31mType:\u001b[0m function\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"from sentinel_helpers import geodataframe_on_map\n",
|
|
"??geodataframe_on_map"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"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_5603fd0ecac24671b8634827b393e27c%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_5603fd0ecac24671b8634827b393e27c%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_5603fd0ecac24671b8634827b393e27c%20%3D%20L.map%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22map_5603fd0ecac24671b8634827b393e27c%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%20%20%20%20scrollWheelZoom%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_e64271aa2fb548a2bedbf5f4b57937d4%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_5603fd0ecac24671b8634827b393e27c%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_c0aa00717c1a4111b3bc2392334e164d_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_5603fd0ecac24671b8634827b393e27c.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_c0aa00717c1a4111b3bc2392334e164d%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_c0aa00717c1a4111b3bc2392334e164d_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_5603fd0ecac24671b8634827b393e27c%29%3B%0A%0A%20%20%20%20%20%20%20%20function%20geo_json_c0aa00717c1a4111b3bc2392334e164d_add%20%28data%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20geo_json_c0aa00717c1a4111b3bc2392334e164d.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_c0aa00717c1a4111b3bc2392334e164d_add%28%7B%22features%22%3A%20%5B%7B%22geometry%22%3A%20%7B%22coordinates%22%3A%20%5B%5B%5B13.3860533%2C%2052.4737574%5D%2C%20%5B13.3863524%2C%2052.4735952%5D%2C%20%5B13.3864604%2C%2052.4735969%5D%2C%20%5B13.3864189%2C%2052.4716577%5D%2C%20%5B13.3863147%2C%2052.471658%5D%2C%20%5B13.38631%2C%2052.4715818%5D%2C%20%5B13.3863084%2C%2052.4715557%5D%2C%20%5B13.3863068%2C%2052.4715308%5D%2C%20%5B13.3863889%2C%2052.4715301%5D%2C%20%5B13.3863872%2C%2052.4714801%5D%2C%20%5B13.3863864%2C%2052.4714579%5D%2C%20%5B13.3863857%2C%2052.4714374%5D%2C%20%5B13.3863016%2C%2052.4714377%5D%2C%20%5B13.3862923%2C%2052.4712813%5D%2C%20%5B13.3879678%2C%2052.4707633%5D%2C%20%5B13.3888702%2C%2052.4704614%5D%2C%20%5B13.3890149%2C%2052.4704129%5D%2C%20%5B13.3898131%2C%2052.4701306%5D%2C%20%5B13.3910407%2C%2052.4696316%5D%2C%20%5B13.391832%2C%2052.4692582%5D%2C%20%5B13.3918756%2C%2052.4692769%5D%2C%20%5B13.3921047%2C%2052.4693737%5D%2C%20%5B13.3927525%2C%2052.4689153%5D%2C%20%5B13.3932135%2C%2052.4686322%5D%2C%20%5B13.3937067%2C%2052.4683783%5D%2C%20%5B13.3952389%2C%2052.4676963%5D%2C%20%5B13.395917%2C%2052.4674117%5D%2C%20%5B13.3964692%2C%2052.4671832%5D%2C%20%5B13.3969422%2C%2052.4669884%5D%2C%20%5B13.3974082%2C%2052.466844%5D%2C%20%5B13.3980615%2C%2052.4666547%5D%2C%20%5B13.4008602%2C%2052.4659293%5D%2C%20%5B13.4012018%2C%2052.4658859%5D%2C%20%5B13.4017278%2C%2052.465826%5D%2C%20%5B13.4023046%2C%2052.4657668%5D%2C%20%5B13.4028338%2C%2052.4657206%5D%2C%20%5B13.403272%2C%2052.4656875%5D%2C%20%5B13.4035727%2C%2052.4656678%5D%2C%20%5B13.4040602%2C%2052.4656452%5D%2C%20%5B13.4044519%2C%2052.4656359%5D%2C%20%5B13.404695%2C%2052.4656352%5D%2C%20%5B13.4051922%2C%2052.4656449%5D%2C%20%5B13.4053871%2C%2052.4656855%5D%2C%20%5B13.4054091%2C%2052.4656703%5D%2C%20%5B13.4054287%2C%2052.4656349%5D%2C%20%5B13.4057077%2C%2052.4656785%5D%2C%20%5B13.4067143%2C%2052.4658094%5D%2C%20%5B13.4071153%2C%2052.4658676%5D%2C%20%5B13.4075289%2C%2052.4659321%5D%2C%20%5B13.407778%2C%2052.4659709%5D%2C%20%5B13.4080364%2C%2052.4660163%5D%2C%20%5B13.4084024%2C%2052.4660952%5D%2C%20%5B13.4086565%2C%2052.4661596%5D%2C%20%5B13.4088087%2C%2052.4662012%5D%2C%20%5B13.4090635%2C%2052.4662756%5D%2C%20%5B13.4092177%2C%2052.4663222%5D%2C%20%5B13.4095195%2C%2052.4664194%5D%2C%20%5B13.4099729%2C%2052.4665693%5D%2C%20%5B13.410099%2C%2052.466583%5D%2C%20%5B13.4107083%2C%2052.4663572%5D%2C%20%5B13.4111506%2C%2052.4661933%5D%2C%20%5B13.4124381%2C%2052.4662717%5D%2C%20%5B13.4143427%2C%2052.4664841%5D%2C%20%5B13.4162038%2C%2052.4666917%5D%2C%20%5B13.4165818%2C%2052.4667205%5D%2C%20%5B13.4160473%2C%2052.469191%5D%2C%20%5B13.4161991%2C%2052.4694397%5D%2C%20%5B13.4164698%2C%2052.4696011%5D%2C%20%5B13.4172509%2C%2052.4700992%5D%2C%20%5B13.4173085%2C%2052.4702212%5D%2C%20%5B13.4175384%2C%2052.4703617%5D%2C%20%5B13.4184215%2C%2052.4705019%5D%2C%20%5B13.4193058%2C%2052.4706467%5D%2C%20%5B13.4199854%2C%2052.4707548%5D%2C%20%5B13.4201478%2C%2052.4707813%5D%2C%20%5B13.420237%2C%2052.470832%5D%2C%20%5B13.4203108%2C%2052.4708765%5D%2C%20%5B13.4203021%2C%2052.4709036%5D%2C%20%5B13.4203292%2C%2052.4709071%5D%2C%20%5B13.4203713%2C%2052.4709338%5D%2C%20%5B13.4203744%2C%2052.4709567%5D%2C%20%5B13.4203775%2C%2052.4709796%5D%2C%20%5B13.4204459%2C%2052.4709884%5D%2C%20%5B13.4205262%2C%2052.4710664%5D%2C%20%5B13.4202903%2C%2052.4718011%5D%2C%20%5B13.4202804%2C%2052.4718275%5D%2C%20%5B13.4202612%2C%2052.4718496%5D%2C%20%5B13.4200826%2C%2052.4719872%5D%2C%20%5B13.4198422%2C%2052.4720663%5D%2C%20%5B13.4197737%2C%2052.4720876%5D%2C%20%5B13.4196857%2C%2052.4724112%5D%2C%20%5B13.4194267%2C%2052.4733222%5D%2C%20%5B13.4191813%2C%2052.4742289%5D%2C%20%5B13.4189381%2C%2052.4751452%5D%2C%20%5B13.4185638%2C%2052.4765032%5D%2C%20%5B13.4184614%2C%2052.4765907%5D%2C%20%5B13.4184088%2C%2052.4765676%5D%2C%20%5B13.4183885%2C%2052.4765817%5D%2C%20%5B13.4183634%2C%2052.4765991%5D%2C%20%5B13.4184179%2C%2052.4766257%5D%2C%20%5B13.4183696%2C%2052.4766604%5D%2C%20%5B13.4182439%2C%2052.4767533%5D%2C%20%5B13.4179549%2C%2052.477808%5D%2C%20%5B13.4176361%2C%2052.4778849%5D%2C%20%5B13.4164194%2C%2052.4777604%5D%2C%20%5B13.4162202%2C%2052.4784891%5D%2C%20%5B13.4150599%2C%2052.478741%5D%2C%20%5B13.4147975%2C%2052.4788153%5D%2C%20%5B13.4142572%2C%2052.4789479%5D%2C%20%5B13.4136134%2C%2052.4790466%5D%2C%20%5B13.4123382%2C%2052.4786485%5D%2C%20%5B13.4116876%2C%2052.4784429%5D%2C%20%5B13.4115297%2C%2052.4783913%5D%2C%20%5B13.4113247%2C%2052.4785383%5D%2C%20%5B13.4111063%2C%2052.4786857%5D%2C%20%5B13.4108915%2C%2052.4788211%5D%2C%20%5B13.4106024%2C%2052.4790033%5D%2C%20%5B13.4103023%2C%2052.4791841%5D%2C%20%5B13.4098629%2C%2052.47944%5D%2C%20%5B13.4096188%2C%2052.4795802%5D%2C%20%5B13.409214%2C%2052.4798058%5D%2C%20%5B13.408833%2C%2052.4800139%5D%2C%20%5B13.408464%2C%2052.4802108%5D%2C%20%5B13.4078924%2C%2052.4804993%5D%2C%20%5B13.4071139%2C%2052.4808582%5D%2C%20%5B13.4067392%2C%2052.4810269%5D%2C%20%5B13.407169%2C%2052.481983%5D%2C%20%5B13.407284%2C%2052.4822701%5D%2C%20%5B13.4072384%2C%2052.4822832%5D%2C%20%5B13.4071619%2C%2052.4822996%5D%2C%20%5B13.4038497%2C%2052.483011%5D%2C%20%5B13.4033046%2C%2052.4831177%5D%2C%20%5B13.4027791%2C%2052.4832113%5D%2C%20%5B13.4024191%2C%2052.4832726%5D%2C%20%5B13.4023876%2C%2052.483234%5D%2C%20%5B13.4023352%2C%2052.4831756%5D%2C%20%5B13.401917%2C%2052.4826871%5D%2C%20%5B13.4020004%2C%2052.4826744%5D%2C%20%5B13.4020238%2C%2052.4826587%5D%2C%20%5B13.4020147%2C%2052.4826254%5D%2C%20%5B13.4024112%2C%2052.4825687%5D%2C%20%5B13.4024671%2C%2052.4825845%5D%2C%20%5B13.4023974%2C%2052.4823952%5D%2C%20%5B13.4023632%2C%2052.482175%5D%2C%20%5B13.4020569%2C%2052.4814293%5D%2C%20%5B13.4019546%2C%2052.4811995%5D%2C%20%5B13.4015597%2C%2052.4802316%5D%2C%20%5B13.4012593%2C%2052.4800882%5D%2C%20%5B13.3976311%2C%2052.480305%5D%2C%20%5B13.3975579%2C%2052.4803099%5D%2C%20%5B13.3974809%2C%2052.4803151%5D%2C%20%5B13.3971916%2C%2052.4803357%5D%2C%20%5B13.3970106%2C%2052.4803464%5D%2C%20%5B13.3969582%2C%2052.480347%5D%2C%20%5B13.3967743%2C%2052.480349%5D%2C%20%5B13.3966732%2C%2052.4803501%5D%2C%20%5B13.3965516%2C%2052.4803514%5D%2C%20%5B13.3964185%2C%2052.4803528%5D%2C%20%5B13.3963823%2C%2052.4803518%5D%2C%20%5B13.3963455%2C%2052.4803507%5D%2C%20%5B13.3961681%2C%2052.4803455%5D%2C%20%5B13.3961085%2C%2052.4803438%5D%2C%20%5B13.3960267%2C%2052.4803394%5D%2C%20%5B13.3958865%2C%2052.4803298%5D%2C%20%5B13.3958417%2C%2052.4803267%5D%2C%20%5B13.3956656%2C%2052.4803072%5D%2C%20%5B13.3956169%2C%2052.4803018%5D%2C%20%5B13.3953919%2C%2052.4802711%5D%2C%20%5B13.3951772%2C%2052.4802349%5D%2C%20%5B13.394937%2C%2052.4801851%5D%2C%20%5B13.3946275%2C%2052.4801104%5D%2C%20%5B13.3943532%2C%2052.4800277%5D%2C%20%5B13.3941247%2C%2052.4799495%5D%2C%20%5B13.3939103%2C%2052.4798671%5D%2C%20%5B13.3936876%2C%2052.479771%5D%2C%20%5B13.3935084%2C%2052.4796838%5D%2C%20%5B13.3933491%2C%2052.4795981%5D%2C%20%5B13.3932732%2C%2052.4795547%5D%2C%20%5B13.3930363%2C%2052.4794064%5D%2C%20%5B13.39285%2C%2052.4792672%5D%2C%20%5B13.3927343%2C%2052.47918%5D%2C%20%5B13.3925803%2C%2052.4790446%5D%2C%20%5B13.3924714%2C%2052.4789395%5D%2C%20%5B13.3923706%2C%2052.478827%5D%2C%20%5B13.3922643%2C%2052.4786975%5D%2C%20%5B13.3920923%2C%2052.4784719%5D%2C%20%5B13.391832%2C%2052.4781147%5D%2C%20%5B13.3914074%2C%2052.4775394%5D%2C%20%5B13.391233%2C%2052.4772985%5D%2C%20%5B13.3911785%2C%2052.4772231%5D%2C%20%5B13.3892455%2C%2052.4771706%5D%2C%20%5B13.389262%2C%2052.4769174%5D%2C%20%5B13.3885926%2C%2052.4769001%5D%2C%20%5B13.3886492%2C%2052.4762446%5D%2C%20%5B13.3886534%2C%2052.4761966%5D%2C%20%5B13.3881025%2C%2052.476174%5D%2C%20%5B13.3879466%2C%2052.4761676%5D%2C%20%5B13.3877897%2C%2052.4761593%5D%2C%20%5B13.387394%2C%2052.4761463%5D%2C%20%5B13.3869877%2C%2052.4761295%5D%2C%20%5B13.3868214%2C%2052.4761159%5D%2C%20%5B13.3866129%2C%2052.4761271%5D%2C%20%5B13.3863718%2C%2052.4761399%5D%2C%20%5B13.3863366%2C%2052.4761498%5D%2C%20%5B13.3861116%2C%2052.4761608%5D%2C%20%5B13.3861108%2C%2052.4761481%5D%2C%20%5B13.3861099%2C%2052.4761354%5D%2C%20%5B13.3861101%2C%2052.4761171%5D%2C%20%5B13.3863206%2C%2052.4761144%5D%2C%20%5B13.3863272%2C%2052.47604%5D%2C%20%5B13.3862843%2C%2052.4760448%5D%2C%20%5B13.3862381%2C%2052.4760351%5D%2C%20%5B13.386209%2C%2052.4760289%5D%2C%20%5B13.3861965%2C%2052.4760266%5D%2C%20%5B13.3861062%2C%2052.4760275%5D%2C%20%5B13.3861052%2C%2052.4752752%5D%2C%20%5B13.3860766%2C%2052.474672%5D%2C%20%5B13.3860753%2C%2052.4746023%5D%2C%20%5B13.3860533%2C%2052.4737574%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%22leisure%22%2C%20%22display_name%22%3A%20%22Tempelhofer%20Feld%2C%20Tempelhof-Sch%5Cu00f6neberg%2C%20Berlin%2C%2012201%2C%20Deutschland%22%2C%20%22icon%22%3A%20null%2C%20%22importance%22%3A%200.6515213678433922%2C%20%22osm_id%22%3A%207317281%2C%20%22osm_type%22%3A%20%22relation%22%2C%20%22place_id%22%3A%20300461670%2C%20%22place_rank%22%3A%2024%2C%20%22type%22%3A%20%22park%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_5603fd0ecac24671b8634827b393e27c.fitBounds%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%5B52.4656349%2C%2013.3860533%5D%2C%20%5B52.4832726%2C%2013.4205262%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 0x7fe487c4a6d0>"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"geodataframe_on_map(tempelhofer_feld)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The shape correctly represents the Tempelhofer Feld, excluding the area of the former airport building. It encompasses an area which is mostly covered by grass and permeated with tarred footways, which were formerly used as runways."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Open Access Hub Query\n",
|
|
"\n",
|
|
"The Open Access Hub is queried for an entire year of products covering the Tempelhofer Feld, excluding those with a cloud coverage of over 30%."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Found 77 products\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"from datetime import date\n",
|
|
"from sentinelsat import SentinelAPI\n",
|
|
"from shapely.geometry import box\n",
|
|
"from tqdm.notebook import tqdm\n",
|
|
"import os\n",
|
|
"\n",
|
|
"# save area of interest as GeoJSON\n",
|
|
"base_path = Path('resources/tempelhofer_feld')\n",
|
|
"base_path.mkdir(exist_ok=True, parents=True)\n",
|
|
"tempelhofer_feld.to_file(base_path / 'tempelhofer_feld.geojson', driver='GeoJSON')\n",
|
|
"\n",
|
|
"# construct api client\n",
|
|
"api = SentinelAPI(os.getenv('SCIHUB_USERNAME'), os.getenv('SCIHUB_PASSWORD'))\n",
|
|
"api._tqdm = tqdm # nicer progress bars\n",
|
|
"\n",
|
|
"# send query\n",
|
|
"footprint = tempelhofer_feld.convex_hull.iloc[0]\n",
|
|
"products = api.query(footprint,\n",
|
|
" platformname='Sentinel-2',\n",
|
|
" processinglevel='Level-2A',\n",
|
|
" date=(date(2019,1,1), date(2019,12,31)),\n",
|
|
" cloudcoverpercentage=(0,30))\n",
|
|
"\n",
|
|
"print(f'Found {len(products)} products')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To avoid the the merging process demonstrated in [](01d-true-color-mosaic), only products that fully contain the Tempelhofer Feld are considered.\n",
|
|
"The footprints (i.e. the geometries) of the returned products are therefore intersected with the Tempelhofer Feld geometry using the `geopandas` library:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/opt/conda/lib/python3.8/site-packages/pyproj/crs/crs.py:53: FutureWarning: '+init=<authority>:<code>' syntax is deprecated. '<authority>:<code>' is the preferred initialization method. When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6\n",
|
|
" return _prepare_from_string(\" \".join(pjargs))\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"77"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"import geopandas as gpd\n",
|
|
"\n",
|
|
"products_gdf = api.to_geodataframe(products)\n",
|
|
"intersected = gpd.overlay(products_gdf.to_crs('EPSG:4326'), tempelhofer_feld.to_crs('EPSG:4326'), how='intersection')\n",
|
|
"len(intersected)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<GeometryArray>\n",
|
|
"[<shapely.geometry.polygon.Polygon object at 0x7fe487c26160>]\n",
|
|
"Length: 1, dtype: geometry"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"intersected.geometry.unique()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The intersection returned 77 geometries, all of which consist of an identically shaped polygon.\n",
|
|
"The Tempelhofer Feld is therefore fully contained in all search results.\n",
|
|
"\n",
|
|
"Berlin is located close to the edge of the tiling grid which is used by the Copernicus Open Access Hub to separate different products. The rese is overlap between the tiles, which means that multiple products at the same point in time contain identical data on their edges.\n",
|
|
"The files to download is reduced by keeping only the first captured product for a particular capture date.\n",
|
|
"All of the remaining products are plotted on top of the area of interest for a final visual confirmation."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:title={'center':'Area of Interest and Available Products'}>"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 648x648 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"from sentinel_helpers import plot_downloaded_products\n",
|
|
"\n",
|
|
"deduped = products_gdf.drop_duplicates(subset='beginposition', keep='first')\n",
|
|
"plot_downloaded_products(deduped, tempelhofer_feld, figsize=(9,9), alpha=0.05)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The Tempelhofer Feld is the dark spot towards the bottom right area of the plot.\n",
|
|
"\n",
|
|
"The spectral index is to be calculated over a long time span. This is only possible if there is enough data consistently available over over a long time frame.\n",
|
|
"\n",
|
|
"The query has been restricted by a low acceptable cloud coverage, so product availability should be lower in the generally more cloudy winter months:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:xlabel='week'>"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEMCAYAAADUEk3/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAqVklEQVR4nO2dfbhcVXX/PxGoxUKbvlyFAkqs2Cu+/PhFivAUPWCqJfiCVO8CI2CiNARELUbAYvEFHiMWIUWRQKESIES6WuWlSERryQHrLxW41RbIrSLYkhoVivE1rQXu7499hkxOZuaePffuZJ3N+jzPPPfOzPeu+91rnbNmz5kz+8yanJzEcRzHaT9P29EGHMdxnJnBG7rjOE4meEN3HMfJBG/ojuM4meAN3XEcJxO8oTuO42SCuYZeluXiXLVWfFjQWvFhQWvFR9u0VnxY0HYw19CBr2esTRm7bdqUsdumTRk7Z23K2G3TAjYb+pyMtVZ8WNBa8WFBa8VH27RWfFjQAjYb+uaMtVZ8WNBa8WFBa8VH27RWfFjQAjYb+qaMtSljt02bMnbbtClj56xNGbttWsBmQx/NWGvFhwWtFR8WtFZ8tE1rxYcFLWCzod+WsdaKDwtaKz4saK34aJvWig8LWqBBQxeRXxaRr4nIN0TkXhH5cA/NLBH5hIjcLyL/IiJzY410sSBjrRUfFrRWfFjQWvHRNq0VHxa0QLMZ+v8Ar1TV/wMcABwhIgfXNPOB/arbYmBFrJEuLshYa8WHBa0VHxa0Vny0TWvFhwUt0KChq+qkqv60urtLdasvon4UcHWlXQfMFpE9Y81UnJ+x1ooPC1orPixorfhom9aKDwtaAGY1ucCFiOwE3A08D/iUqp5Ze/5m4DxV/Up1/8vAmap6V023mDCDZ3R0dP28efMuB2YDuwIPAgcD1wOnAGcDVxRFsbAsy2uKoji+LMuVwInAucAlwNHAOsL5mpsJnwqPEo49LSC8wp1fFMXJZVmuKoriuK6fy4FlwCJgDTAX2FhZ3RMYJ7zzuBI4qyiK03rEWAGcDiwFVgOHAxP1MU2Mj1xUz+no3IdXtXlMOdbJ8pguW37fNjvq6NyHd2/zmHKs0/YYU1EUD9W3hSeZnJxsfBsbG5s9NjZ229jY2Itqj39+bGzs0K77Xx4bG3tpTOzObe3ataty01564b2T9Zt1z6m1VnxY0DbR+zZk14cFbefWaIbejYh8EPiZqn6867HLgLWq+pnq/r8Bh6nqxj5hnlL0ml2ddNr+s3aEF6ed+DbkNKHJWS4jIjK7+n1X4A8Ibxm6uQk4oTrb5WDgR8M287IsV+WqjcWC55S5sODDgnYYfYq4bdNa8WFB22HKGbqIvAS4CtiJ8AKgqnqOiCwh3LlURGYBFwNHAD8HFtWPnz+V8dmVM118G3IaEXuMJvVt7dq1y3PTTuP4ZyvGN4zWig8L2iZ634bs+rCg7dwsflN0WcbaWCx4TpkLCz4saIfRp4jbNq0VHxa0gM2v/i/KWBuLBc8pc2HBhwXtMPoUcdumteLDghaw2dDXZKyNxYLnlLmw4MOCdhh9irht01rxYUEL2GzoMevAtE0biwXPKXNhwYcF7TD6FHHbprXiw4IWsNnQY053bJs2FgueU+bCgg8L2mH0KeK2TWvFhwUtYLOhO47jOENgsaHHLOrVNm0sFjynzIUFHxa0w+hTxG2b1ooPC1rAZkMfz1gbiwXPKXNhwYcF7TD6FHHbprXiw4IWsNnQ52esjcWC55S5sODDgnYYfYq4bdNa8WFBC9hs6FdmrI3FgueUubDgw4J2GH2KuG3TWvFhQQvYbOhnZayNxYLnlLmw4MOCdhh9irht01rxYUELNLzAhTM9fGElZ7r4NuQ0wdwM3cJSlL58bnqtFR8WtMPoU8Rtm9aKDwvaDj5D3w747MqZLr4NOU3wGfp21MZiwbPPrtJrh9GniNs2rRUfFrQdfIa+HfDZlTNdfBtymmBxhr4iV20sFjynzIUFHxa0w+hTxG2b1ooPC9oO5ho6cHrG2lgseE6ZCws+LGiH0aeI2zatFR8WtIDNhr40Y20sFjynzIUFHxa0w+hTxG2b1ooPC1rAZkNfnbE2FgueU+bCgg8L2mH0KeK2TWvFhwUtYLOhH56xNhYLnlPmwoIPC9ph9Cnitk1rxYcFLWCzoU9krI3FgueUubDgw4J2GH2KuG3TWvFhQQvYbOizM9bGEhO7bdqUsdumHUafIm7btCljt00L2Gzou2asjcWC55S5sODDgnYYfYq4bdNa8WFBC9hs6A9mrI3FgueUubDgw4J2GH2KuG3TWvFhQQs0aOgiso+I3CYi60XkXhF5dw/NYSLyIxH5enX7QKyRLg7OWBuLBc8pc2HBhwXtMPoUcdumteLDghaAnRtoHgOWquq4iOwO3C0iX1LV+2q6O1T1tbEGenB9xtpYLHhOmQsLPixoh9GniNs2rRUfFrRAgxm6qm5U1fHq958A64G9Yv9RBKdkrI3FgueUubDgw4J2GH2KuG3TWvFhQQtELs4lIvsCtwMvUtUfdz1+GPBZYAPwXeC9qnpvj79fDCwGGB0dXT9v3rzLCZ/k7ko4XnQwcBNwEnA2cEVRFAvLsrymKIrjy7JcCZwInAtcArwR+CowB9gMbAJGgduABcAFwPlFUZxcluW1RVG8pSzLVUVRHFeW5XJgGbAIWAPMBTZWVvcC7iJc0+9K4KyiKE7r+tvOzxXA+4A/IXwJ4HDCqUZbjWlifOSiei5G5z68qs+YjgbWVWP6H+DRAWN60g+wEDh/wJj2JFx0dj5wNXDmgDGdTviW2mpgHnBfjzpdT9jguuvUiTFoTN11uh04pt+YanV6O/D5AWPqrlO91vUxddfpV4BvDxhT97Z3EvChKcbUqdNfAOdNMabuOn0feKLfmHotzjU69+Hd+4wp6/2pVqe/KorirQPGlN3+VBTFQ/Vt4UkmJycb3cbGxnYbGxu7e2xs7I96PPerY2Nju1W/Hzk2NvatpnHrt7Vr167MTXvphfdO1m/WPafWWvFhQdtE79uQXR8WtJ1boxm6iOwC3AzcqqoXNtB/BzhQVR+ZMvhTAF/61Jkuvg05TWhylsss4K+A9f2auYjsUekQkYOquP81jKGyLK/JVRuLBc8pc2HBhwXtMPoUcdumteLDgrbDlDN0ETkUuAP4V8IxPghXo342gKpeKiKnAicTzojZDLxHVb8aayZXfHblTBffhpxGxB6jSX2zcDzKj6Gn11rxYUHbRO/bkF0fFrSdm8Vvip6YsTYWC55T5sKCDwvaYfQp4rZNa8WHBS1g86v/52asjcWC55S5sODDgnYYfYq4bdNa8WFBC9hs6JdkrI3FgueUubDgw4J2GH2KuG3TWvFhQQvYbOhHZ6yNxYLnlLmw4MOCdhh9irht01rxYUEL2Gzo6zLWxmLBc8pcWPBhQTuMPkXctmmt+LCgBWw29DkZa2Ox4DllLiz4sKAdRp8ibtu0VnxY0AI2G/rmjLWxWPCcMhcWfFjQDqNPEbdtWis+LGgBmw19U8baWGJit02bMnbbtMPoU8RtmzZl7LZpAZsNfTRjbSwWPKfMhQUfFrTD6FPEbZvWig8LWsBmQ78tY20sFjynzIUFHxa0w+hTxG2b1ooPC1rAZkNfkLE2FgueU+bCgg8L2mH0KeK2TWvFhwUtYLOhX5CxNhYLnlPmwoIPC9ph9Cnitk1rxYcFLWCzoZ+fsTYWC55T5sKCDwvaYfQp4rZNa8WHBS0QeQk6Zzh86VNnuvg25DTB3Ay9up5fltpYLHhOmQsLPixoh9GniNs2rRUfFrQdfIa+HfDZlTNdfBtymuAz9O2ojcWCZ59dpdcOo08Rt21aKz4saDv4DH074LMrZ7r4NuQ0weIMfXmu2lgseE6ZCws+LGiH0aeI2zatFR8WtB3MNXRgWcbaWCx4TpkLCz4saIfRp4jbNq0VHxa0gM2GvihjbSwWPKfMhQUfFrTD6FPEbZvWig8LWsBmQ1+TsTYWC55T5sKCDwvaYfQp4rZNa8WHBS1gs6HPzVgbiwXPKXNhwYcF7TD6FHHbprXiw4IWsNnQN2asjcWC55S5sODDgnYYfYq4bdNa8WFBC9hs6I7jOM4QWGzoe2asjcWC55S5sODDgnYYfYq4bdNa8WFBC8DOUwlEZB/gamAP4AngL1X1oppmFnARcCTwc2Chqo7HmqmI+bu2aWOx4DllLiz4sKAdRp8ibtu0VnxY0ALNZuiPAUtV9QXAwcA7RGT/mmY+sF91WwysiDVSi5WrNhYLnlPmwoIPC9ph9Cnitk1rxYcFLdCgoavqxs5sW1V/AqwH9qrJjgKuVtVJVV0HzBaRYd9CXpmxNhYLnlPmwoIPC9ph9Cnitk1rxYcFLRC5louI7AvcDrxIVX/c9fjNwHmq+pXq/peBM1X1rtrfLybM4BkdHV0/b968y4HZwK7Ag4R3AC8GHgHOBq4oimJhWZbXFEVxfFmWK4ETgXOBSwiHgs4E5gCbCVfJHiVci28B4Yof5xdFcXJZluuLonhBWZariqI4rvpa7TLCyftrCKcIdT5Vfg9wOuEV8krgrKIoTuv6287PFcDjwMPAauBwYKI+ponxka0OUQGMzn14VZ8xHQ2sq8bUGUPPMfVa36OKfWZ9TBPjI7f20V7bY0ynA0urMa0AzulRp+uBU2p1uq8oiv0HjWlifOS6Hh52Z0ud6jnu1Olz1f/rrtOehLel9TrVa10fU3edTgI+PGBM3dveJsJ2Vq/Tk9vexPjIZQ1y3Gvbez1wWb8x9ap1lbdtxjQxPnJjXVvpr8phf6rV6RtFUbxwwJga70/dfioPDBhTd52eC2zuN6aJ8ZElfepxbJ8xDdyfiqJ4qFc8iGjoIrIbUAIfUdXP1Z77PPDRWkM/Q1XvbhQ8c1ItrNSvofeKHaNNSe6LTG3PWveLa6XWTmB71qPRWS4isgvwWeDaejOv2ADs03V/b+C7wxiysBRlG5fPteDBSi4saGPJuda+fO5wJFk+tzqD5SrgUVX9kz6a1wCnEs5yeRnwCVU9KNZMrvgMfbCPnGaOPkN36libof8+cDzwShH5enU7UkSWiEjn2NAtwAPA/cDlhGNBQ2HhVdTCq3Pq2Ck8WMmFBW0sOdfaZ+jD4Re4MIrP0Af7yGnm6DN0p461Gfp2pfqkO0ttLCljp/BgJRcWtLHkXOuUObbgI1XtholrrqETTm/KVRtLythNaWMuLGhjybnWKXNswUeq2kXHtdjQl2asjSVl7Ka0MRcWtLHkXOuUObbgI1XtouNabOirM9bGkjJ2U9qYCwvaWHKudcocW/CRqnbRcS029MMz1saSMnZT2pgLC9pYcq51yhxb8JGqdtFxLTb0iYy1saSM3ZQ25sKCNpaca50yxxZ8pKpddFyLDX12xtpYUsZuyuxE2lhiYlvQxpIydlNmt0ybMnYqbQzRcS029F0z1saSMnZT2pgLC9pYcq51yhxb8JGqdtFxLTb0BzPWxpIydlPamAsL2lhyrnXKHFvwkap20XEtNvSDM9bGkjJ2U9qYCwvaWHKudcocW/CRqnbRcS029Osz1saSMnZT2pgLC9pYcq51yhxb8JGqdtFxLTb0mIW92qaNJWXsprQxFxa0seRc65Q5tuAjVe2i41ps6GdnrI0lZeymtDEXFrSx5FzrlDm24CNV7aLjWmzoV2SsjSVl7Ka0MRcWtLHkXOuUObbgI1XtouP68rnbAV8+d7CPnJZ19eVznTpP9eVzr8lVG0vK2Ck8WMmFBW0sOdc6ZY4t+EhVu2Hi+gx9O+Az9ME+cpo5+gzdqfNUn6GvzFUbS8rYKTxYyYUFbSw51zplji34SFW7YeKaa+jAiRlrY0kZuyltzIUFbSw51zplji34SFW76LgWG/q5GWtjSRm7KW3MhQVtLDnXOmWOLfhIVbvouBYb+iUZa2NJGbspbcyFBW0sOdc6ZY4t+EhVu+i4Fhv60RlrY0kZuyltzIUFbSw51zplji34SFW76LgWG/q6jLWxpIzdlDbmwoI2lpxrnTLHFnykql10XIsNfU7G2lhSxm5KG3NhQRtLzrVOmWMLPlLVLjquxYa+OWNtLCljN6WNubCgjSXnWqfMsQUfqWoXHXfnqQQi8mngtcAPVPVFPZ4/DLiRLYuxf05Vz4k10sWmjLWxpIzdlE2JtLHExLagjSVl7KZsapk2ZexU2hii4zaZoa8EjphCc4eqHlDdptPMAUYz1saSMnZT2pgLC9pYcq51yhxb8JGqdtFxp2zoqno78OhQdobjtoy1saSM3ZQ25sKCNpaca50yxxZ8pKpddNyZOoZ+iIh8Q0TWiMgLpxlrQcbaWFLGbkobc2FBG0vOtU6ZYws+UtUuOu6Ux9AbMA48R1V/KiJHAjcA+/USishiYDHA6Ojo+nnz5l0OzCZc3fpBwjX0rivL8qOExd2vKIpiYVmW1xRFcXy1tsGJhG9QXQL8rCzLgwifBm8mHHMaJbyyLQAuAM4viuJk4AUAZVmuKoriuLIslwPLgEXAGmAusLGyurEsyxcD84ErgbOKojit6287P1cAHyrL8oPAauBwYGLbMY1sk4sBYzqacLrSHGB9WZavGDCmnpRleca2Y9rWQy0f3WM6HVhajenRykO9TtcTrqjyZJ0qnwweU89c7NYZUw8/nTo9XtWku057Era/rerEtrWuj6m7Tg9W21DPMdXq9O5q26zXqWvb6zm+fmPq3vb+uSzLVw8YU7+89RhT31qvzGN/2qpO+1U+pr0/dfsBlkwxpu46XVWW5fL+Y+pbj2P6jGng/lQUxUM9A9JwtUUR2Re4udeHoj203wEOVNVHpgzcg7IsVwxqVm3UDrsC31Sxt8dqi23JhRXt9qz1TK+22JYcW/Mxk/vpsB46TLuhi8gewPdVdVJEDgL+ljBj93V5K3z53ME+clrW1ZfPdeqYWj5XRD4D/D/gd0Vkg4i8XUSWiMiSSvIm4B4R+QbwCeDY6TTz6u1OltpYUsZO4cFKLixoY8m51ilzbMFHqtoNE9cvcLEd8Bn6YB85zRx9hu7UMTVD395YeBW18OqcOnYKD1ZyYUEbS8619hn6cPgM3Sg+Qx/sI6eZo8/QnTpP9Rn68ly1saSMncKDlVxY0MaSc61T5tiCj1S1GyauuYZOOO8zV20sKWM3pY25sKCNJedap8yxBR+pahcd12JDX5SxNpaUsZvSxlxY0MaSc61T5tiCj1S1i45rsaGvyVgbS8rYTWljLixoY8m51ilzbMFHqtpFx7XY0OdmrI0lZeymtDEXFrSx5FzrlDm24CNV7aLjWmzoG6eWtFYbS8rYTWljLixoY8m51ilzbMFHqtpFx7XY0B3HcZwhsNjQ98xYG0vK2E1pYy4saGPJudYpc2zBR6raRce12NDHM9bGkjJ2U9qYCwvaWHKudcocW/CRqnbRcS029PkZa2NJGbspbcyFBW0sOdc6ZY4t+EhVu+i4Fhv6lRlrY0kZuyltzIUFbSw51zplji34SFW76LgWG/pZGWtjSRm7KW3MhQVtLDnXOmWOLfhIVbvouL4413bAF+ca7COnRaN8cS6nzlN9ca4dvsSlhaUzU8dO4cFKLixoY8m51r587nD48rlG8Rn6YB85zRx9hu7U8Rl6ptpYcp61WfHRxvFZ8GBBa8WHz9CfYvgMfbCPnGaOPkN36jzVZ+grctXGkjJ2Cg9WcmFBG0vOtU6ZYws+UtVumLjmGjpwesbaWFLGbkobc2FBG0vOtU6ZYws+UtUuOq7Fhr40Y20sKWM3pY25sKCNJedap8yxBR+pahcd12JDX52xNpaUsZvSxlxY0MaSc61T5tiCj1S1i45rsaEfnrE2lpSxm9LGXFjQxpJzrVPm2IKPVLWLjmuxoU9krI0lZeymtDEXFrSx5FzrlDm24CNV7aLjWmzoszPWxpIydlNmJ9LGEhPbgjaWlLGbMrtl2pSxU2ljiI6781QCEfk08FrgB6r6oh7PzwIuAo4Efg4sVNXprA+8a8baWFLGbkobc2FBG0vOtU6ZYws+UtUuOm6TGfpK4IgBz88H9qtui4HpnpP5YMbaWFLGbkobc2FBG0vOtU6ZYws+UtUuOu6UDV1VbwceHSA5CrhaVSdVdR0wW0Smc0mmgzPWxpIydlPamAsL2lhyrnXKHFvwkap20XEbffVfRPYFbu5zyOVm4DxV/Up1/8vAmap6Vw/tYsIsntHR0fXz5s27HJg9MT5yY6//Ozr34auKolhYluU1RVEcX5blyonxkbf20R4FbAJGgduABRPjIx/qpT3ptP1nlWW5HFgGLALWTIyP/EufuM8EziqK4rSyLFcVRXFcWZarJsZH3tJDexLhg4zZhLdLDwIHT4yPXNRDu6ozJuBE4Fzgkonxkf/o4+P5wALgAuD8oihO7veV4tG5D58JrAHmUl05fGJ85NY+2ms7Y6p+rpgYH1nSR3tsZ0zA9cApwNkT4yP/20O7S2dMwNHAOmDOxPjIdT20u3fG1CDHC9lyNfQ9CZfpmj8xPvKxXp6rWq8gfEljKbB6Ynzkm33G9+zOmIAriqJYOCDH7+6MCdhMte1NjI9c1kNbz/FyYNnE+MgP+oxvnPDO90qqba+XjypvSwmntx1Ote1Z2J+AuRPjIyt7xPX9aYt2qP2pKIqHesWDmWnonwc+WmvoZ6jq3VMGrki1JknKtU6mu7bGTKzDYUHbT29B20/vuUiv7ae3oO2nt6Dtp2+67stMnOWyAdin6/7ewHdnIK7jOI4TwZRnuTTgJuBUEbkOeBnwI1XdOMXfOI7jODNMk9MWPwMcBvyWiGwAPgjsAqCqlwK3EE5ZvJ9w2uKiVGYdx3Gc/kzZ0FX1zVM8Pwm8Y8YcOY7jOENh8ZuijuM4zhB4Q3ccx8kEb+iO4ziZ4A3dcRwnE7yhO47jZII3dMdxnEzwhu44jpMJ3tAdx3EywRu64zhOJnhDdxzHyQRv6I7jOJngDd1xHCcTvKE7juNkgjd0x3GcTPCG7jiOkwne0B3HcTLBG7rjOE4meEN3HMfJBG/ojuM4meAN3XEcJxO8oTuO42SCN3THcZxM8IbuOI6TCd7QHcdxMsEbuuM4Tibs3EQkIkcAFwE7AVeo6nm15w8DbgQerB76nKqeM4M+HcdxnCmYsqGLyE7Ap4BXARuAO0XkJlW9rya9Q1Vfm8Cj4ziO04Amh1wOAu5X1QdU9RfAdcBRaW05juM4sTQ55LIX8FDX/Q3Ay3roDhGRbwDfBd6rqvfOgD/HcRynIU0a+qwej03W7o8Dz1HVn4rIkcANwH71PxKRxcBigNHR0fXz5s27HJgNIz3/cVmWK4uiWFiW5TVFURxfluXKAdrXA5uAUeA2YEE/baVfDiwDFgFrBsQdAc4qiuK0sixXFUVxXFmWq3rpy7JcDEyEMbEr4TOFg/tou8bEicC5wCUDfOwXxsQFwPlFUZw8YGxnhDExF9gYHu0b98kxVT9XDNAes2VMXA+cApzdZ3w7bxkTRwPrgDl9tLt1xtQgx2/dMib2JGx786eo9QrgdGApsHrA+PbZMiauKIpi4YCY79oyJjbz5LbX03M9x9W213d81Zi4kmrb6+Nhty1j4nCe3PYs7E/M7TM+35+2aIfan4qieGgbQcWsycl6b94aETkE+JCq/mF1/08BVPWjA/7mO8CBqvrIwOAVly2/r6eJk07bf5sXEwvafvpU2n56C9p+egvafnrPRXptP70FbT+9BW0/fT9tnSYz9DuB/URkDvCfwLGEV7YnEZE9gO+r6qSIHEQ4Nv9fTQw4juM4M8OUH4qq6mPAqcCtwPrwkN4rIktEZEklexNwT3UM/RPAsao6eOrvOI7jzCiNzkNX1VuAW2qPXdr1+8XAxTNrzXEcx4nBvynqOI6TCd7QHcdxMsEbuuM4TiZ4Q3ccx8kEb+iO4ziZ4A3dcRwnE7yhO47jZII3dMdxnEzwhu44jpMJ3tAdx3EywRu64zhOJnhDdxzHyQRv6I7jOJngDd1xHCcTvKE7juNkgjd0x3GcTPCG7jiOkwne0B3HcTLBG7rjOE4meEN3HMfJBG/ojuM4meAN3XEcJxO8oTuO42SCN3THcZxM8IbuOI6TCd7QHcdxMmHnJiIROQK4CNgJuEJVz6s9P6t6/kjg58BCVR2fYa+O4zjOAKacoYvITsCngPnA/sCbRWT/mmw+sF91WwysmGGfjuM4zhQ0OeRyEHC/qj6gqr8ArgOOqmmOAq5W1UlVXQfMFpE9Z9ir4ziOM4jJycmBt7GxsTeNjY1d0XX/+LGxsYtrmpvHxsYO7br/5bGxsQN7xFo8NjZ2V3Vb3Of/9Xw8B60VHxa0VnxY0Frx0TatFR8WtJ1bkxn6rF6vA0NoUNW/VNUDq9tf9vl/ixt4aqvWig8LWis+LGit+Gib1ooPC1qg2SGXDcA+Xff3Br47hMZxHMdJSJOzXO4E9hOROcB/AscCC2qam4BTReQ64GXAj1R144w6dRzHcQYy5QxdVR8DTgVuBdaHh/ReEVkiIksq2S3AA8D9wOXAKdPw1O9QTA5aKz4saK34sKC14qNtWis+LGgBmDU5uc2hbsdxHKeF+DdFHcdxMsEbuuM4TiZ4Q3ccx8mEHd7QReQgEfm96vf9ReQ9InJkD927RGSfbSP0jPlLInKCiPxBdX+BiFwsIu8QkV1mdgSONUTkmYni/maKuCnxXARS5cEaO/RDURH5IGEdmJ2BLxFOeVwL/AFwq6p+pEv7I+BnwLeBzwB/o6oP94l7bRXzGcAmYDfgc8A8YJaqvjXNiKZGRJ6pqj9IEPc3VfW/ZjrugP/3a8CfAm8ARqqHfwDcCJynqpu6tL9aafcG1qjq6q7nLlHVU7ru7wF8EHgC+ADwTuCNhDOs3l0/HVZEfqNmbRZwN/B/CbV+tEt7hKp+ocv/hcDvAfcAp6nq97u05wEfV9VHRORAQCtPuwAnqGrZpT0QOJ9wWu+fAp8mLJnxTWCxqv5zl3Y34IxqTHsDvyBs05eq6sphc2woF+OEfe0zqvptBhCZt5htKCYPjT1U+mT164eIrFHV+U20jVZbTMibgAOApwPfA/ZW1R+LyPnAPwEf6dI+ALyU0OyPAT4sIncTmvvnVPUnXdoXq+pLRGRnQqF+W1UfF5FVwDe6DcRsKNVjjRtOnw3rayKSZAer3n1MZwdrvLFW//MfgMNU9XtduXkr8DfAq7q0VwLfAj4LvE1E3ggsUNX/AQ6uxV0JfB74FeA24FrgNYT1gi5l23WEHgH+vfbYXsA44dvKz+16fBnwher3C4CNwOuAPwIuI+x4HV6jqu+rfj8fOEZV7xSR5wOrgQO7tJcQtonZwFcJ9XqViMyrnjukS3stcD3wh4BU47wO+DMReb6qntWljcmxlVz8epWH20Tke4T9869VtdcXDWPyFrMNxeQhxgMkqp+IzO2RHwg944A+z23Djj7k8piqPq6qPwe+rao/BlDVzYSG2c2kqj6hql9U1bcDv01I+BGEZt/N00Tkl4DdCbP0X6sefzphVtHNlYSkfRY4VkQ+KyJPr56rbygQGs59wEOEhrOZ0HDuIDScbh4hzAw6t7vYsmHdVdMu6/q9ewe7k7CDdfMaVX2k+r2zgz2PsIFcUNN272BfE5HTROS3e4wLwsb6AGFj/TDwCeB44HARWVbT7quqH+tsqACq+j1V/Rjw7Jr2d1T1fap6g6q+vhr/P/R52/4sVf1ktUTz7Op//IeqfhJ4Tg/9GcC/Aa9X1TmqOgfYUP3+3B76Dgeq6p+p6r+r6nJg39rzu1QTAoBdVfXOaozfJGxHW2lVdY2qfoawnf5tpf0y8Ms17b6qulJVN6jqhZXvbwGLCM20rm2aYyu5+KGqvldVnw0sJazAOi4it4lI/avsMXmL2YZi8hDjAdLV707g44T9t/v2ccL+24gdPUP/hYg8o2roL+08WM1Q6w19q/ViVPV/Cd9QvUlEdq1p/wqYIKzf/n7gb0TkAUKDvq6m/R1VfWP1+w0i8n7ChvL6Pp6fVTUXROSUqjgAnxSRt9e0ZxDeUZyuqv9a/c2D1QY2iANV9YDq9+UiUj9EtIuI7KzhS19b7WBdL0Ydfqiq7wXeKyIvB95M2MHWE2bt3V9e2LdrJn6hiNypqueKyCLCi1j37OPfReQM4KrOuwcReRawkPBi183TReRpqvpE5fMjIrIBuJ1wOKyb7knG1bXndqrdR1U/Xn1DebmIPESYbfU7jvhMEXkPYVv6VRGZpaodbX1y8ynglurd0BdE5C/Yctju6zXtf4vIqwkTh0kReYOq3iAiBfB4TfszETlUVb8iIq8DHq3G8YSE6wp0E5NjK7no9nMHcIeIvJMw2TiGrb8sE5O3xttQZB5iPEC6+q0HTqpeHLaiGkMjdvQM/RVVM6dTqIpdCG9LujmmX5BqRt99fzlwKHCIqn6CcAjhVuDtqvrh2p8/XUSe1vW3HyFsdLcDvV79GzccVf04cCLwARG5UER2Z4odTESWUu1gff4nbNnBXkm1g4nIK0Tkw0yxg2k4hLQX8DG2fTv5MxE5FKC+sbLtAmzHEPJTisgPReRRwucfv0F4K9rN3wGvrHm5ijCD+0VNe2N16AdV/bPOgyLyPMKsq9e4NqjqGOEd05cI78p6cTnhXdtuwFXAb1Wx96CWt+pFexlwEuEwzzzgfYRDeG+rxV1SjeVthHc3h4vIJsI7yHfVtCcTXiw3AWd2nheREUJdu4nJsZVcfLOHp8dV9Ququqj2VK+8/ZCQt3fXtDHbUHce1jI4DydHeOjoL5Twmd5M1u9D9O/H7+zz+DY85b8pKiJ/DnxRVf++9vgRwCdVdb/a4+cAf66qP609/jzCBx1v6vN/Xkd4t7Cvqu7R4/kP1h66RFUfrnawP1fVE2r6wwgb1/MJ77QeAm4APl3N3Du661T12H7jr8V8CXBFFfMe4G3VrH8EeHP14titHyUca1/XnQ/p+jygpt0L+Keadr6qrmmo3SZuXU+YVf2Oqt4T6WO62hcQDgM21e7VMG8HEQ4F3CkiLyQcYlyvqrfU89BD/2JCAx7vpa9p969iTzTQDvQRGfdlwBNNx1f726vr+0Uf3a6E6zWMTaWt9Neo6vFNtJE+Xk74wPVfVfWLU2gPrbT3TKXt5inf0AchIotU9cqZ0lcbVqfZNI5tUSsi7wLeQXireADhA+Ebq+fGVXVul/adhPWAZlSb2EdM3HcR1i+amGFt/Sywg4CSHmeBxep7aAedYWYh7k1szSzgcMKHjmg4rt5PC2F2Py3tELG/pqoHVb+fSNiebgBeDfyddl3Ks6b940p7fS/tIHb0IRfr1A/PTEuvqptV9Z4hYlvU/jHwUlV9A3AYcLaIdN6i1g/PLE6kTekjJu4fEz73mGntm4DfB15B2MGPVtVzCIcGeh2CjNHXtW+I0O6IuPsAPyac/dX5wPAnXb93s3dNe+EAbT3uIG2svvsEjJOAV1eHfF8NvGWAdjHwqgHavuzoD0V3OCLyL32emgU8azr6nLXATp3DBar6neoQ0N+KyHPYtjGl0lrxkUr7mKo+DvxcRLY6C0xE6icNxOrbpn0p4Zj2+wknGXxdRDZr1ym6XRwYoY2JG6t/moj8OmHiPEur782o6s9E5LFpaPviM/TQqE4gnCJYv/X6ok6MPmft90TkgM6dqkm9lvDh2ou3k9aKj1TaX4hI58O8qc4Ci9W3SqvhlOXlhNMD3y8iF9NnQppKO4T+19hyuvJvSPg8rPN9j/qLd4y2L0/5GTpwM7Cbqn69/oSIrJ2mPmftCcBWMwcNH8aeICL18+ZTaa34SKV9hYYvzjQ5CyxW3zYtlW4DMCYiryEc+uhLKm1Tvaru2+fPnwCOHlY7CP9Q1HEcJxP8kIvjOE4meEN3HMfJBG/ojjMEInKYhK+eO44ZvKE7juNkgjd0x3GcTPDTFp0skbBC5B+p6uuq+/cT1jSR6v5DhPPr/xv4JOE86IeBs1VVK83TCWvyC2GZ2OsJ62Vvrv27zlf6lxC+DeiHYpwdgs/QnVwpgZeLyNNEZE/Cuc2/DyAizyWsMvgtwhoiq4FnEpYWvkTCIlEQVqR8PmHNlecRFtT6QP0ficjZhCVRC2/mzo7Ez0N3sqWahR9FaMqvJDTmEwjLBh9NuKDHqar68q6/uQz4LnAO8FPgJVpd6UlEDgFWq+qc6iv71wJ/TVhU6jWq+qPtMzLH6Y0fcnFypiQsgPW86vdNQEFo6CXhCkgvk7A2eYedgWsI14B8BnC3yJNLV89i6zXvZxMWUjrGm7ljAW/oTs6UhOPkcwgXaNhEWLnuEOBiwuXRSlWtX5sTCRc92Qy8UFX/s0/8HwLHASoiR6vqP874CBwnAj+G7uRMSVgze9fq2PYdhAso/Cbwz4S1a54vIseLyC7V7fdE5AXV2iKXEy5j9kwAEdlLRP6w+x+o6lrCi8T1Ei7W4Dg7DG/oTrZouIjxTwmNnGp51geAf9RwWbSfENabPpZw3Px7hA9CO9dlPRO4H1gnIj8G/h743R7/50uE1fduEpGX1p93nO2FfyjqOI6TCT5DdxzHyQRv6I7jOJngDd1xHCcTvKE7juNkgjd0x3GcTPCG7jiOkwne0B3HcTLBG7rjOE4meEN3HMfJhP8PuL7wBKqqbu4AAAAASUVORK5CYII=\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"captured_at = deduped['beginposition'].astype('datetime64')\n",
|
|
"captured_at.groupby(captured_at.dt.isocalendar().week).count().plot(kind='bar')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Product availability is, as expected, lower during the beginning of the year, with several weeks worth of data missing. There is also no data for week 21 and between weeks 30 and 34, but in total data is available for 30 different weeks. This is more than every other week of the year, which is a very high frequency for a small area which no team was explicitly assigned to collect data for.\n",
|
|
"\n",
|
|
"### Data Retrieval\n",
|
|
"\n",
|
|
"The products are downloaded from the Copernicus Open Access Hub."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "bfc7f33294b24ef2b3efacb019529e83",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Downloading'), FloatProgress(value=0.0, max=804489730.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "7e295e7d5ded4c7ea6d929047c0014b7",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Downloading'), FloatProgress(value=0.0, max=1148131138.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "8b14b031a88d40efb590c90a8ea63acc",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='MD5 checksumming'), FloatProgress(value=0.0, max=804489730.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "886f6fa74f134008b9bf534277b995fe",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Downloading'), FloatProgress(value=0.0, max=802872306.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "5a0d9dbced6044448abeb512fcb1c050",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='MD5 checksumming'), FloatProgress(value=0.0, max=1148131138.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "24ddfc0cb0ff4e0193e102bfc1e6e405",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Downloading'), FloatProgress(value=0.0, max=800527096.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "ff94767a8444465a91e20b29ff094ae6",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='MD5 checksumming'), FloatProgress(value=0.0, max=802872306.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"api.download_all(deduped['uuid'].values, directory_path=base_path)"
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|