-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Médéric RIBREUX
committed
Feb 21, 2016
1 parent
777de06
commit 5e49d0a
Showing
2 changed files
with
90 additions
and
0 deletions.
There are no files selected for viewing
11 changes: 11 additions & 0 deletions
11
python/plugins/processing/algs/grass7/description/r.series.interp.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
r.series.interp | ||
Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions. | ||
Raster (r.*) | ||
ParameterMultipleInput|input|Input raster layer(s)|3.0|False | ||
ParameterString|datapos|Data point position for each input map|None|True|True | ||
ParameterFile|infile|Input file with one input raster map name and data point position per line, field separator between name and sample point is '|'|True | ||
ParameterString|output|Name for output raster map (comma separated list if multiple|None|False|True | ||
ParameterString|samplingpos|Sampling point position for each output map (comma separated list)|None|True|True | ||
ParameterFile|outfile|Input file with one output raster map name and sample point position per line, field separator between name and sample point is '|'|True | ||
ParameterSelection|method|Interpolation method, currently only linear interpolation is supported|linear|0 | ||
OutputDirectory|output_dir|Interpolated rasters |
79 changes: 79 additions & 0 deletions
79
python/plugins/processing/algs/grass7/ext/r_series_interp.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
""" | ||
*************************************************************************** | ||
r_series_interp.py | ||
------------------ | ||
Date : February 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__ = 'February 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 codecs | ||
from processing.tools.system import getTempFilename | ||
from os import path | ||
|
||
|
||
def checkParameterValuesBeforeExecuting(alg): | ||
""" Verify if we have the right parameters """ | ||
datapos = alg.getParameterValue(u'datapos') | ||
infile = alg.getParameterValue(u'infile') | ||
output = alg.getParameterValue(u'output') | ||
outfile = alg.getParameterValue(u'outfile') | ||
|
||
if datapos and infile: | ||
return alg.tr("You need to set either inline data positions or an input data positions file !") | ||
if output and outfile: | ||
return alg.tr("You need to set either sampling data positions or an output sampling data positions file !") | ||
if not (datapos or infile or output or outfile): | ||
return alg.tr("You need to set input and output data positions parameters !") | ||
return None | ||
|
||
|
||
def processCommand(alg): | ||
# We temporary remove the output directory | ||
outdir = alg.getOutputFromName('output_dir') | ||
alg.removeOutputFromName('output_dir') | ||
|
||
alg.processCommand() | ||
|
||
# We re-add the new output | ||
alg.addOutput(outdir) | ||
|
||
|
||
def processOutputs(alg): | ||
# We take all the outputs and we export them to the output directory | ||
outdir = alg.getOutputFromName('output_dir') | ||
output = alg.getParameterValue('output') | ||
outfile = alg.getParameterValue('outfile') | ||
outs = [] | ||
if output: | ||
outs = output.split(',') | ||
elif outfile: | ||
# Handle file manually to find the name of the layers | ||
with open(outfile) as f: | ||
for line in f: | ||
if '|' in line: | ||
outs.append(line.split('|')[0]) | ||
|
||
for out in outs: | ||
command = u"r.out.gdal --overwrite -t -c createopt=\"TFW=YES,COMPRESS=LZW\" input={} output=\"{}\"".format( | ||
out, path.join(outdir.value, '{}.tif'.format(out))) | ||
alg.commands.append(command) | ||
alg.outputCommands.append(command) |