From 8c134fa54f81d8605a9d2f0598c2e529a63cba62 Mon Sep 17 00:00:00 2001 From: dwolfsch <168710278+dwolfsch@users.noreply.github.com> Date: Mon, 11 Nov 2024 09:43:24 +0100 Subject: [PATCH 1/2] Create runCom6Scarp.py - Run file for com6RockAvalanche Scarp - Create scarpCfg.ini - Config-File for scarp.py - Create scarp.py - scarp.py creates scarps, that can be used as an Input for com6RockAvalanche - com6RockAvalanche: update scarp.py, runCom6Scarp.py & scarpCfg.ini, add readme --- avaframe/com6RockAvalanche/ReadMe.txt | 34 +++ avaframe/com6RockAvalanche/scarp.py | 312 ++++++++++++++++++++++++ avaframe/com6RockAvalanche/scarpCfg.ini | 51 ++++ avaframe/runCom6Scarp.py | 66 +++++ 4 files changed, 463 insertions(+) create mode 100644 avaframe/com6RockAvalanche/ReadMe.txt create mode 100644 avaframe/com6RockAvalanche/scarp.py create mode 100644 avaframe/com6RockAvalanche/scarpCfg.ini create mode 100644 avaframe/runCom6Scarp.py diff --git a/avaframe/com6RockAvalanche/ReadMe.txt b/avaframe/com6RockAvalanche/ReadMe.txt new file mode 100644 index 000000000..e720de481 --- /dev/null +++ b/avaframe/com6RockAvalanche/ReadMe.txt @@ -0,0 +1,34 @@ +How to use com6scarp: + +In the main configuration file avaframeCfg.ini: +-set path to the scarpCfg configuration file in the MAIN section +-e.g: configFile = com6RockAvalanche/scarpCfg.ini + +Prepare scarp configuration file: + +- Input: +o elevation: File path to the DEM (ASCII or GeoTIFF), which serves as the basis for calculating the scarp. +o perimeter: File path to the perimeter file (ASCII or GeoTIFF). This specifies the boundary area within which scarps are calculated. +o shapefile (optional): The path to a shapefile containing point geometries can be specified here. These points represent the centers of the ellipsoids or planes. If a shapefile is specified, the coordinates (x,y) of these points are used. +o perimeter_shapefile (optional): ): The path to a shapefile can be specified here, which specifies a boundary area instead of the perimeter ASCII file. +o features: A list of parameters that define the planes and ellipsoids is specified here. The list is only used if no shapefile is specified. Depending on whether the planes or ellipsoid method is used, the list must have a different form: +  Planes: features = x1,y1,z1,dip1,slope1,x2,y2,z2,dip2,... +  Ellipsoid: features = x1,y1,depth1,a1,b1,x2,y2,... +- Output: +o elevscarp: File path to the output DEM (ASCII or GeoTIFF), which maps the input DGM minus the calculated scarps +o hrelease: File path to the output DEM (ASCII or GeoTIFF), which represents the calculated scarp volumes + +- Settings: +o method: Here you specify whether the plane or the ellipsoid method should be used +o If a shapefile is specified, the following parameters must also be defined: +  For the plane method: + - Planes_zseed: z1,z2,... + - Planes_dip: dip1, dip2,... + - Planes_slope: slope1, slope2... +  For the ellipsoid method: + - ellipsoids_max_depth: max_depth1, max_depth2,... + - ellipsoids_semi_major: semi_major1, semi_major,... + - ellipsoids_semi_minor: semi_minor1, semi_minor2,... +  It is important to note that the number of parameters specified must correspond to the number of point features specified in the shapefile. The order must also be observed. For example, Planes_zseed z1 is assigned to the point with ID = 1. + +If all the data is provided successfully, start the script by running runCom6Scarp.py \ No newline at end of file diff --git a/avaframe/com6RockAvalanche/scarp.py b/avaframe/com6RockAvalanche/scarp.py new file mode 100644 index 000000000..bce5194ef --- /dev/null +++ b/avaframe/com6RockAvalanche/scarp.py @@ -0,0 +1,312 @@ +import rasterio +import numpy as np +import math +import configparser +import shapefile +import pathlib +import logging +from in2Trans.shpConversion import SHP2Array +from in2Trans.shpConversion import getSHPProjection +from rasterio.features import rasterize +from shapely.geometry import shape, mapping + +# Configure logging +logging.basicConfig(level=logging.DEBUG) +log = logging.getLogger(__name__) + +def runScarpAnalysis(configFile): + """Run the scarp analysis using parameters from an .ini configuration file. + + Parameters + ---------- + config_file : str + Path to the configuration file in .ini format. + + Returns + ------- + None + """ + config = configparser.ConfigParser() + config.read(configFile) + + # Read input parameters from the configuration file + elevation = config['INPUT']['elevation'] + perimeterInput = config['INPUT']['perimeter'] + shapefilePath = config['INPUT'].get('shapefile', '').strip() + perimeterShapefilePath = config['INPUT'].get('perimeter_shapefile', '').strip() + features = config['INPUT'].get('features', '') + + elevScarp = config['OUTPUT']['elevscarp'] + hRelease = config['OUTPUT']['hrelease'] + + method = config['SETTINGS']['method'].lower() + + # Initialize feature parameters + planeFeatures = [] + ellipsoidFeatures = [] + + with rasterio.open(elevation) as elevSrc: + elevData = elevSrc.read(1) + elevTransform = elevSrc.transform + elevCRS = elevSrc.crs + n, m = elevData.shape + res = elevTransform[0] + + periData = readPerimeter(perimeterInput, perimeterShapefilePath, elevTransform, (n, m), elevCRS) + + if shapefilePath: + SHPdata = SHP2Array(shapefilePath) + log.debug("Feature shapefile data loaded: %s", SHPdata) + + if method == 'plane': + planesZseed = list(map(float, config['SETTINGS']['planes_zseed'].split(','))) + planesDip = list(map(float, config['SETTINGS']['planes_dip'].split(','))) + planesSlope = list(map(float, config['SETTINGS']['planes_slope'].split(','))) + + if not (len(planesZseed) == len(planesDip) == len(planesSlope) == SHPdata['nFeatures']): + raise ValueError("Mismatch between number of shapefile features and plane parameters in the .ini file.") + + for i in range(SHPdata['nFeatures']): + xSeed = SHPdata['x'][int(SHPdata['Start'][i])] + ySeed = SHPdata['y'][int(SHPdata['Start'][i])] + zSeed = planesZseed[i] + dip = planesDip[i] + slopeAngle = planesSlope[i] + planeFeatures.extend([xSeed, ySeed, zSeed, dip, slopeAngle]) + + features = ','.join(map(str, planeFeatures)) + log.debug("Plane features extracted and combined: %s", features) + + elif method == 'ellipsoid': + ellipsoidsMaxDepth = list(map(float, config['SETTINGS']['ellipsoids_max_depth'].split(','))) + ellipsoidsSemiMajor = list(map(float, config['SETTINGS']['ellipsoids_semi_major'].split(','))) + ellipsoidsSemiMinor = list(map(float, config['SETTINGS']['ellipsoids_semi_minor'].split(','))) + + if not (len(ellipsoidsMaxDepth) == len(ellipsoidsSemiMajor) == len(ellipsoidsSemiMinor) == SHPdata['nFeatures']): + raise ValueError("Mismatch between number of shapefile features and ellipsoid parameters in the .ini file.") + + for i in range(SHPdata['nFeatures']): + xCenter = SHPdata['x'][int(SHPdata['Start'][i])] + yCenter = SHPdata['y'][int(SHPdata['Start'][i])] + maxDepth = ellipsoidsMaxDepth[i] + semiMajor = ellipsoidsSemiMajor[i] + semiMinor = ellipsoidsSemiMinor[i] + ellipsoidFeatures.extend([xCenter, yCenter, maxDepth, semiMajor, semiMinor]) + + features = ','.join(map(str, ellipsoidFeatures)) + log.debug("Ellipsoid features extracted and combined: %s", features) + + else: + if not features: + raise ValueError("No features provided. Please specify features in the .ini file or provide a shapefile.") + + scarpData = np.zeros_like(elevData, dtype=np.float32) + hRelData = np.zeros_like(elevData, dtype=np.float32) + + if method == 'plane': + scarpData = calculateScarpWithPlanes(elevData, periData, elevTransform, features) + elif method == 'ellipsoid': + scarpData = calculateScarpWithEllipsoids(elevData, periData, elevTransform, features) + else: + raise ValueError("Unsupported method. Choose 'plane' or 'ellipsoid'.") + + hRelData = elevData - scarpData + saveRaster(elevScarp, scarpData, elevTransform, elevCRS) + saveRaster(hRelease, hRelData, elevTransform, elevCRS) + +def readPerimeter(perimeterInput, perimeterShapefilePath, elevTransform, elevShape, elevCRS): + """Read perimeter from raster or shapefile and return as numpy array. + + Parameters + ---------- + perimeter_input : str + Path to the perimeter raster file. + perimeter_shapefile_path : str + Path to the perimeter shapefile. + elev_transform : Affine + Affine transformation of the elevation raster. + elev_shape : tuple + Shape (height, width) of the elevation raster. + elev_crs : rasterio.crs.CRS + Coordinate Reference System of the elevation raster. + + Returns + ------- + periData : np.ndarray + 2D array representing the perimeter mask. + """ + if perimeterShapefilePath: + log.debug("Processing perimeter shapefile: %s", perimeterShapefilePath) + SHPdata = SHP2Array(perimeterShapefilePath) + log.debug("Perimeter shapefile data loaded: %s", SHPdata) + + shapes = [] + for i in range(SHPdata['nFeatures']): + start = int(SHPdata['Start'][i]) + length = int(SHPdata['Length'][i]) + coords = [(SHPdata['x'][j], SHPdata['y'][j]) for j in range(start, start + length)] + poly = shape({'type': 'Polygon', 'coordinates': [coords]}) + shapes.append(poly) + + periData = rasterize( + [(mapping(poly), 1) for poly in shapes], + out_shape=elevShape, + transform=elevTransform, + fill=0, + all_touched=True, + dtype=np.uint8 + ) + log.debug("Perimeter shapefile rasterized.") + + elif perimeterInput.lower().endswith(('.tif', '.tiff', '.asc')): + log.debug("Reading perimeter raster: %s", perimeterInput) + with rasterio.open(perimeterInput) as periSrc: + periData = periSrc.read(1) + log.debug("Perimeter raster loaded.") + else: + raise ValueError("Unsupported perimeter input format. Provide a raster (.tif, .asc) or a shapefile (.shp).") + + return periData + +def calculateScarpWithPlanes(elevData, periData, elevTransform, planes): + """Calculate the scarp using sliding planes. + + Parameters + ---------- + elevData : np.ndarray + The elevation data as a 2D array. + periData : np.ndarray + The perimeter data as a 2D array, which defines the extent of the scarp. + elevTransform : Affine + The affine transformation matrix of the raster (used to convert pixel to geographic coordinates). + planes : str + Comma-separated string defining sliding planes (xseed, yseed, zseed, dip, slope). + + Returns + ------- + np.ndarray + A 2D array with the calculated scarp values. + """ + n, m = elevData.shape + scarpData = np.zeros_like(elevData, dtype=np.float32) + + planes = list(map(float, planes.split(','))) + nPlanes = int(len(planes) / 5) + + xSeed = [planes[0]] + ySeed = [planes[1]] + zSeed = [planes[2]] + dip = [planes[3]] + slope = [planes[4]] + + betaX = [math.tan(math.radians(slope[0])) * math.cos(math.radians(dip[0]))] + betaY = [math.tan(math.radians(slope[0])) * math.sin(math.radians(dip[0]))] + + for i in range(1, nPlanes): + xSeed.append(planes[5 * i]) + ySeed.append(planes[5 * i + 1]) + zSeed.append(planes[5 * i + 2]) + dip.append(planes[5 * i + 3]) + slope.append(planes[5 * i + 4]) + betaX.append(math.tan(math.radians(slope[i])) * math.cos(math.radians(dip[i]))) + betaY.append(math.tan(math.radians(slope[i])) * math.sin(math.radians(dip[i]))) + + for row in range(n): + for col in range(m): + west, north = rasterio.transform.xy(elevTransform, row, col, offset='center') + scarpVal = zSeed[0] + (north - ySeed[0]) * betaY[0] - (west - xSeed[0]) * betaX[0] + for k in range(1, nPlanes): + scarpVal = max(scarpVal, zSeed[k] + (north - ySeed[k]) * betaY[k] - (west - xSeed[k]) * betaX[k]) + + if periData[row, col] > 0: + scarpData[row, col] = min(elevData[row, col], scarpVal) + else: + scarpData[row, col] = elevData[row, col] + + return scarpData + +def calculateScarpWithEllipsoids(elevData, periData, elevTransform, ellipsoids): + """Calculate the scarp using sliding circles (rotational ellipsoids). + + Parameters + ---------- + elevData : np.ndarray + The elevation data as a 2D array. + periData : np.ndarray + The perimeter data as a 2D array, which defines the extent of the scarp. + elevTransform : Affine + The affine transformation matrix of the raster (used to convert pixel to geographic coordinates). + ellipsoids : str + Comma-separated string defining ellipsoids (x_center, y_center, max_depth, semi_major_axis, semi_minor_axis). + + Returns + ------- + np.ndarray + A 2D array with the calculated scarp values. + """ + n, m = elevData.shape + scarpData = np.zeros_like(elevData, dtype=np.float32) + + ellipsoids = list(map(float, ellipsoids.split(','))) + nEllipsoids = int(len(ellipsoids) / 5) + + xCenter = [ellipsoids[0]] + yCenter = [ellipsoids[1]] + maxDepth = [ellipsoids[2]] + semiMajor = [ellipsoids[3]] + semiMinor = [ellipsoids[4]] + + for i in range(1, nEllipsoids): + xCenter.append(ellipsoids[5 * i]) + yCenter.append(ellipsoids[5 * i + 1]) + maxDepth.append(ellipsoids[5 * i + 2]) + semiMajor.append(ellipsoids[5 * i + 3]) + semiMinor.append(ellipsoids[5 * i + 4]) + + for row in range(n): + for col in range(m): + west, north = rasterio.transform.xy(elevTransform, row, col, offset='center') + scarpVal = elevData[row, col] + for k in range(nEllipsoids): + x2 = ((west - xCenter[k]) / semiMajor[k]) ** 2 + y2 = ((north - yCenter[k]) / semiMinor[k]) ** 2 + if x2 + y2 < 1: + scarpVal = min(scarpVal, elevData[row, col] - maxDepth[k] * (1 - (x2 + y2))) + if periData[row, col] > 0: + scarpData[row, col] = scarpVal + else: + scarpData[row, col] = elevData[row, col] + + return scarpData + +def saveRaster(filename, data, transform, crs): + """Save raster data to a specified format. + + Parameters + ---------- + output_path : str + The file path where the output raster will be saved. + data : np.ndarray + The 2D array of data to be saved. + elevTransform : Affine + The affine transformation matrix of the elevation raster. + elevCRS : rasterio.crs.CRS + The Coordinate Reference System of the elevation raster. + + Returns + ------- + None + """ + with rasterio.open( + filename, + 'w', + driver='GTiff', + height=data.shape[0], + width=data.shape[1], + count=1, + dtype=data.dtype, + crs=crs, + transform=transform, + ) as dst: + dst.write(data, 1) + log.debug("Raster saved: %s", filename) diff --git a/avaframe/com6RockAvalanche/scarpCfg.ini b/avaframe/com6RockAvalanche/scarpCfg.ini new file mode 100644 index 000000000..6f38f949d --- /dev/null +++ b/avaframe/com6RockAvalanche/scarpCfg.ini @@ -0,0 +1,51 @@ +[INPUT] +# Input DEM raster file path (ASCII or GeoTIFF) +elevation = + +# Input perimeter raster file path (ASCII or GeoTIFF) +perimeter = + +# Path to shapefile containing feature coordinates (optional) +# If provided, the script will use this shapefile instead of the 'features' string +shapefile = + +# Path to shapefile containing perimeter features (optional) +# If provided, the script will use this shapefile instead of the 'perimeter' raster +perimeter_shapefile = + +# Features for planes or ellipsoids (comma-separated) +# This is used only if 'shapefile' is not provided. +# +# For 'plane' method: Define multiple planes by listing xseed, yseed, zseed, dip, slope for each plane. +# Example for three planes: +# features = x1,y1,z1,dip1,slope1,x2,y2,z2,dip2,slope2,x3,y3,z3,dip3,slope3 +# +# For 'ellipsoid' method: Define multiple ellipsoids by listing x_center, y_center, max_depth, semi_major_axis, semi_minor_axis for each ellipsoid. +# Example for two ellipsoids: +# features = x1,y1,depth1,a1,b1,x2,y2,depth2,a2,b2 +features = 68247,299770,920,0,0,68111,299832,850,90,50,68340,299799,850,270,50 + +[OUTPUT] +# Output scarp raster file path (ASCII or GeoTIFF) +elevscarp = + +# Output release height raster file path (ASCII or GeoTIFF) +hrelease = + +[SETTINGS] +# Choose the method: 'plane' or 'ellipsoid' +method = plane + +# Additional settings when using shapefile for feature coordinates +# These settings provide the other parameters required for each feature +# Ensure that the number of parameters matches the number of features in the shapefile + +# For 'plane' method: +planes_zseed = 1090 +planes_dip = 180 +planes_slope = 70 + +# For 'ellipsoid' method: +ellipsoids_max_depth = 80,70,50 +ellipsoids_semi_major = 50,60,50 +ellipsoids_semi_minor = 50,40,50 diff --git a/avaframe/runCom6Scarp.py b/avaframe/runCom6Scarp.py new file mode 100644 index 000000000..583c846ec --- /dev/null +++ b/avaframe/runCom6Scarp.py @@ -0,0 +1,66 @@ + +""" + Run script for scarp analysis + In this runscript, the path to the scarp configuartion File has to be defined in the main config file +""" + +import pathlib +import argparse + +# Local imports +from com6RockAvalanche.scarp import runScarpAnalysis +from avaframe.in3Utils import cfgUtils +from avaframe.in3Utils import logUtils +from avaframe.in3Utils import initializeProject as initProj + + +def runScarpAnalysisWorkflow(configFile=''): + """Run the scarp analysis workflow. + + Parameters + ---------- + configFile : str + Path to the configuration file in .ini format. + + Returns + ------- + None + """ + + logName = 'runScarpAnalysis' + + # Load general configuration file + cfgMain = cfgUtils.getGeneralConfig() + + # Load configuration file path from general config if not provided + if configFile != '': + cfgMain['MAIN']['configFile'] = configFile + else: + configFile = cfgMain['MAIN']['configFile'] + + configFile = pathlib.Path(configFile) + + # Start logging + log = logUtils.initiateLogger(configFile.parent, logName) + log.info('MAIN SCRIPT') + log.info('Using configuration file: %s', configFile) + + # Clean input directory(ies) of old work files + initProj.cleanSingleAvaDir(configFile.parent, deleteOutput=False) + + # Run the scarp analysis + runScarpAnalysis(str(configFile)) + + log.info('Scarp analysis completed successfully.') + + return + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Run scarp analysis workflow') + parser.add_argument('configFile', metavar='c', type=str, nargs='?', default='', + help='Path to the scarp configuration file') + + args = parser.parse_args() + runScarpAnalysisWorkflow(str(args.configFile)) + From 071ca2c93eda39967a051bdbecf1366074b50cec Mon Sep 17 00:00:00 2001 From: Felix Oesterle Date: Wed, 29 Jan 2025 14:53:59 +0100 Subject: [PATCH 2/2] feat(com6-rock-avalanche): refactor scarp analysis workflow - Refactored `runCom6Scarp.py` to accept an input directory instead of a configuration file path. - Added TODO comments for further improvements in `scarp.py`, `scarpCfg.ini`, and `runCom6Scarp.py` regarding default parameter handling and output file management. feat(com6RockAvalanche): implement shapefile input for scarp - Implement shapefile input for feature coordinates and perimeter. - Remove raster input options for coordinates and perimeter. - Adapt `scarp.py` to use new input method and updated config. - Adjust `runCom6Scarp.py` to use refactored `scarp.py` functions. - Remove obsolete output paths from config file. docs(scarp): update SCARP documentation with detailed input/output info; remove codeclimate - Add instructions for input files, including elevation DEM and shapefile - Specify output files and their locations in the directory structure - Include steps for preparing the configuration file for scarp calculations - Clarify the usage of the script for running SCARP calculations docs(moduleCom6RockAvalanche): update documentation for scarp calculation refactor(docs): update output paths in moduleCom6RockAvalanche documentation - --- avaframe/com6RockAvalanche/ReadMe.txt | 34 -- avaframe/com6RockAvalanche/scarp.py | 316 +++++++++--------- avaframe/com6RockAvalanche/scarpCfg.ini | 48 +-- .../Inputs/POINTS/points_coordinates.dbf | Bin 0 -> 198 bytes .../Inputs/POINTS/points_coordinates.shp | Bin 0 -> 156 bytes .../Inputs/POINTS/points_coordinates.shx | Bin 0 -> 116 bytes .../POLYGONS/scarpFluchthorn_perimeter.dbf | Bin 0 -> 88 bytes .../POLYGONS/scarpFluchthorn_perimeter.shp | Bin 0 -> 372 bytes .../POLYGONS/scarpFluchthorn_perimeter.shx | Bin 0 -> 116 bytes .../data/scarpExample/Inputs/fluchthorn.tif | Bin 0 -> 265186 bytes avaframe/in1Data/getInput.py | 5 +- avaframe/in2Trans/shpConversion.py | 53 ++- avaframe/runCom6Scarp.py | 39 +-- docs/moduleCom6RockAvalanche.rst | 47 ++- 14 files changed, 284 insertions(+), 258 deletions(-) delete mode 100644 avaframe/com6RockAvalanche/ReadMe.txt create mode 100644 avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.dbf create mode 100644 avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.shp create mode 100644 avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.shx create mode 100644 avaframe/data/scarpExample/Inputs/POLYGONS/scarpFluchthorn_perimeter.dbf create mode 100644 avaframe/data/scarpExample/Inputs/POLYGONS/scarpFluchthorn_perimeter.shp create mode 100644 avaframe/data/scarpExample/Inputs/POLYGONS/scarpFluchthorn_perimeter.shx create mode 100644 avaframe/data/scarpExample/Inputs/fluchthorn.tif diff --git a/avaframe/com6RockAvalanche/ReadMe.txt b/avaframe/com6RockAvalanche/ReadMe.txt deleted file mode 100644 index e720de481..000000000 --- a/avaframe/com6RockAvalanche/ReadMe.txt +++ /dev/null @@ -1,34 +0,0 @@ -How to use com6scarp: - -In the main configuration file avaframeCfg.ini: --set path to the scarpCfg configuration file in the MAIN section --e.g: configFile = com6RockAvalanche/scarpCfg.ini - -Prepare scarp configuration file: - -- Input: -o elevation: File path to the DEM (ASCII or GeoTIFF), which serves as the basis for calculating the scarp. -o perimeter: File path to the perimeter file (ASCII or GeoTIFF). This specifies the boundary area within which scarps are calculated. -o shapefile (optional): The path to a shapefile containing point geometries can be specified here. These points represent the centers of the ellipsoids or planes. If a shapefile is specified, the coordinates (x,y) of these points are used. -o perimeter_shapefile (optional): ): The path to a shapefile can be specified here, which specifies a boundary area instead of the perimeter ASCII file. -o features: A list of parameters that define the planes and ellipsoids is specified here. The list is only used if no shapefile is specified. Depending on whether the planes or ellipsoid method is used, the list must have a different form: -  Planes: features = x1,y1,z1,dip1,slope1,x2,y2,z2,dip2,... -  Ellipsoid: features = x1,y1,depth1,a1,b1,x2,y2,... -- Output: -o elevscarp: File path to the output DEM (ASCII or GeoTIFF), which maps the input DGM minus the calculated scarps -o hrelease: File path to the output DEM (ASCII or GeoTIFF), which represents the calculated scarp volumes - -- Settings: -o method: Here you specify whether the plane or the ellipsoid method should be used -o If a shapefile is specified, the following parameters must also be defined: -  For the plane method: - - Planes_zseed: z1,z2,... - - Planes_dip: dip1, dip2,... - - Planes_slope: slope1, slope2... -  For the ellipsoid method: - - ellipsoids_max_depth: max_depth1, max_depth2,... - - ellipsoids_semi_major: semi_major1, semi_major,... - - ellipsoids_semi_minor: semi_minor1, semi_minor2,... -  It is important to note that the number of parameters specified must correspond to the number of point features specified in the shapefile. The order must also be observed. For example, Planes_zseed z1 is assigned to the point with ID = 1. - -If all the data is provided successfully, start the script by running runCom6Scarp.py \ No newline at end of file diff --git a/avaframe/com6RockAvalanche/scarp.py b/avaframe/com6RockAvalanche/scarp.py index bce5194ef..612d56380 100644 --- a/avaframe/com6RockAvalanche/scarp.py +++ b/avaframe/com6RockAvalanche/scarp.py @@ -1,173 +1,208 @@ import rasterio import numpy as np import math -import configparser -import shapefile -import pathlib import logging -from in2Trans.shpConversion import SHP2Array -from in2Trans.shpConversion import getSHPProjection +import pathlib from rasterio.features import rasterize from shapely.geometry import shape, mapping +from avaframe.in2Trans.shpConversion import SHP2Array +from avaframe.in1Data import getInput as gI +from avaframe.in3Utils import fileHandlerUtils as fU +import avaframe.in2Trans.rasterUtils as IOf # Configure logging logging.basicConfig(level=logging.DEBUG) log = logging.getLogger(__name__) -def runScarpAnalysis(configFile): - """Run the scarp analysis using parameters from an .ini configuration file. + +def scarpAnalysisMain(cfg, baseDir): + """Run the scarp analysis using parameters from an .ini cfguration file and input from a directory Parameters ---------- - config_file : str - Path to the configuration file in .ini format. + cfg : cfgparser + with all required fields in scarpCfg.ini + baseDir: str + path to directory of data to analyze Returns ------- None """ - config = configparser.ConfigParser() - config.read(configFile) - - # Read input parameters from the configuration file - elevation = config['INPUT']['elevation'] - perimeterInput = config['INPUT']['perimeter'] - shapefilePath = config['INPUT'].get('shapefile', '').strip() - perimeterShapefilePath = config['INPUT'].get('perimeter_shapefile', '').strip() - features = config['INPUT'].get('features', '') - - elevScarp = config['OUTPUT']['elevscarp'] - hRelease = config['OUTPUT']['hrelease'] - - method = config['SETTINGS']['method'].lower() - # Initialize feature parameters - planeFeatures = [] - ellipsoidFeatures = [] + # Get input from baseDir and check if all files exist + if cfg["INPUT"].getboolean("useShapefiles"): + + # Set directories for inputs, outputs and current work + inputDir = pathlib.Path(baseDir, "Inputs") - with rasterio.open(elevation) as elevSrc: - elevData = elevSrc.read(1) - elevTransform = elevSrc.transform - elevCRS = elevSrc.crs - n, m = elevData.shape - res = elevTransform[0] - - periData = readPerimeter(perimeterInput, perimeterShapefilePath, elevTransform, (n, m), elevCRS) - - if shapefilePath: - SHPdata = SHP2Array(shapefilePath) - log.debug("Feature shapefile data loaded: %s", SHPdata) - - if method == 'plane': - planesZseed = list(map(float, config['SETTINGS']['planes_zseed'].split(','))) - planesDip = list(map(float, config['SETTINGS']['planes_dip'].split(','))) - planesSlope = list(map(float, config['SETTINGS']['planes_slope'].split(','))) - - if not (len(planesZseed) == len(planesDip) == len(planesSlope) == SHPdata['nFeatures']): - raise ValueError("Mismatch between number of shapefile features and plane parameters in the .ini file.") - - for i in range(SHPdata['nFeatures']): - xSeed = SHPdata['x'][int(SHPdata['Start'][i])] - ySeed = SHPdata['y'][int(SHPdata['Start'][i])] - zSeed = planesZseed[i] - dip = planesDip[i] - slopeAngle = planesSlope[i] - planeFeatures.extend([xSeed, ySeed, zSeed, dip, slopeAngle]) - - features = ','.join(map(str, planeFeatures)) - log.debug("Plane features extracted and combined: %s", features) - - elif method == 'ellipsoid': - ellipsoidsMaxDepth = list(map(float, config['SETTINGS']['ellipsoids_max_depth'].split(','))) - ellipsoidsSemiMajor = list(map(float, config['SETTINGS']['ellipsoids_semi_major'].split(','))) - ellipsoidsSemiMinor = list(map(float, config['SETTINGS']['ellipsoids_semi_minor'].split(','))) - - if not (len(ellipsoidsMaxDepth) == len(ellipsoidsSemiMajor) == len(ellipsoidsSemiMinor) == SHPdata['nFeatures']): - raise ValueError("Mismatch between number of shapefile features and ellipsoid parameters in the .ini file.") - - for i in range(SHPdata['nFeatures']): - xCenter = SHPdata['x'][int(SHPdata['Start'][i])] - yCenter = SHPdata['y'][int(SHPdata['Start'][i])] - maxDepth = ellipsoidsMaxDepth[i] - semiMajor = ellipsoidsSemiMajor[i] - semiMinor = ellipsoidsSemiMinor[i] - ellipsoidFeatures.extend([xCenter, yCenter, maxDepth, semiMajor, semiMinor]) - - features = ','.join(map(str, ellipsoidFeatures)) - log.debug("Ellipsoid features extracted and combined: %s", features) + # get the path to the perimeter shapefile + perimeterShapefilePath, periFile = gI.getAndCheckInputFiles( + inputDir, "POLYGONS", "scarp perimeter", fileExt="shp", fileSuffix="_perimeter" + ) + if periFile: + log.info("Perimeterfile is: %s" % perimeterShapefilePath) + else: + log.error("Perimeter shapefile not found in %s", inputDir) + + # get the path to the coordinates shapefile + coordinatesShapefilePath, coordFile = gI.getAndCheckInputFiles( + inputDir, "POINTS", "scarp coordinates", fileExt="shp", fileSuffix="_coordinates" + ) + if coordFile: + log.info("Coordinate shapefile is: %s" % coordinatesShapefilePath) + else: + log.error("Coordinate shapefile not found in %s", inputDir) else: - if not features: - raise ValueError("No features provided. Please specify features in the .ini file or provide a shapefile.") + log.error( + "Shapefile option not selected. Please set 'useShapefiles' to True in the configuration file. A " + "raster version is currently not implemented." + ) - scarpData = np.zeros_like(elevData, dtype=np.float32) - hRelData = np.zeros_like(elevData, dtype=np.float32) + # Initialize feature parameters + planeFeatures = [] + ellipsoidFeatures = [] + + # Read the DEM + dem = gI.readDEM(baseDir) + dem["rasterData"] = np.flipud(dem["rasterData"]) + + n = dem["header"]["nrows"] + m = dem["header"]["ncols"] + + periData = readPerimeterSHP(perimeterShapefilePath, dem["header"]["transform"], (n, m)) + + SHPdata = SHP2Array(coordinatesShapefilePath) + + log.debug("Feature shapefile data loaded: %s", SHPdata) + + method = cfg["SETTINGS"]["method"].lower() + + if method == "plane": + # Read required attributes directly from the shapefile's attribute table + try: + planesZseed = list(map(float, SHPdata['zseed'])) + planesDip = list(map(float, SHPdata['dip'])) + planesSlope = list(map(float, SHPdata['slopeangle'])) + except KeyError as e: + raise ValueError(f"Required attribute '{e.args[0]}' not found in shapefile. Make sure 'zseed', 'dip', and 'slope' fields exist.") + + if not (len(planesZseed) == len(planesDip) == len(planesSlope) == SHPdata["nFeatures"]): + raise ValueError("Mismatch between number of features and extracted plane attributes in the shapefile.") + + if not (len(planesZseed) == len(planesDip) == len(planesSlope) == SHPdata["nFeatures"]): + raise ValueError( + "Mismatch between number of shapefile features and plane parameters in the .ini file." + ) + + for i in range(SHPdata["nFeatures"]): + xSeed = SHPdata["x"][int(SHPdata["Start"][i])] + ySeed = SHPdata["y"][int(SHPdata["Start"][i])] + zSeed = planesZseed[i] + dip = planesDip[i] + slopeAngle = planesSlope[i] + planeFeatures.extend([xSeed, ySeed, zSeed, dip, slopeAngle]) + + features = ",".join(map(str, planeFeatures)) + log.debug("Plane features extracted and combined: %s", features) + + elif method == "ellipsoid": + try: + ellipsoidsMaxDepth = list(map(float, SHPdata['maxdepth'])) + ellipsoidsSemiMajor = list(map(float, SHPdata['semimajor'])) + ellipsoidsSemiMinor = list(map(float, SHPdata['semiminor'])) + except KeyError as e: + raise ValueError(f"Required attribute '{e.args[0]}' not found in shapefile. Ensure the fields 'maxdepth', 'semimajor', and 'semiminor' exist.") + + if not ( + len(ellipsoidsMaxDepth) + == len(ellipsoidsSemiMajor) + == len(ellipsoidsSemiMinor) + == SHPdata["nFeatures"] + ): + raise ValueError( + "Mismatch between number of shapefile features and ellipsoid parameters in the .ini file." + ) + + for i in range(SHPdata["nFeatures"]): + xCenter = SHPdata["x"][int(SHPdata["Start"][i])] + yCenter = SHPdata["y"][int(SHPdata["Start"][i])] + maxDepth = ellipsoidsMaxDepth[i] + semiMajor = ellipsoidsSemiMajor[i] + semiMinor = ellipsoidsSemiMinor[i] + ellipsoidFeatures.extend([xCenter, yCenter, maxDepth, semiMajor, semiMinor]) + + features = ",".join(map(str, ellipsoidFeatures)) + log.debug("Ellipsoid features extracted and combined: %s", features) if method == 'plane': - scarpData = calculateScarpWithPlanes(elevData, periData, elevTransform, features) + scarpData = calculateScarpWithPlanes( + dem["rasterData"], periData, dem["header"]["transform"], features + ) elif method == 'ellipsoid': - scarpData = calculateScarpWithEllipsoids(elevData, periData, elevTransform, features) + scarpData = calculateScarpWithEllipsoids( + dem["rasterData"], periData, dem["header"]["transform"], features + ) else: raise ValueError("Unsupported method. Choose 'plane' or 'ellipsoid'.") - hRelData = elevData - scarpData - saveRaster(elevScarp, scarpData, elevTransform, elevCRS) - saveRaster(hRelease, hRelData, elevTransform, elevCRS) + hRelData = dem["rasterData"] - scarpData -def readPerimeter(perimeterInput, perimeterShapefilePath, elevTransform, elevShape, elevCRS): - """Read perimeter from raster or shapefile and return as numpy array. + # create output directory and files + outDir = pathlib.Path(baseDir) + outDir = outDir / "Outputs" / "com6RockAvalanche" / "scarp" + fU.makeADir(outDir) + + # Set file names and write + elevationOut = outDir / "scarpElevation" + hRelOut = outDir / "scarpHRel" + IOf.writeResultToRaster(dem["header"], scarpData, elevationOut) + IOf.writeResultToRaster(dem["header"], hRelData, hRelOut) + +def readPerimeterSHP(perimeterShapefilePath, elevTransform, elevShape): + """Read perimeter from shapefile and return as numpy array. Parameters ---------- - perimeter_input : str - Path to the perimeter raster file. - perimeter_shapefile_path : str + perimeterShapefilePath : str Path to the perimeter shapefile. - elev_transform : Affine - Affine transformation of the elevation raster. - elev_shape : tuple + elevTransform : Affine + transformation of the elevation raster. + elevShape : tuple Shape (height, width) of the elevation raster. - elev_crs : rasterio.crs.CRS - Coordinate Reference System of the elevation raster. Returns ------- periData : np.ndarray 2D array representing the perimeter mask. """ - if perimeterShapefilePath: - log.debug("Processing perimeter shapefile: %s", perimeterShapefilePath) - SHPdata = SHP2Array(perimeterShapefilePath) - log.debug("Perimeter shapefile data loaded: %s", SHPdata) - - shapes = [] - for i in range(SHPdata['nFeatures']): - start = int(SHPdata['Start'][i]) - length = int(SHPdata['Length'][i]) - coords = [(SHPdata['x'][j], SHPdata['y'][j]) for j in range(start, start + length)] - poly = shape({'type': 'Polygon', 'coordinates': [coords]}) - shapes.append(poly) - - periData = rasterize( - [(mapping(poly), 1) for poly in shapes], - out_shape=elevShape, - transform=elevTransform, - fill=0, - all_touched=True, - dtype=np.uint8 - ) - log.debug("Perimeter shapefile rasterized.") - elif perimeterInput.lower().endswith(('.tif', '.tiff', '.asc')): - log.debug("Reading perimeter raster: %s", perimeterInput) - with rasterio.open(perimeterInput) as periSrc: - periData = periSrc.read(1) - log.debug("Perimeter raster loaded.") - else: - raise ValueError("Unsupported perimeter input format. Provide a raster (.tif, .asc) or a shapefile (.shp).") + log.debug("Processing perimeter shapefile: %s", perimeterShapefilePath) + SHPdata = SHP2Array(perimeterShapefilePath) + log.debug("Perimeter shapefile data loaded: %s", SHPdata) + + shapes = [] + for i in range(SHPdata["nFeatures"]): + start = int(SHPdata["Start"][i]) + length = int(SHPdata["Length"][i]) + coords = [(SHPdata["x"][j], SHPdata["y"][j]) for j in range(start, start + length)] + poly = shape({"type": "Polygon", "coordinates": [coords]}) + shapes.append(poly) + + periData = rasterize( + [(mapping(poly), 1) for poly in shapes], + out_shape=elevShape, + transform=elevTransform, + fill=0, + all_touched=True, + dtype=np.uint8, + ) + log.debug("Perimeter shapefile rasterized.") return periData + def calculateScarpWithPlanes(elevData, periData, elevTransform, planes): """Calculate the scarp using sliding planes. @@ -214,6 +249,7 @@ def calculateScarpWithPlanes(elevData, periData, elevTransform, planes): for row in range(n): for col in range(m): west, north = rasterio.transform.xy(elevTransform, row, col, offset='center') + scarpVal = zSeed[0] + (north - ySeed[0]) * betaY[0] - (west - xSeed[0]) * betaX[0] for k in range(1, nPlanes): scarpVal = max(scarpVal, zSeed[k] + (north - ySeed[k]) * betaY[k] - (west - xSeed[k]) * betaX[k]) @@ -278,35 +314,3 @@ def calculateScarpWithEllipsoids(elevData, periData, elevTransform, ellipsoids): scarpData[row, col] = elevData[row, col] return scarpData - -def saveRaster(filename, data, transform, crs): - """Save raster data to a specified format. - - Parameters - ---------- - output_path : str - The file path where the output raster will be saved. - data : np.ndarray - The 2D array of data to be saved. - elevTransform : Affine - The affine transformation matrix of the elevation raster. - elevCRS : rasterio.crs.CRS - The Coordinate Reference System of the elevation raster. - - Returns - ------- - None - """ - with rasterio.open( - filename, - 'w', - driver='GTiff', - height=data.shape[0], - width=data.shape[1], - count=1, - dtype=data.dtype, - crs=crs, - transform=transform, - ) as dst: - dst.write(data, 1) - log.debug("Raster saved: %s", filename) diff --git a/avaframe/com6RockAvalanche/scarpCfg.ini b/avaframe/com6RockAvalanche/scarpCfg.ini index 6f38f949d..d9efb72f0 100644 --- a/avaframe/com6RockAvalanche/scarpCfg.ini +++ b/avaframe/com6RockAvalanche/scarpCfg.ini @@ -1,51 +1,11 @@ [INPUT] -# Input DEM raster file path (ASCII or GeoTIFF) -elevation = -# Input perimeter raster file path (ASCII or GeoTIFF) -perimeter = +# Use shapefiles for feature coordinates and perimeter features +# They have to be saved as .shp file in Inputs/POINTS/*_coordinates.* +# and INPUT/POLYGONS/*_perimeter.* +useShapefiles = True -# Path to shapefile containing feature coordinates (optional) -# If provided, the script will use this shapefile instead of the 'features' string -shapefile = - -# Path to shapefile containing perimeter features (optional) -# If provided, the script will use this shapefile instead of the 'perimeter' raster -perimeter_shapefile = - -# Features for planes or ellipsoids (comma-separated) -# This is used only if 'shapefile' is not provided. -# -# For 'plane' method: Define multiple planes by listing xseed, yseed, zseed, dip, slope for each plane. -# Example for three planes: -# features = x1,y1,z1,dip1,slope1,x2,y2,z2,dip2,slope2,x3,y3,z3,dip3,slope3 -# -# For 'ellipsoid' method: Define multiple ellipsoids by listing x_center, y_center, max_depth, semi_major_axis, semi_minor_axis for each ellipsoid. -# Example for two ellipsoids: -# features = x1,y1,depth1,a1,b1,x2,y2,depth2,a2,b2 -features = 68247,299770,920,0,0,68111,299832,850,90,50,68340,299799,850,270,50 - -[OUTPUT] -# Output scarp raster file path (ASCII or GeoTIFF) -elevscarp = - -# Output release height raster file path (ASCII or GeoTIFF) -hrelease = [SETTINGS] # Choose the method: 'plane' or 'ellipsoid' method = plane - -# Additional settings when using shapefile for feature coordinates -# These settings provide the other parameters required for each feature -# Ensure that the number of parameters matches the number of features in the shapefile - -# For 'plane' method: -planes_zseed = 1090 -planes_dip = 180 -planes_slope = 70 - -# For 'ellipsoid' method: -ellipsoids_max_depth = 80,70,50 -ellipsoids_semi_major = 50,60,50 -ellipsoids_semi_minor = 50,40,50 diff --git a/avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.dbf b/avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.dbf new file mode 100644 index 0000000000000000000000000000000000000000..ef0170f0422ae9ff7a8e280556033fd2876a21ac GIT binary patch literal 198 zcmZRsW#wmLU|?uuPy&*epsF}EH3cH<2co!{QPrem7Qh6s$`|M47o;ZUrRStFV3p@p g00JXZ0|Pw+0|O9S!5G0bf-_N6n8Ae=Ou$Sj0FFr&2mk;8 literal 0 HcmV?d00001 diff --git a/avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.shp b/avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.shp new file mode 100644 index 0000000000000000000000000000000000000000..0cc7e001666ab1d47f73d6d321da310614a583c6 GIT binary patch literal 156 zcmZQzQ0HR64*Xs)GcYg$<%B&{)3fFtKEVBZ?J@Jc?2ZTPR`V`nJ#@fUzq`ZiI=drw m?I@xkW4J&BOfSqVpb!&G?&^wT4#7o-4)EB|D*AJp-4OutlOL=A literal 0 HcmV?d00001 diff --git a/avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.shx b/avaframe/data/scarpExample/Inputs/POINTS/points_coordinates.shx new file mode 100644 index 0000000000000000000000000000000000000000..adec32cf50824328aad1a453ac95aea068b0e6bf GIT binary patch literal 116 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 nFeatures: int number of features per line (parts) - + zseed + np array with the height of each scarp plane-feature (as many values as features) + slopeAngle + np array with the slope angle of each scarp plane-feature (as many values as features) + dip + np array with the dip angle of each scarp plane-feature (as many values as features) + semiminor + np array with the semi-minor axis of each scarp ellipsoid-feature (as many values as features) + maxdepth + np array with the masimum depth of each scarp ellipsoid-feature (as many values as features) + semimajor + np array with the semi-major axis of each scarp ellipsoid-feature (as many values as features) """ # Input shapefile sf = shapefile.Reader(str(infile)) @@ -71,6 +82,13 @@ def SHP2Array(infile, defname=None): id = None ci95 = None layerN = None + zseed_value = None + dip_value = None + slopeAngle_value = None + semiminor_value = None + maxdepth_value = None + semimajor_value = None + # get coordinate system sks = getSHPProjection(infile) @@ -86,6 +104,13 @@ def SHP2Array(infile, defname=None): idList = [] ci95List = [] layerNameList = [] + zseedList = [] + dipList = [] + slopeList = [] + slopeAngleList = [] + semiminorList = [] + semimajorList = [] + maxdepthList = [] Length = np.empty((0)) Start = np.empty((0)) Coordx = np.empty((0)) @@ -125,6 +150,19 @@ def SHP2Array(infile, defname=None): if name == "slope": # for dams slope = value + if name == "slopeangle": + # for dams + slopeAngle_value = value + if name == "zseed": + zseed_value = value + if name == "dip": + dip_value = value + if name == "semiminor": + semiminor_value = value + if name == "maxdepth": + maxdepth_value = value + if name == "semimajor": + semimajor_value = value if name == "rho": rho = value if name == "sks": @@ -149,6 +187,13 @@ def SHP2Array(infile, defname=None): ci95List.append(str(ci95)) layerNameList.append(layerN) idList.append(str(rec.oid)) + zseedList.append(zseed_value) + dipList.append(dip_value) + slopeList.append(slope) + slopeAngleList.append(slopeAngle_value) + semiminorList.append(semiminor_value) + semimajorList.append(semimajor_value) + maxdepthList.append(maxdepth_value) Start = np.append(Start, start) length = len(pts) @@ -173,6 +218,12 @@ def SHP2Array(infile, defname=None): SHPdata["layerName"] = layerNameList SHPdata["nParts"] = nParts SHPdata["nFeatures"] = len(Start) + SHPdata["slopeangle"] = slopeAngleList + SHPdata["zseed"] = zseedList + SHPdata["dip"] = dipList + SHPdata["maxdepth"] = maxdepthList + SHPdata["semimajor"] = semimajorList + SHPdata["semiminor"] = semiminorList sf.close() diff --git a/avaframe/runCom6Scarp.py b/avaframe/runCom6Scarp.py index 583c846ec..92680325f 100644 --- a/avaframe/runCom6Scarp.py +++ b/avaframe/runCom6Scarp.py @@ -1,4 +1,3 @@ - """ Run script for scarp analysis In this runscript, the path to the scarp configuartion File has to be defined in the main config file @@ -8,19 +7,19 @@ import argparse # Local imports -from com6RockAvalanche.scarp import runScarpAnalysis +from avaframe.com6RockAvalanche import scarp from avaframe.in3Utils import cfgUtils from avaframe.in3Utils import logUtils from avaframe.in3Utils import initializeProject as initProj -def runScarpAnalysisWorkflow(configFile=''): +def runScarpAnalysisWorkflow(inputDir=""): """Run the scarp analysis workflow. Parameters ---------- - configFile : str - Path to the configuration file in .ini format. + inputDir: str + Path to the input directory containing DEM, coordinates and perimeter files. Returns ------- @@ -33,23 +32,25 @@ def runScarpAnalysisWorkflow(configFile=''): cfgMain = cfgUtils.getGeneralConfig() # Load configuration file path from general config if not provided - if configFile != '': - cfgMain['MAIN']['configFile'] = configFile + if inputDir != "": + cfgMain["MAIN"]["avalancheDir"] = inputDir else: - configFile = cfgMain['MAIN']['configFile'] - - configFile = pathlib.Path(configFile) + inputDir = cfgMain["MAIN"]["avalancheDir"] # Start logging - log = logUtils.initiateLogger(configFile.parent, logName) - log.info('MAIN SCRIPT') - log.info('Using configuration file: %s', configFile) + log = logUtils.initiateLogger(inputDir, logName) + log.info("MAIN SCRIPT") + log.info("Using inputDir: %s", inputDir) + # ---------------- # Clean input directory(ies) of old work files - initProj.cleanSingleAvaDir(configFile.parent, deleteOutput=False) + initProj.cleanSingleAvaDir(inputDir, deleteOutput=False) + + # load scarp config + scarpCfg = cfgUtils.getModuleConfig(scarp) # Run the scarp analysis - runScarpAnalysis(str(configFile)) + scarp.scarpAnalysisMain(scarpCfg, str(inputDir)) log.info('Scarp analysis completed successfully.') @@ -58,9 +59,9 @@ def runScarpAnalysisWorkflow(configFile=''): if __name__ == '__main__': parser = argparse.ArgumentParser(description='Run scarp analysis workflow') - parser.add_argument('configFile', metavar='c', type=str, nargs='?', default='', - help='Path to the scarp configuration file') + parser.add_argument( + "inputDir", metavar="inputDir", type=str, nargs="?", default="", help="the input directory" + ) args = parser.parse_args() - runScarpAnalysisWorkflow(str(args.configFile)) - + runScarpAnalysisWorkflow(str(args.inputDir)) diff --git a/docs/moduleCom6RockAvalanche.rst b/docs/moduleCom6RockAvalanche.rst index f8f121233..97dd06dff 100644 --- a/docs/moduleCom6RockAvalanche.rst +++ b/docs/moduleCom6RockAvalanche.rst @@ -27,5 +27,50 @@ To run * run: :: - python3 runCom6RockAvalanche.py + python runCom6RockAvalanche.py + +Scarp Calculation +----------------- + + +* first go to ``AvaFrame/avaframe`` +* copy ``avaframeCfg.ini`` to ``local_avaframeCfg.ini`` and set your desired avalanche directory name +* create an avalanche directory - for this task you can use :ref:`moduleIn3Utils:Initialize Project` + +Input +~~~~~ + +* All input files are automatically read from the set avalancheDir. No file paths need to be specified +* elevation: DEM (ASCII), which serves as the basis for calculating the scarps. Must be in avalancheDir/Inputs. +* shapefile: A shapefile containing point geometries. These points represent the centers of the ellipsoids or planes. + The coordinates (x,y) of these points are used. If the plane method is used, the shape file must contain the + Attributes "zseed", "dip" and "slopeangle" as float values. If the ellipsoid method is used, the shape file must + contain the Attributes "maxdepth", "semimajor" and "semiminor". The file must be located in avalancheDir/Inputs/ + POINTS and file name must end with “_coordinates”. +* perimeter_shapefile: A shapefile that specifies a boundary area. Must be located in avalancheDir/Inputs/POLYGONS and file name must end with “_perimeter”. + +Output +~~~~~~ + +* elevscarp: Output DGM (ASCII or GeoTIFF), which maps the input DGM minus the calculated scarp. Is saved under + ``raster_scarp.asc`` in ``avalancheDir/Outputs/com6RockAvalanche/scarp``. +* hrelease: File path to the output DGM (ASCII or GeoTIFF), which represents the calculated scarp volumes.Is saved + under ``raster_rel.asc`` in ``avalancheDir/Outputs/com6RockAvalanche/scarp``. + +Config +~~~~~~ + +Prepare the config file (scarpCfg.ini): + +* copy ``com6RockAvalanche/scarpCfg.ini`` to ``com6RockAvalanche/local_scarpCfg.ini`` and if desired change +configuration settings + +* Input: + o set useShapefiles = True +* Settings: + o method: Here you specify whether the plane or the ellipsoid method should be used + +If all the data is provided successfully, start the script by running:: + + python runCom6Scarp.py \ No newline at end of file