QGIS/python/plugins/sagaprovider/SagaNameDecorator.py
2021-06-21 07:17:35 +03:00

165 lines
8.6 KiB
Python

# -*- coding: utf-8 -*-
"""
***************************************************************************
SagaGroupNameDecorator.py
---------------------
Date : August 2012
Copyright : (C) 2012 by Victor Olaya
Email : volayaf at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""
__author__ = 'Victor Olaya'
__date__ = 'August 2012'
__copyright__ = '(C) 2012, Victor Olaya'
groups = {'grid_analysis': 'Raster analysis',
'grid_calculus': 'Raster calculus',
'grid_calculus_bsl': 'Raster calculus',
'grid_discretisation': 'Raster analysis',
'grid_filter': 'Raster filter',
'grid_gridding': 'Raster creation tools',
'grid_spline': 'Raster creation tools',
'grid_tools': 'Raster tools',
'contrib_perego': 'Raster tools',
'climate_tools': 'Climate tools',
'grid_visualisation': 'Raster visualization',
'imagery_classification': 'Image analysis',
'imagery_rga': 'Image analysis',
'imagery_segmentation': 'Image analysis',
'imagery_tools': 'Image analysis',
'imagery_maxent': 'Image analysis',
'imagery_opencv': 'Image analysis',
'imagery_vigra': 'Image analysis',
'imagery_svm': 'Image analysis',
'io_esri_e00': 'I/O',
'io_gdal': 'I/O',
'io_gps': 'I/O',
'io_grid': 'I/O',
'io_grid_grib2': 'I/O',
'io_grid_image': 'I/O',
'io_odbc': 'I/O',
'io_shapes': 'I/O',
'io_shapes_dxf': 'I/O',
'io_shapes_las': 'I/O',
'io_table': 'I/O',
'pj_georeference': 'Georeferencing',
'pj_geotrans': 'Projections and Transformations',
'pj_proj4': 'Projections and Transformations',
'pointcloud_tools': 'Point clouds',
'shapes_grid': 'Vector <-> raster',
'shapes_lines': 'Vector line tools',
'shapes_points': 'Vector point tools',
'shapes_polygons': 'Vector polygon tools',
'shapes_tools': 'Vector general',
'shapes_transect': 'Vector general',
'sim_cellular_automata': 'Simulation',
'sim_ecosystems_hugget': 'Simulation',
'sim_fire_spreading': 'Simulation',
'sim_hydrology': 'Simulation',
'sim_rivflow': 'Simulation',
'sim_qm_of_esp': 'Simulation',
'statistics_grid': 'Geostatistics',
'statistics_kriging': 'Raster creation tools',
'statistics_points': 'Geostatistics',
'statistics_regression': 'Geostatistics',
'ta_channels': 'Terrain Analysis - Channels',
'ta_compound': 'Terrain Analysis - Morphometry',
'ta_hydrology': 'Terrain Analysis - Hydrology',
'ta_lighting': 'Terrain Analysis - Lighting',
'ta_morphometry': 'Terrain Analysis - Morphometry',
'ta_slope_stability': 'Terrain Analysis - Morphometry',
'ta_preprocessor': 'Terrain Analysis - Hydrology',
'ta_profiles': 'Terrain Analysis - Profiles',
'table_calculus': 'Table tools',
'table_tools': 'Table tools',
'tin_tools': 'TIN'}
def decoratedGroupName(name):
return groups.get(name, name)
algorithms = {'Add Grid Values to Points': 'Add raster values to points',
'Add Grid Values to Shapes': 'Add raster values to features',
'Change Grid Values': 'Reclassify values (simple)',
'Clip Grid with Polygon': 'Clip raster with polygon',
'Contour Lines from Grid': 'Contour Lines',
'Cubic Spline Approximation': 'Interpolate (Cubic spline)',
'Cut Shapes Layer': 'Cut vector Layer',
'Directional Statistics for Single Grid': 'Directional Statistics for raster layer',
'Filter Clumps': 'Remove small pixel clumps (to no-data)',
'Fire Risk Analysis': 'Fire Risk Analysis',
'Fit N Points to shape': 'Fit n points in polygon',
'Flat Detection': 'Flat Detection',
'Flow Accumulation (Flow Tracing)': 'Catchment area (Flow Tracing)',
'Flow Accumulation (Recursive)': 'Catchment area (Recursive)',
'Flow Accumulation (Top-Down)': 'Catchment area',
'GWR for Multiple Predictor Grids': 'GWR for Multiple Predictor layers',
'GWR for Single Predictor Grid': 'GWR for Single Predictor layer',
'Geographically Weighted Multiple Regression (Points/Grids)': 'Geographically Weighted Multiple Regression (Points/Raster)',
'Geographically Weighted Regression (Points/Grid)': 'Geographically Weighted Regression (Points/Raster)',
'Geometric Figures': 'Geometric Figures',
'Get Shapes Extents': 'Feature extents',
"Global Moran's I for Grids": "Global Moran's I for raster layer",
'Grid Buffer': 'Raster Buffer',
'Grid Cell Index': 'Raster Cell Index',
'Grid Difference': 'Raster Difference',
'Grid Division': 'Raster Division',
'Grid Masking': 'Raster Masking',
'Grid Normalisation': 'Raster Normalisation',
'Grid Orientation': 'Raster Orientation',
'Grid Proximity Buffer': 'Raster Proximity Buffer',
'Grid Skeletonization': 'Raster Skeletonization',
'Grid Standardisation': 'Raster Standardisation',
'Grid Statistics for Polygons': 'Raster Statistics for Polygons',
'Grid Values to Points': 'Raster Values to Points',
'Grid Values to Points (randomly)': 'Raster Values to Points (randomly)',
'Grid Volume': 'Raster Volume',
'Grids Product': 'Raster Product',
'Grids Sum': 'Rasters Sum',
'Inverse Distance Weighted': 'Inverse Distance Weighted Interpolation',
'Identity': 'Polygon identity',
'Merge Layers': 'Merge vector layers',
'Modified Quadratic Shepard': 'Modified Quadratic Shepard interpolation',
'Mosaick raster layers': 'Mosaic raster layers',
'Multilevel B-Spline Interpolation': 'Multilevel B-Spline Interpolation',
'Multilevel B-Spline Interpolation (from Grid)': 'Multilevel B-Spline Interpolation (from Raster)',
'Multiple Regression Analysis (Grid/Grids)': 'Multiple Regression Analysis (Raster/Raster)',
'Multiple Regression Analysis (Points/Grids)': 'Multiple Regression Analysis (Points/Raster)',
'Proximity Grid': 'Proximity Raster',
'QuadTree Structure to Shapes': 'QuadTree Structure to polygons',
'Radius of Variance (Grid)': 'Radius of Variance (Raster)',
'Reclassify Grid Values': 'Reclassify values',
'Reclassify Grid Values (Table)': 'Reclassify values (Table)',
'Reclassify Grid Values (Range)': 'Reclassify values (Range)',
'Reclassify Grid Values (Single)': 'Reclassify values (Single)',
'Shapes Buffer (Attribute distance)': 'Variable distance buffer',
'Shapes Buffer (Fixed distance)': 'fixed distance buffer',
'Shapes to Grid': 'Rasterize',
'Statistics for Grids': 'Statistics for Rasters',
'Terrain Ruggedness Index (TRI)': 'Terrain Ruggedness Index (TRI)',
'Thin Plate Spline (Global)': 'Thin Plate Spline (Global)',
'Thin Plate Spline (Local)': 'Thin Plate Spline (Local)',
'Thin Plate Spline (TIN)': 'Thin Plate Spline (TIN)',
'Threshold Buffer': 'Threshold raster buffer',
'Transform Shapes': 'Transform vector layer',
'Transpose Grids': 'Transpose Raster layers',
'Union': 'Polygon union',
'Update': 'Polygon update',
'Upslope Area': 'Upslope Area',
'Zonal Grid Statistics': 'Zonal raster statistics'}
def decoratedAlgorithmName(name):
decorated = algorithms.get(name, name)
return decorated[0].upper() + decorated[1:].lower()