Add headlines to all notebooks

This commit is contained in:
heyarne 2021-03-01 16:09:44 +00:00
commit b0d9d1336d
14 changed files with 843 additions and 401 deletions

View file

@ -2,6 +2,6 @@
The first chapter contains notebooks that document the data retrieval process from the Copernicus Open Access Hub.
It explains how to use [`sentinelsat`](https://github.com/sentinelsat/sentinelsat) library to interact with the API: How to specify what kind of data we are interested in with the aide of open map data from [OpenStreetMap](https://www.openstreetmap.org/) and [`geopandas`](https://geopandas.org/) and how to download it. It then goes on to show how to use [`rasterio`](https://rasterio.readthedocs.io/) and [`matplotlib`](https://matplotlib.org/stable/index.html) to work with the data.
It explains how to use the [`sentinelsat`](https://github.com/sentinelsat/sentinelsat) library to interact with the HTTP API: How to specify what kind of data we are interested in with the aide of open map data from [OpenStreetMap](https://www.openstreetmap.org/) and [`geopandas`](https://geopandas.org/) and how to download it. It then goes on to show how to use [`rasterio`](https://rasterio.readthedocs.io/) and [`numpy`](https://numpy.org/) to read and process the downloaded data and [`matplotlib`](https://matplotlib.org/stable/index.html) to visualize it.
The Sentinel-2 satellite captures light in visible and invisible parts of the spectrum. This can be used to derive different kinds of useful information about ground-level phenomena. This chapter will detail how to use it to create true-color images for different moments in time.
The Sentinel-2 satellite captures light in visible and invisible parts of the spectrum. This can be used to derive different kinds of useful information about ground-level phenomena. The end of this chapter will detail how to use it to create true-color images for different moments in time.

View file

@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# When is Brandenburg Covered in its Entirety?\n",
"# Large Area Coverage Analysis\n",
"\n",
"When trying to generate mosaics covering the entire federal state of Brandenburg it was discovered that even over relatively long time frames (i.e. four weeks) uncovered areas could be detected.\n",
"This discovery stands in contrast with the claim that the revisit time in that given latitude would be approximately one week.\n",

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,12 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Small-Scale NDVI Calculation"
]
},
{
"cell_type": "code",
"execution_count": 1,
@ -8,41 +15,16 @@
"source": [
"import folium\n",
"import sentinel_helpers\n",
"from pathlib import Path"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's search for a more detailed geometry this time that would be hard to find outside of OpenStreetMap:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from pathlib import Path\n",
"\n",
"tempelhofer_feld = sentinel_helpers.search_osm('Tempelhofer Feld, Berlin, Germany').iloc[:1]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# there's a warning about this being in WGS84 which we can ignore\n",
"bbox = tempelhofer_feld.bounds.values[0]\n",
"minx, miny, maxx, maxy = bbox"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Is the area we have the area we want?\n",
"## Verify the Obtained Geometry\n",
"\n",
"We introduce the `folium` library which lets us plot an OpenStreetMap-based map in the background.\n",
"This enables us a better preview of our shape, because it allows us to surrounding features such as streets or parks.\n",
@ -810,7 +792,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"The finally helpful tip for clipping came from [this website](https://automating-gis-processes.github.io/CSC/notebooks/L5/clipping-raster.html)."
"The finally helpful tip for clipping came from [this website](https://automating-gis-processes.github.io/CSC/notebooks/L5/clipping-raster.html).\n",
"\n",
"**TODO** Make sure that we are using the correct range here."
]
},
{

File diff suppressed because one or more lines are too long

View file

@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Multi-Threading Comparison\n",
"# Multi-Threading Performance Benchmark\n",
"\n",
"This notebook contains a performance comparison of different methods to process the NDVI calculations.\n",
"\n",

View file

@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dealing with cloud masks\n",
"# Cloud Masks\n",
"\n",
"The products contain several raster and vector files that represent cloud masks or cloud propabilities.\n",
"\n",

View file

@ -4,6 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Naive Approach to Downloading\n",
"\n",
"- How much data would we need to download when covering Brandenburg in its entirety?"
]
},
@ -17,8 +19,11 @@
"import os\n",
"from sentinel_helpers import search_osm\n",
"from sentinelsat import SentinelAPI\n",
"from tqdm.notebook import tqdm\n",
"\n",
"api = SentinelAPI(os.getenv('SCIHUB_USERNAME'), os.getenv('SCIHUB_PASSWORD'))\n",
"api._tqdm = tqdm\n",
"\n",
"start_date = date(2018, 1, 1)\n",
"end_date = date(2018, 12, 31)\n",
"cloud_coverage = (0, 30)"

View file

@ -4,6 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Forest Fire Subset Definition\n",
"\n",
"- Other approach\n",
"- Instead of focusing on all fires in an entire year, we focus on several firest that were covered well\n",
"- → Jueterbog / Luckenwalde\n",

View file

@ -7,19 +7,20 @@
"# Comparison of dNBR for three wild fires in 2018 and 2019\n",
"\n",
"This notebook contains the calculations necessary for mapping the burn severity of the previously selected products.\n",
"This burn severity is measured as the ${\\Delta}NBR$, which is defined as:\n",
"This burn severity is measured as the Normalized Burn Ratio (NBR).\n",
"The development of this burn ratio over time is described using the ${\\Delta}$NBR, which is defined as:\n",
"\n",
"$$\n",
"{\\Delta}NBR = NBR_\\text{pre-fire} - NBR_\\text{post-fire}\n",
"{\\Delta}\\text{NBR} = \\text{NBR}_\\text{pre-fire} - \\text{NBR}_\\text{post-fire}\n",
"$$\n",
"\n",
"Instead of only calculating values by overlaying different bands in one product, the ${\\Delta}NBR$ adds a time dimension to determine changes that have occured in the time span between the two chosen products.\n",
"Instead of only calculating values by overlaying different bands in one product, the ${\\Delta}$NBR adds a time dimension to determine changes that have occurred in the time span between the two chosen products.\n",
"\n",
"## Methodology\n",
"\n",
"The $NBR$ of the products downloaded in the previous notebook is calculated using the notebook [02 Spectral Indices](\"02 Spectral Indices.ipynb\").\n",
"These $NBR$ values are plotted side-by-side to get a visual impression of the changes that may have occured between two given dates.\n",
"The ${\\Delta}NBR$ is calculated and, if showing signs of burned areas, compared to data given by the responsible German ministries.\n",
"The NBR of the products downloaded in the previous notebook is calculated using the notebook [02 Spectral Indices](\"02 Spectral Indices.ipynb\").\n",
"These NBR values are plotted side-by-side to get a visual impression of the changes that may have occurred between two given dates.\n",
"The ${\\Delta}$NBR is calculated and, if showing signs of burned areas, compared to data given by the responsible German ministries.\n",
"\n",
"## Calculcations\n",
"### Setup"
@ -224,7 +225,7 @@
"source": [
"#### NBR plots\n",
"\n",
"We plot the $NBR$ values for all dates side by side to get a first visual impression of changes that have occured."
"We plot the NBR values for all dates side by side to get a first visual impression of changes that have occurred."
]
},
{
@ -283,7 +284,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Red dots mark the location of the evacuated villages, the background shows the calculated $NBR$ values, where areas with a low $NBR$ value are brighter and areas with a high NBR value are darker."
"Red dots mark the location of the evacuated villages, the background shows the calculated NBR values, where areas with a low NBR value are brighter and areas with a high NBR value are darker."
]
},
{