mirror of
https://github.com/heyarne/earth-observation-for-journalism.git
synced 2026-05-06 11:03:40 +02:00
There is no "we" in "thesis"
This commit is contained in:
parent
9e34128c8b
commit
b202c4da38
10 changed files with 14 additions and 14 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
The first chapter contains notebooks that document the data retrieval process from the Copernicus Open Access Hub.
|
||||
|
||||
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.
|
||||
It explains how to use the [`sentinelsat`](https://github.com/sentinelsat/sentinelsat) library to interact with the HTTP API: How to retrieve data for any area of interest 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 mission is a part of the [Copernicus Earth observation program](http://www.esa.int/Applications/Observing_the_Earth/Copernicus), which provides open earth observation data to anyone. Sentinel-2 is a group of satellites that capture electromagnetic radiation. A part of this is visible light, so it can be used to create detailed satellite maps, but a large part of the captured data is invisible. It can be used to infer information on all kinds of ground-level phenomena where other data sources are scarce.
|
||||
|
||||
|
|
|
|||
|
|
@ -389,7 +389,7 @@
|
|||
"source": [
|
||||
"In addition to the [OpenStreetMap Wiki](https://wiki.openstreetmap.org/) the [OpenStreetMap Website](https://openstreetmap.org/) is useful to interactively test out different search queries.\n",
|
||||
"\n",
|
||||
"We continue with `berlin`."
|
||||
"In this notebook the area of interest is defined to be `berlin`."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -450,7 +450,7 @@
|
|||
"\n",
|
||||
"Why do the products described above extend the range of up to 2000?\n",
|
||||
"\n",
|
||||
"The reflectance value - which is what we're usually interested in to perform arithmetic on - is a floating point number $\\in [0, 1]$. The products contain digital counts (DC) or digital numbers (DN). These values have to be converted with $\\frac{\\text{DN}}{10\\ 000}$ like the quote above implies.\n",
|
||||
"The reflectance value - which is used in the arithmetic calculations - is a floating point number $\\in [0, 1]$. The products contain digital counts (DC) or digital numbers (DN). These values have to be converted with $\\frac{\\text{DN}}{10\\ 000}$ like the quote above implies.\n",
|
||||
"\n",
|
||||
"The sensors on the sentinel satellite capture a lot of light outside of the spectrum visible to the human eye. The sensors are not modeled to match the sensitivity of the human eye - values which are too intense (i.e. $> 2000$) can therefore be discarded.[^other-true-color-approaches]\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -682,7 +682,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"We continue by creating the folder structure and initializing the download."
|
||||
"The next step is to create the folder structure and initialize the download."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -774,7 +774,7 @@
|
|||
"\n",
|
||||
"Because Python does not support multithreading primitives, individual Python processes have to be started to distribute work across multiple cores. This is a rather expensive operation that can make some operations even slower, albeit performed in parallel. The overhead of starting individual processes can outweigh the benefit of parallelization.\n",
|
||||
"\n",
|
||||
"Benchmarks are left out in this case because each reprojection operation runs multiple tens of seconds, which is far longer than what it takes to start a single process.parallel"
|
||||
"Benchmarks are left out in this case because each reprojection operation runs multiple tens of seconds, which is far longer than what it takes to start a single process."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"We can see that the size given by the scihub api is way larger."
|
||||
"The size given by the scihub API is a lot larger than what has been downloaded."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@
|
|||
"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",
|
||||
"Berlin is located close to the edge of the tiling grid which is used by the Copernicus Open Access Hub to separate different products. There 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."
|
||||
]
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"We can find out the vector cloud mask path by manipulating the path to the raster cloud mask:"
|
||||
"The vector cloud mask path can be obtained by manipulating the path to the raster cloud mask:"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -337,7 +337,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"We can skip `geopandas`geopandas and use `fiona` directly:"
|
||||
"`geopandas` can be skipped and instead `fiona` directly used:"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@
|
|||
"source": [
|
||||
"### Resolving the Formulas\n",
|
||||
"\n",
|
||||
"`get_bands` is a function function that returns all of the bands referenced in a recursive formula.\n",
|
||||
"`get_bands` is a function that returns all of the bands referenced in a recursive formula.\n",
|
||||
"This is necessary to resolve these references to actual data sets."
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -610,7 +610,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"- again, well!"
|
||||
"The area of interest is comfortably contained within the available products, regardless of their UTM zone."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -206,7 +206,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 occurred."
|
||||
"The NBR values for all dates are shown side by side to get a first visual impression of the changes that have occurred."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -443,7 +443,7 @@
|
|||
"Please note that the date given in the Waldbrandstatistik is different to the one [given by Deutsche Welle](https://www.dw.com/en/forest-fires-near-berlin-could-burn-for-days/a-45203042).\n",
|
||||
"It is likely to be the result of an uncorrected typing error (August 13 vs. August 23), which is corrected in the following pages of the report.\n",
|
||||
"\n",
|
||||
"We can extract the area between the three evacuated villages and calculate the burned area.\n",
|
||||
"Therea between the three evacuated villages is extracted to calculate its burned area.\n",
|
||||
"The coordinates for the box used for the extract can be read from this plot that marks its axes using array coordinates:"
|
||||
]
|
||||
},
|
||||
|
|
@ -861,7 +861,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"After masking the array with the shape of the nature reserve, only the pixels within that nature reserve that have at marks of at least a low severity burn are kept and all others omitted."
|
||||
"After masking the array with the shape of the nature reserve, only the pixels within that nature reserve that have marks of at least a low severity burn are kept and all others omitted."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue