diff --git a/data/regions/auxiliary/persefone.qgz b/data/regions/auxiliary/persefone.qgz index e888b686ec149a92d9f07da7476175aba37100e3..e8764689cabaa7542462fdd609e266a73fca3b2f 100644 Binary files a/data/regions/auxiliary/persefone.qgz and b/data/regions/auxiliary/persefone.qgz differ diff --git a/docs/src/gis.md b/docs/src/gis.md index 4d02675e3bdf413786165ecea7d94e2630521c8b..ac5ad2fdf06b08271d6ea110a4f6e9aab12a9091 100644 --- a/docs/src/gis.md +++ b/docs/src/gis.md @@ -5,6 +5,22 @@ for field geometries, and one for soil types. Additionally, a weather input file is needed. This documents describe how to obtain and process the data needed for each of these. +There is a QGIS project file at `data/regions/auxiliary/persefone.qgz`, which +can be used get an overview of the existing region input files and add new ones. +All region data files are stored using the following convention: + +``` +data/regions/<regionname>/ +-> <regionname>.geojson +-> landcover.tif +-> fields.tif +-> soil.tif +-> weather.csv +``` + +Where `<regionname>` is currently one of `bodensee`, `eichsfeld`, `hohenlohe`, `jena`, +`oberrhein`, or `thueringer_becken`. + ## Land cover maps Land cover maps for Germany at 10m resolution can be obtained from @@ -22,12 +38,13 @@ land cover classes: ``` To create a Persefone map input file, you need to crop the national Mundialis -map to the extent that you want to simulate (suggestion: approx. 10x10km is a -reasonable size). +map to the extent that you want to simulate (suggestion: edge lengths between 10-20 km +are a reasonable size). To do so, download the Mundialis map and import it into QGIS. Then create a new vector layer and create a rectangle feature to delimit the extent of your -region. Then go to `Raster -> Extraction -> Clip Raster by Extent`. Select +region. You can save this as a GEOJSON file to the region folder for future reference. +Then go to `Raster -> Extraction -> Clip Raster by Extent`. Select the Mundialis map as the input layer, set the clipping extent by choosing your region vector layer under `Calculate from Layer` and specify the output file name before clicking `Run`. This will generate a TIF file that you can @@ -41,8 +58,9 @@ farming agents. Unfortunately, getting this is rather more complicated. In the EU, every country runs a Land Parcel Information System (LPIS) to administer CAP payments. In Germany, this is called InVeKoS and is run by the -Länder. For example, you can view and download the InVeKoS data for Thüringen -[here](https://thueringenviewer.thueringen.de/thviewer/invekos.html). +Länder. For example, you can view and download the InVeKoS data for +[Thüringen](https://thueringenviewer.thueringen.de/thviewer/invekos.html) or +[Baden-Württemberg](https://metadaten.geoportal-bw.de/geonetwork/srv/eng/catalog.search#/metadata/03873032-80e7-41ec-bb3e-3d34231617e4). This gives you a vector layer which can be loaded into QGIS. However, it needs to be converted to a raster layer and cropped to your region extent before it can be used in Persefone. @@ -79,9 +97,14 @@ Rohstoffe in form of the [Bodenatlas](https://bodenatlas.bgr.de/). This provides a (coarse, but for our purposes sufficient) map of the distribution of the basic soil types such as clay, silt, sand, and loam. -To create the Persefone input file, you need crop this national map to the same -region as the other maps, then rasterise it (see instructions in the last paragraph -of the previous section). +To create the Persefone input file, you first need to rasterise the data. See the +instructions above - choose `BODENART` as the field for the burn-in value. (Note: +rastering the whole map produces a 20GB file! This can later be deleted again.) +Then you need to align and crop it to the extent you require, using the dialog at +`Raster -> Align Rasters...`. Select your landcover map as the reference layer +and the extent layer, then choose your national soil map as the input. (Don't forget +to define the output file name using `Configure Raster...`, this is a bit hidden.) +The created output file can then be used for the `soilmap` parameter. ## Weather data