class: title-slide, center, middle # GIS in Archaeology ## 12 - Site Catchment Analysis ### Martin Hinz #### Institut für Archäologische Wissenschaften, Universität Bern 02/12/20 .footnote[ .right[ .tiny[ You can download a [pdf of this presentation](gis_in_archaeology_12.pdf). ] ] ] --- # Before we start: You might need to download the following data, if you do not have them on your PC right now: * [SRTM DEM of Switzerland in EPSG 2056](data/srtm_2056_cut.tif) * [Accumulated Cost Raster from Bern](data/accum_cost_bern.tif), walking time calculated with r.walk.points Please **right click** and **save at** a location of your choice! --- # A small repetition --- ## Least Cost Path analysis * Reconstruction of pathways * Estimation of cost distances * Estimation of interaction potential * Archaeoprognosis * Identification of factors that determine the course of known pathways * Relative dating of sites * Identification of central places * Heritage Management: Modern road planning to minimise the impact on the perception of archaeological monuments. --- ## Least Cost Corridors A Least Cost Corridor does not identify a single most cost-efficient route between two starting points, but indicates the **area of the least common costs** between two points. That is, the lowest accumulative cost to reach starting point 1 **plus** the lowest accumulative cost to reach starting point 2 gives the total accumulative cost for a route that passes through a cell. Least cost corridors can be used instead of a single least cost path to connect two sites and get the **optimal corridor for interaction** instead of a single path.  .caption[Source: Rudnick et al. 2012.] --- ## Calculating walking time from a given start point ### If you want to know, which points can be reached in what or a given time .pull-left[ * calculates the walking time in any direction * if a maximum time is given, it is possible to determine the area reachable within this time * can be used to estimate a territory used by a settlement * can be based on terrain and other cost changing aspects (roads, barriers) .center[  .caption[Comparison between 5 hour isochrones, with and without slope. Source: http://www.chrismapsthepast.com] ] ] .pull-right[  .caption[Comparison between a Thiessen-Polygon and an Cost-Defined (XTENT) model of the territories of the Maya lowland. Source: Ducke/Kroefges 2007] ] --- ## r.walk results You get two resulting layers: * Movement directions contains the movement choosen for the calculation at each raster cell * More relevant is 'Accumulated Cost' * Here, the raster holds the walking time to the pixel cell from the start point measured in seconds * You can color this using pseudocolor, spectral, inverse .center[   .caption[left: movement directions; right: cumulative movement costs, colored with pseudocolor spectra, inverse] ] --- ## Calculate the movement distance within a given time To get how far a pedestrian can walk in a given time, we can use the Contour tool, this time from SAGA: * here we can set maximum and minimum value for the contour line * the walking time is in seconds, so eg. 1 hours is equivalent with 1 x 60 x 60 = 3600 seconds .pull-left[ * search for 'contour' in the Toolbox  * Click on 'Contour lines' tool from SAGA * Set 'accum_cost_bern' as layer * Set x,y as 'Support point type' * Set maximum and minimum to **3600** * click on 'Run' .center[  ]] .pull-right[  ] --- ## Walking distance results * You should get a line showing the extent of a walking time of 1h * You can make it stick out more using Symbology (here: neon glow) * If you make the actual cost layer invisible, you can compare with the base map * In 1 hours I could get eg. to Kehrsatz * Compare with Google Maps: 1h 10 min including river crossing * or try it out yourself ;-) .center[   .caption[left: movement directions; right: cumulative movement costs, colored with pseudocolor spectra, inverse] ] --- ## Site Catchment Analysis (SCA) .pull-left[ * Used to estimate how many resources were available per (settlement) site within the catchment area * Practical approach: * Defining the catchment area * Defining indicators for resources * Calculation of the available proportion/quantity * Typical surveyed factors: * Soil types * soil quality * Slope inclination * humidity * (Climatic factors) ] .pull-right[ .center[  ] ] --- ## SCA - Background .pull-left[ * Probably managed/used space at a given distance from the site * Ressources used differ in relation to distance * Relative distance (in costs) might differ in relation to the topography * Basic idea: von Tünen * Size of the catchments derived from ethnographic data * typical: * close vicinity 1 km or 20 min walk: Horticulture or other high intensity activities * medium vicinity 5 km or 1 h walk: agricultural fields * far vicinity 25 km or 1 day walk: extensive activities, eg. herding ] .pull-right[ .center[  ] ] --- ## SCA - History and Application .pull-left[ * first systematic application in archaeology: Vita-Finzi/Higgs 1970 * landscape "reconstructions" give the opportunity to evaluate the economic potential of catchment * zonal approach * Catchments of different sites can be compared (-> site functions) * Does the catchment have enough potential to supply the site? ] .pull-right[ .center[  .caption[Vita-Finzi/Higgs 1970] ] ] --- ## SCA - What do we need * an estimation of the catchment (we just did that) * data on ressources, which can come as * Raster: DEM, Slope, Aspect, Distance to Water, ... * Vector: Soil Types, Water Bodies, location of specific ressources, ... * **What we might get out**: Percentages of area with specific environmental values .center[  .caption[Catchment of 1h walk around Bern] ] --- ## SCA - Preparation ### Catchment as Polygon To use the walking distance border for extracting informations, we have to transform it into a polygon. .center[   ] --- ## SCA - Vector Data Informations like soil types might come as vector (polygon) data. What we like to know is how many area is covered by the specific soil types (or other areas classified by attributes). Please download the soil [data for switzerland](data/boden_2056.zip) and add them to your map. The dataset is a simplified and reprojected version of what you can download from geo.admin.ch... The layer contains fields (columns) with multiple soil productivity parameters. We will use the 'Eignungsei', containing informations of suitability for different land uses. We need to: * cut to the extend of our catchment area * combine polygons according to soil suitability classes * calculate the size of the individual polygons * turn this into percentage of the total catchment area The last two steps can be done in one go in the attribute table --- ## SCA - Vector Data ### Cut to extent Remember Geoprocessing tools? * Go to 'Vector > Geoprocessing tools > Intersection' * Select the soil layer as Input * Select the polygon as overlay * click on Run .center[   ] --- ## SCA - Vector Data ### Cut to extent Result You now have extracted the polygons according to the catchment area. We can remove the original layer 'boden_2056'. .center[   ] --- ## SCA - Vector Data ### Combine polygons according to classes Now we have to combine all polygons for the different suitability classes into one object. The attribute table will than have a row for every suitability class (Eignungsei) * Go to 'Vector > Geoprocessing tools > Dissolve' * Select the Intersection Layer * Select 'Fields to dissolve' and select 'Eignungsei' * Click on 'OK' and then on 'Run' .center[    ] --- ## SCA - Vector Data ### Combination Result The result is a new layer. Please open the attribute table (Right click on the layer > Attribute table) to inspect the result.  From this result we can calculate the percentage on the total area --- ## SCA - Vector Data ### Calculate percentage of area .pull-left[ Stay in the attribute table, Click on the pencil icon  to toggle edit mode. At first, we have to make a new column. Click on the 'Add column' icon , and add a field for our percentage calculation, type should be 'real number'. ] .pull-right[ .center[  ]] In the next and last step, Select the new field in the drop down to the upper left, and type the following formular: '$area/sum($area)*100'  Then click on 'Update all'. --- ## SCA - Vector Data ### Result  The result shows the percentages of use classes on the area of our Catchment By far, 'Settlement' is dominating... Downside of working with modern days data. Get better suited or reconstructed if possible! --- ## SCA - Raster Data To assess the suitability, we can also use raster data. We might use the slope data from our DEM. Do you still know how to calculate this? 'Raster > Analysis > Slope' We can cut the resulting Raster, like we did it for the vector data, but with a different tool. * 'Raster > Extraction > Crop Raster to Layer Mask' * Select the raster as input and the polygon layer as mask * Click on 'Run' .center[   ] --- ## SCA - Raster Data ### Result The difficulty with raster (continuous) data is, that they can take an infinite number of values. So either we represent them graphically, like inbuild, as histogram, or we have to reclassify them to a finite, small number of classes. (Histogram: Right click on the layer > Properties > Histogram) .center[  ] --- ## SCA - Raster Data ### Reclassify We might want to reclassify according to the following table | Slope in degree | Suitability | numeric value | |-----------------|-------------|---------------| | 0-5 | Good | 1 | | 5-10 | Fair | 2 | | 10-15 | Bad | 3 | | > 15 | Unsuitable | 4 | We can use the 'Reclass by table' tool from the Toolbox  for this --- ## SCA - Raster Data ### Reclassify practically * Select the tool from the toolbox (you might need to search for it) * Select the correct layer * Click on the ... at Classification Table * Add our classes * **Remember to set numeric values** * Click on 'OK' and 'Run' .center[   ] --- ## SCA - Raster Data ### Reclassification Results The result (in pseudocolor) can be seen below. Now we still have to calculate the percentage on the total area. For this, we can use again a tool from the Toolbox : 'Raster layer unique values report' .center[   ] --- ## SCA - Raster Data .pull-left[ ### Reclassification calculate areas * Select Input Layer * Add Export of Table of Unique Values to Temp. File * Click on 'Run' * Open the Attribute Table of the new Table * Toggle Edit Mode  * Add a decimal Field * Calculate the value of the field with: * m2 / sum(m2) * 100 ] .pull-right[ ]  --- ## SCA - Result Now we have the tools to analyse the catchment of a site: * Determining the catchment by walking time * extract informations from underlying Raster and Vector Layers * Display the results numerically and as maps .center[   ]  --- # What We've Covered -- + Creating a cumulative cost (walking time) layer -- + Calculation of Least Cost Corridors -- + Estimation of walking distance in a given time -- + Creating a Catchment area from walking time -- + Extracting Catchment data from Raster and Polygon Data -- --- ## More on Site Catchment Analysis .pull-left[ Volkmann A. (2018) Methods and Perspectives of Geoarchaelogical Site Catchment Analysis: Identification of Palaeoclimate Indicators in the Oder Region from the Iron to Middle Ages. In: Siart C., Forbriger M., Bubenzer O. (eds) Digital Geoarchaeology. Natural Science in Archaeology. Springer, Cham. https://doi.org/10.1007/978-3-319-25316-9_3 Free available from within the university network. other chapters of the book might be interesting, too... ] .pull-right[  ] --- # Homework * Select a locations of your choice (in Switzerland or the world) * Get the DEM from SRTM * Calculate the 1h Catchment * Evaluate a parameter of your choice in terms of the percentage of the catchment (slope is probably the easiest...) * Send me a screenshot --- class: inverse, middle, center # Any questions?  .caption[Source: https://www.blog.tirol] .footnote[ .right[ .tiny[ You might find the course material (including the presentations) at https://github.com/MartinHinz/gia_hs_2020 You can see the rendered presentations at http://martinhinz.github.io/gia_hs_2020 You can contact me at <a href="mailto:martin.hinz@iaw.unibe.ch">martin.hinz@iaw.unibe.ch</a> ] ] ]