Skip to content

Commit

Permalink
Add v.rast.stats algorithm
Browse files Browse the repository at this point in the history
  • Loading branch information
Médéric RIBREUX committed Mar 12, 2016
1 parent 3f14459 commit 09b9a62
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
10 changes: 10 additions & 0 deletions python/plugins/processing/algs/grass7/description/v.rast.stats.txt
@@ -0,0 +1,10 @@
v.rast.stats
Calculates univariate statistics from a raster map based on vector polygons and uploads statistics to new attribute columns.
Vector (v.*)
ParameterVector|map|Name of vector polygon map|-1|False
ParameterRaster|raster|Name of raster map to calculate statistics from|False
ParameterString|column_prefix|Column prefix for new attribute columns|None|False|False
ParameterString|method|The methods to use (comma separated)|number,minimum,maximum,range,average,stddev,variance,coeff_var,sum,first_quartile,median,third_quartile,percentile|False|True
ParameterNumber|percentile|Percentile to calculate|0|100|90|True
Hardcoded|-c
OutputVector|output|Rast stats
50 changes: 50 additions & 0 deletions python/plugins/processing/algs/grass7/ext/v_rast_stats.py
@@ -0,0 +1,50 @@
# -*- coding: utf-8 -*-

"""
***************************************************************************
v_rast_stats.py
---------------
Date : March 2016
Copyright : (C) 2016 by Médéric Ribreux
Email : medspx at medspx dot fr
***************************************************************************
* *
* 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__ = 'Médéric Ribreux'
__date__ = 'March 2016'
__copyright__ = '(C) 2016, Médéric Ribreux'

# This will get replaced with a git SHA1 when you do a git archive

__revision__ = '$Format:%H$'


import os


def processCommand(alg):
# exclude output for from_output
output = alg.getOutputFromName('output')
alg.removeOutputFromName('output')

alg.processCommand()
alg.addOutput(output)


def processOutputs(alg):
# We need to add the vector layer to outputs:
out = alg.exportedLayers[alg.getParameterValue('map')]
from_out = alg.getOutputValue('output')
command = u"v.out.ogr -s -e input={} output=\"{}\" format=ESRI_Shapefile output_layer={}".format(
out, os.path.dirname(from_out),
os.path.splitext(os.path.basename(from_out))[0]
)
alg.commands.append(command)
alg.outputCommands.append(command)

0 comments on commit 09b9a62

Please sign in to comment.