mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
Merge pull request #3238 from medspx/processing_g7_raster_tests
[processing] more grass7 unit tests and their fixes
This commit is contained in:
commit
a12152c724
@ -13,4 +13,5 @@ PyQgsVirtualLayerDefinition
|
||||
PyQgsVirtualLayerProvider
|
||||
qgis_composermapgridtest
|
||||
qgis_composerutils
|
||||
ProcessingGrass7AlgorithmsTest
|
||||
ProcessingGrass7AlgorithmsImageryTest
|
||||
ProcessingGrass7AlgorithmsRasterTest
|
||||
|
@ -472,11 +472,6 @@ class Grass7Algorithm(GeoAlgorithm):
|
||||
self.commands.append(command)
|
||||
self.outputCommands.append(command)
|
||||
|
||||
command = 'r.out.gdal --overwrite -c createopt="TFW=YES,COMPRESS=LZW"'
|
||||
command += ' input='
|
||||
command += 'correctedoutput' + self.uniqueSufix
|
||||
command += ' output="' + filename + '"'
|
||||
elif self.grass7Name == 'r.composite':
|
||||
command = 'r.out.gdal --overwrite -c createopt="TFW=YES,COMPRESS=LZW"'
|
||||
command += ' input='
|
||||
command += 'correctedoutput' + self.uniqueSufix
|
||||
@ -487,9 +482,6 @@ class Grass7Algorithm(GeoAlgorithm):
|
||||
|
||||
if self.grass7Name == 'r.horizon':
|
||||
command += out.name + self.uniqueSufix + '_0'
|
||||
elif self.grass7Name == 'r.composite':
|
||||
self.commands.append(command)
|
||||
self.outputCommands.append(command)
|
||||
elif self.grass7Name == 'r.statistics':
|
||||
self.commands.append(command)
|
||||
self.outputCommands.append(command)
|
||||
|
@ -1,9 +1,9 @@
|
||||
r.slope.aspect
|
||||
r.aspect - Generates raster maps of aspect from a elevation raster map.
|
||||
r.aspect - Generates raster maps of aspect from an elevation raster map.
|
||||
Raster (r.*)
|
||||
ParameterRaster|elevation|Elevation|False
|
||||
ParameterSelection|precision|Data type|FCELL;CELL;DCELL
|
||||
ParameterBoolean|-a|Do not align the current region to the elevation layer|True
|
||||
ParameterNumber|zfactor|Multiplicative factor to convert elevation units to meters|None|None|1.0
|
||||
ParameterSelection|precision|Data type|FCELL;CELL;DCELL|0
|
||||
*ParameterBoolean|-a|Do not align the current region to the elevation layer|False
|
||||
ParameterNumber|zscale|Multiplicative factor to convert elevation units to meters|None|None|1.0
|
||||
ParameterNumber|min_slope|Minimum slope val. (in percent) for which aspect is computed|None|None|0.0
|
||||
OutputRaster|aspect|Aspect
|
||||
|
@ -1,7 +1,11 @@
|
||||
r.fillnulls
|
||||
Fills no-data areas in a raster layer using v.surf.rst splines interpolation or v.surf.bspline interpolation
|
||||
Fills no-data areas in raster maps using spline interpolation.
|
||||
Raster (r.*)
|
||||
ParameterRaster|input|Input raster layer to fill|False
|
||||
ParameterSelection|method|Interpolation method to use|bilinear;bicubic;rst|2
|
||||
ParameterNumber|tension|Spline tension parameter|None|None|40.0
|
||||
ParameterNumber|smooth|Spline smoothing parameter|None|None|0.1
|
||||
ParameterNumber|edge|Width of hole edge used for interpolation (in cells)|2|100|3|True
|
||||
ParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|2|10000|600|True
|
||||
ParameterNumber|segmax|Maximum number of points in a segment|2|10000|300|True
|
||||
OutputRaster|output|Filled
|
||||
|
@ -4,7 +4,7 @@ Raster (r.*)
|
||||
ParameterRaster|hue|Hue|False
|
||||
ParameterRaster|intensity|Intensity|False
|
||||
ParameterRaster|saturation|Saturation|False
|
||||
ParameterBoolean|-n|Respect NULL values while drawing|False
|
||||
ParameterBoolean|-c|Use colors from color tables for NULL values|False
|
||||
OutputRaster|red|Red
|
||||
OutputRaster|green|Green
|
||||
OutputRaster|blue|Blue
|
||||
|
@ -4,5 +4,5 @@ Raster (r.*)
|
||||
ParameterRaster|input|Name of input raster map|False
|
||||
ParameterString|config_txt|Landscape structure configuration|None|True|True
|
||||
ParameterFile|config|Landscape structure configuration file|False|True
|
||||
ParameterFile|path|Name of file that contains the weight to calculate the index|False
|
||||
ParameterFile|path|Name of file that contains the weight to calculate the index|False|False
|
||||
OutputFile|output|CWED
|
||||
|
@ -4,5 +4,5 @@ Raster (r.*)
|
||||
ParameterRaster|input|Name of input raster map|False
|
||||
ParameterString|config_txt|Landscape structure configuration|None|True|True
|
||||
ParameterFile|config|Landscape structure configuration file|False|True
|
||||
ParameterFile|path|Name of file that contains the weight to calculate the index|False
|
||||
ParameterFile|path|Name of file that contains the weight to calculate the index|False|False
|
||||
OutputRaster|output|CWED
|
||||
|
@ -4,5 +4,5 @@ Raster (r.*)
|
||||
ParameterRaster|input|Name of input raster map|False
|
||||
ParameterString|config_txt|Landscape structure configuration|None|True|True
|
||||
ParameterFile|config|Landscape structure configuration file|False|True
|
||||
ParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|True
|
||||
ParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False
|
||||
OutputFile|output|Renyi
|
||||
|
@ -4,5 +4,5 @@ Raster (r.*)
|
||||
ParameterRaster|input|Name of input raster map|False
|
||||
ParameterString|config_txt|Landscape structure configuration|None|True|True
|
||||
ParameterFile|config|Landscape structure configuration file|False|True
|
||||
ParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|True
|
||||
ParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False
|
||||
OutputRaster|output|Renyi
|
||||
|
@ -1,9 +1,9 @@
|
||||
r.slope.aspect
|
||||
r.slope - Generates raster maps of slope from a elevation raster map.
|
||||
r.slope - Generates raster maps of slope from an elevation raster map.
|
||||
Raster (r.*)
|
||||
ParameterRaster|elevation|Elevation|False
|
||||
ParameterSelection|precision|Data type|FCELL;CELL;DCELL
|
||||
ParameterBoolean|-a|Do not align the current region to the elevation layer|True
|
||||
ParameterNumber|zfactor|Multiplicative factor to convert elevation units to meters|None|None|1.0
|
||||
ParameterSelection|precision|Data type|FCELL;CELL;DCELL|0
|
||||
*ParameterBoolean|-a|Do not align the current region to the elevation layer|False
|
||||
ParameterNumber|zscale|Multiplicative factor to convert elevation units to meters|None|None|1.0
|
||||
ParameterNumber|min_slope|Minimum slope val. (in percent) for which aspect is computed|None|None|0.0
|
||||
OutputRaster|slope|Slope
|
||||
|
@ -1,4 +0,0 @@
|
||||
r.sum
|
||||
Sums up the raster cell values.
|
||||
Raster (r.*)
|
||||
ParameterRaster|rast|Name of incidence or density file|False
|
@ -2,4 +2,4 @@ r.topidx
|
||||
Creates topographic index layer from elevation raster layer
|
||||
Raster (r.*)
|
||||
ParameterRaster|input|Input elevation layer|False
|
||||
OutputRaster|Topographic index
|
||||
OutputRaster|output|Topographic index
|
||||
|
@ -2,9 +2,14 @@ r.viewshed
|
||||
Computes the viewshed of a point on an elevation raster map.
|
||||
Raster (r.*)
|
||||
ParameterRaster|input|Elevation|False
|
||||
ParameterString|coordinates|Coordinate identifying the viewing position|0,0
|
||||
ParameterString|observer_elevation|Viewing position height above the ground|1.75
|
||||
ParameterString|target_elevation|Offset for target elevation above the ground|0.0
|
||||
ParameterString|max_distance|Maximum distance from the viewing point (meters)|10000
|
||||
ParameterBoolean|-c|Consider earth curvature (current ellipsoid)|False
|
||||
ParameterString|coordinates|Coordinate identifying the viewing position|0,0|False|False
|
||||
ParameterString|observer_elevation|Viewing elevation above the ground|1.75|False|False
|
||||
ParameterString|target_elevation|Offset for target elevation above the ground|0.0|False|False
|
||||
ParameterString|max_distance|Maximum distance from the viewing point (meters)|-1|False|False
|
||||
ParameterNumber|refraction_coeff|Refraction coefficient|0.0|1.0|0.14286|False
|
||||
ParameterNumber|memory|Amount of memory to use in MB|1|None|500|False
|
||||
*ParameterBoolean|-c|Consider earth curvature (current ellipsoid)|False
|
||||
*ParameterBoolean|-r|Consider the effect of atmospheric refraction|False
|
||||
*ParameterBoolean|-b|Output format is invisible = 0, visible = 1|False
|
||||
*ParameterBoolean|-e|Output format is invisible = NULL, else current elev - viewpoint_elev|False
|
||||
OutputRaster|output|Intervisibility
|
||||
|
@ -1,7 +1,7 @@
|
||||
r.volume
|
||||
Calculates the volume of data "clumps".
|
||||
Raster (r.*)
|
||||
ParameterRaster|data|Layer representing data that will be summed within clumps|False
|
||||
ParameterRaster|input|Name of input raster map representing data that will be summed within clumps|False
|
||||
ParameterRaster|clump|Clumps layer (preferably the output of r.clump)|False
|
||||
*ParameterBoolean|-f|Generate unformatted report|False
|
||||
OutputVector|centroids|Centroids
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -29,7 +29,7 @@ from r_li import checkMovingWindow, configFile
|
||||
|
||||
|
||||
def checkParameterValuesBeforeExecuting(alg):
|
||||
checkMovingWindow(alg)
|
||||
return checkMovingWindow(alg)
|
||||
|
||||
|
||||
def processCommand(alg):
|
||||
|
@ -26,6 +26,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
import re
|
||||
import yaml
|
||||
import hashlib
|
||||
|
||||
@ -43,14 +44,18 @@ from processing.core.outputs import (
|
||||
OutputString,
|
||||
OutputRaster,
|
||||
OutputVector,
|
||||
OutputHTML
|
||||
OutputHTML,
|
||||
OutputFile
|
||||
)
|
||||
|
||||
from processing.core.parameters import (
|
||||
ParameterRaster,
|
||||
ParameterVector,
|
||||
ParameterMultipleInput,
|
||||
ParameterFile
|
||||
ParameterFile,
|
||||
ParameterString,
|
||||
ParameterNumber,
|
||||
ParameterBoolean
|
||||
)
|
||||
|
||||
|
||||
@ -73,7 +78,7 @@ def extractSchemaPath(filepath):
|
||||
path = filepath
|
||||
part = True
|
||||
|
||||
while part:
|
||||
while part and filepath:
|
||||
(path, part) = os.path.split(path)
|
||||
if part == 'testdata' and not localpath:
|
||||
localparts = parts
|
||||
@ -95,11 +100,39 @@ def extractSchemaPath(filepath):
|
||||
return schema, localpath
|
||||
|
||||
|
||||
def parseParameters(command):
|
||||
"""
|
||||
Parse alg string to grab parameters value.
|
||||
Can handle quotes and comma.
|
||||
"""
|
||||
pos = 0
|
||||
exp = re.compile(r"""(['"]?)(.*?)\1(,|$)""")
|
||||
while True:
|
||||
m = exp.search(command, pos)
|
||||
result = m.group(2)
|
||||
separator = m.group(3)
|
||||
|
||||
# Handle special values:
|
||||
if result == 'None':
|
||||
result = None
|
||||
elif result.lower() == unicode(True).lower():
|
||||
result = True
|
||||
elif result.lower() == unicode(False).lower():
|
||||
result = False
|
||||
|
||||
yield result
|
||||
|
||||
if not separator:
|
||||
break
|
||||
|
||||
pos = m.end(0)
|
||||
|
||||
|
||||
def createTest(text):
|
||||
definition = {}
|
||||
|
||||
tokens = text[len('processing.runalg('):-1].split(',')
|
||||
cmdname = (tokens[0])[1:-1]
|
||||
tokens = list(parseParameters(text[len('processing.runalg('):-1]))
|
||||
cmdname = tokens[0]
|
||||
alg = Processing.getAlgorithm(cmdname)
|
||||
|
||||
definition['name'] = 'Test ({})'.format(cmdname)
|
||||
@ -115,10 +148,12 @@ def createTest(text):
|
||||
|
||||
i += 1
|
||||
token = tokens[i]
|
||||
# Handle empty parameters that are optionals
|
||||
if param.optional and token is None:
|
||||
continue
|
||||
|
||||
if isinstance(param, ParameterVector):
|
||||
filename = token[1:-1]
|
||||
schema, filepath = extractSchemaPath(filename)
|
||||
schema, filepath = extractSchemaPath(token)
|
||||
p = {
|
||||
'type': 'vector',
|
||||
'name': filepath
|
||||
@ -128,8 +163,7 @@ def createTest(text):
|
||||
|
||||
params[param.name] = p
|
||||
elif isinstance(param, ParameterRaster):
|
||||
filename = token[1:-1]
|
||||
schema, filepath = extractSchemaPath(filename)
|
||||
schema, filepath = extractSchemaPath(token)
|
||||
p = {
|
||||
'type': 'raster',
|
||||
'name': filepath
|
||||
@ -139,7 +173,7 @@ def createTest(text):
|
||||
|
||||
params[param.name] = p
|
||||
elif isinstance(param, ParameterMultipleInput):
|
||||
multiparams = token[1:-1].split(';')
|
||||
multiparams = token.split(';')
|
||||
newparam = []
|
||||
|
||||
# Handle datatype detection
|
||||
@ -164,8 +198,7 @@ def createTest(text):
|
||||
|
||||
params[param.name] = p
|
||||
elif isinstance(param, ParameterFile):
|
||||
filename = token[1:-1]
|
||||
schema, filepath = extractSchemaPath(filename)
|
||||
schema, filepath = extractSchemaPath(token)
|
||||
p = {
|
||||
'type': 'file',
|
||||
'name': filepath
|
||||
@ -174,18 +207,21 @@ def createTest(text):
|
||||
p['location'] = '[The source data is not in the testdata directory. Please use data in the processing/tests/testdata folder.]'
|
||||
|
||||
params[param.name] = p
|
||||
else:
|
||||
try:
|
||||
elif isinstance(param, ParameterString):
|
||||
params[param.name] = token
|
||||
elif isinstance(param, ParameterBoolean):
|
||||
params[param.name] = token
|
||||
elif isinstance(param, ParameterNumber):
|
||||
if param.isInteger:
|
||||
params[param.name] = int(token)
|
||||
except ValueError:
|
||||
try:
|
||||
params[param.name] = float(token)
|
||||
except ValueError:
|
||||
if token[0] == '"':
|
||||
token = token[1:]
|
||||
if token[-1] == '"':
|
||||
token = token[:-1]
|
||||
params[param.name] = token
|
||||
else:
|
||||
params[param.name] = float(token)
|
||||
else:
|
||||
if token[0] == '"':
|
||||
token = token[1:]
|
||||
if token[-1] == '"':
|
||||
token = token[:-1]
|
||||
params[param.name] = token
|
||||
|
||||
definition['params'] = params
|
||||
|
||||
@ -195,8 +231,7 @@ def createTest(text):
|
||||
if isinstance(out, (OutputNumber, OutputString)):
|
||||
results[out.name] = unicode(out)
|
||||
elif isinstance(out, OutputRaster):
|
||||
filename = token[1:-1]
|
||||
dataset = gdal.Open(filename, GA_ReadOnly)
|
||||
dataset = gdal.Open(token, GA_ReadOnly)
|
||||
dataArray = nan_to_num(dataset.ReadAsArray(0))
|
||||
strhash = hashlib.sha224(dataArray.data).hexdigest()
|
||||
|
||||
@ -205,17 +240,15 @@ def createTest(text):
|
||||
'hash': strhash
|
||||
}
|
||||
elif isinstance(out, OutputVector):
|
||||
filename = token[1:-1]
|
||||
schema, filepath = extractSchemaPath(filename)
|
||||
schema, filepath = extractSchemaPath(token)
|
||||
results[out.name] = {
|
||||
'type': 'vector',
|
||||
'name': filepath
|
||||
}
|
||||
if not schema:
|
||||
results[out.name]['location'] = '[The expected result data is not in the testdata directory. Please write it to processing/tests/testdata/expected. Prefer gml files.]'
|
||||
elif isinstance(out, OutputHTML):
|
||||
filename = token[1:-1]
|
||||
schema, filepath = extractSchemaPath(filename)
|
||||
elif isinstance(out, OutputHTML) or isinstance(out, OutputFile):
|
||||
schema, filepath = extractSchemaPath(token)
|
||||
results[out.name] = {
|
||||
'type': 'file',
|
||||
'name': filepath
|
||||
@ -224,7 +257,6 @@ def createTest(text):
|
||||
results[out.name]['location'] = '[The expected result file is not in the testdata directory. Please redirect the output to processing/tests/testdata/expected.]'
|
||||
|
||||
definition['results'] = results
|
||||
|
||||
dlg = ShowTestDialog(yaml.dump([definition], default_flow_style=False))
|
||||
dlg.exec_()
|
||||
|
||||
@ -244,7 +276,8 @@ class ShowTestDialog(QDialog):
|
||||
self.text = QTextEdit()
|
||||
self.text.setFontFamily("monospace")
|
||||
self.text.setEnabled(True)
|
||||
self.text.setText(s)
|
||||
# Add two spaces in front of each text for faster copy/paste
|
||||
self.text.setText(' {}'.format(s.replace('\n', '\n ')))
|
||||
layout.addWidget(self.text)
|
||||
self.setLayout(layout)
|
||||
QMetaObject.connectSlotsByName(self)
|
||||
|
@ -9,5 +9,6 @@ IF(ENABLE_TESTS)
|
||||
ADD_PYTHON_TEST(ProcessingParametersTest ParametersTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingQgisAlgorithmsTest QgisAlgorithmsTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingGdalAlgorithmsTest GdalAlgorithmsTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingGrass7AlgorithmsTest Grass7AlgorithmsTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingGrass7AlgorithmsImageryTest Grass7AlgorithmsImageryTest.py)
|
||||
ADD_PYTHON_TEST(ProcessingGrass7AlgorithmsRasterTest Grass7AlgorithmsRasterTest.py)
|
||||
ENDIF(ENABLE_TESTS)
|
||||
|
@ -0,0 +1,58 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
***************************************************************************
|
||||
Grass7AlgorithmsImageryTest.py
|
||||
------------------------------
|
||||
Date : May 2016
|
||||
Copyright : (C) 2016 by Médéric Ribreux
|
||||
Email : mederic dot ribreux 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__ = 'May 2016'
|
||||
__copyright__ = '(C) 2016, Médéric Ribreux'
|
||||
|
||||
# This will get replaced with a git SHA1 when you do a git archive
|
||||
|
||||
__revision__ = ':%H$'
|
||||
|
||||
import AlgorithmsTestBase
|
||||
|
||||
import nose2
|
||||
import shutil
|
||||
|
||||
from qgis.testing import (
|
||||
start_app,
|
||||
unittest
|
||||
)
|
||||
|
||||
|
||||
class TestGrass7AlgorithmsImageryTest(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
start_app()
|
||||
from processing.core.Processing import Processing
|
||||
Processing.initialize()
|
||||
cls.cleanup_paths = []
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
for path in cls.cleanup_paths:
|
||||
shutil.rmtree(path)
|
||||
|
||||
def test_definition_file(self):
|
||||
return 'grass7_algorithms_imagery_tests.yaml'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
nose2.main()
|
@ -2,8 +2,8 @@
|
||||
|
||||
"""
|
||||
***************************************************************************
|
||||
Grass7AlgorithmTests.py
|
||||
-----------------------
|
||||
Grass7AlgorithmsRasterTest.py
|
||||
-----------------------------
|
||||
Date : May 2016
|
||||
Copyright : (C) 2016 by Médéric Ribreux
|
||||
Email : mederic dot ribreux at medspx dot fr
|
||||
@ -36,7 +36,7 @@ from qgis.testing import (
|
||||
)
|
||||
|
||||
|
||||
class TestGrass7Algorithms(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
class TestGrass7AlgorithmsRasterTest(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
@ -51,7 +51,7 @@ class TestGrass7Algorithms(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest)
|
||||
shutil.rmtree(path)
|
||||
|
||||
def test_definition_file(self):
|
||||
return 'grass7_algorithm_tests.yaml'
|
||||
return 'grass7_algorithms_raster_tests.yaml'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
103
python/plugins/processing/tests/grass7_todo.md
Normal file
103
python/plugins/processing/tests/grass7_todo.md
Normal file
@ -0,0 +1,103 @@
|
||||
# Here is a list of grass7 algorithms without test units
|
||||
|
||||
## Raster algorithms
|
||||
|
||||
* r.basins.fill: needs different input rasters (result is always empty).
|
||||
* r.carve: needs a vector input.
|
||||
* r.colors: needs to handle output directories.
|
||||
* r.colors.stddev: needs to find a way to test color table.
|
||||
* r.contour.level: needs to export vector to GeoJSON (instead of Shapefile).
|
||||
* r.contour.step: needs to export vector to GeoJSON (instead of Shapefile).
|
||||
* r.drain: needs another dataset.
|
||||
* r.flow.aspect.barrier: needs another dataset.
|
||||
* r.flow.barrier: needs another dataset.
|
||||
* r.grow: needs another dataset.
|
||||
* r.grow.distance: needs another dataset.
|
||||
* r.gwflow: needs another (huge) dataset.
|
||||
* r.horizon
|
||||
* r.horizon.height
|
||||
* r.in.lidar: needs another dataset.
|
||||
* r.in.lidar.info: needs another dataset.
|
||||
* r.mapcalc
|
||||
* r.mask.rast
|
||||
* r.mask.vect
|
||||
* r.median
|
||||
* r.mfilter
|
||||
* r.mfilter.fp
|
||||
* r.mode
|
||||
* r.neighbors
|
||||
* r.null
|
||||
* r.out.gridatb
|
||||
* r.out.ppm
|
||||
* r.out.vrml
|
||||
* r.param.scale
|
||||
* r.patch
|
||||
* r.profile
|
||||
* r.quant
|
||||
* r.quantile
|
||||
* r.random
|
||||
* r.random.cells
|
||||
* r.random.raster
|
||||
* r.random.surface
|
||||
* r.reclass.area.greater
|
||||
* r.reclass.area.lesser
|
||||
* r.recode
|
||||
* r.regression.line
|
||||
* r.regression.multi
|
||||
* r.relief
|
||||
* r.relief.scaling
|
||||
* r.report
|
||||
* r.resamp.bspline
|
||||
* r.resamp.filter
|
||||
* r.resamp.interp
|
||||
* r.resamp.rst
|
||||
* r.resamp.stats
|
||||
* r.resample
|
||||
* r.rescale
|
||||
* r.rescale.eq
|
||||
* r.rgb
|
||||
* r.ros: too much input rasters !
|
||||
* r.series.accumulate: can't reproduce same results !
|
||||
* r.series.interp: needs to handle output directories
|
||||
* r.sim.sediment: too much input rasters !
|
||||
* r.sim.water: too much input rasters !
|
||||
* r.solute.transport: too much input rasters !
|
||||
* r.spreadpath: segfaults with test dataset !
|
||||
* r.stats.quantile.rast: needs to handle output directories
|
||||
* r.sunhours: can't reproduce same results !
|
||||
* r.support: create a new test for raster: test after metadata.
|
||||
* r.surf.fractal: random results !
|
||||
* r.surf.gauss: random results !
|
||||
* r.surf.random: random results !
|
||||
* r.terraflow: can't produce output with test dataset !
|
||||
* r.texture: needs to handle output directories
|
||||
* r.tile: needs to handle output directories
|
||||
* r.tileset: can't reproduce same results
|
||||
* r.to.vect: needs a vector output in GML
|
||||
* r.topmodel: too much manual inputs.
|
||||
* r.uslek: can't produce output with test dataset (needs reclassified float rasters) !
|
||||
* r.viewshed: can't produce output with test dataset !
|
||||
* r.volume: needs a vector output in GML
|
||||
|
||||
## Imagery algorithms
|
||||
|
||||
* i.albedo
|
||||
* i.aster.toar
|
||||
* i.cca
|
||||
* i.colors.enhance
|
||||
* i.eb.evapfr
|
||||
* i.evapo.time
|
||||
* i.fft
|
||||
* i.his.rgb
|
||||
* i.ifft
|
||||
* i.in.spotvgt
|
||||
* i.landsat.acca
|
||||
* i.landsat.toar
|
||||
* i.pca
|
||||
* i.rectify
|
||||
* i.tasscap
|
||||
* i.topo.corr
|
||||
|
||||
## Vector algorithms
|
||||
|
||||
We need to handle gml for output and input for GRASS7 algorithms before creating tests !
|
@ -1,20 +0,0 @@
|
||||
<PAMDataset>
|
||||
<PAMRasterBand band="1">
|
||||
<Histograms>
|
||||
<HistItem>
|
||||
<HistMin>-310.575</HistMin>
|
||||
<HistMax>14854.575</HistMax>
|
||||
<BucketCount>1000</BucketCount>
|
||||
<IncludeOutOfRange>0</IncludeOutOfRange>
|
||||
<Approximate>0</Approximate>
|
||||
<HistCounts>8|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|15|15|15|16|15|15|8</HistCounts>
|
||||
</HistItem>
|
||||
</Histograms>
|
||||
<Metadata>
|
||||
<MDI key="STATISTICS_MAXIMUM">14847</MDI>
|
||||
<MDI key="STATISTICS_MEAN">7272</MDI>
|
||||
<MDI key="STATISTICS_MINIMUM">-303</MDI>
|
||||
<MDI key="STATISTICS_STDDEV">4373.7169547194</MDI>
|
||||
</Metadata>
|
||||
</PAMRasterBand>
|
||||
</PAMDataset>
|
BIN
python/plugins/processing/tests/testdata/custom/grass7/points.dbf
vendored
Normal file
BIN
python/plugins/processing/tests/testdata/custom/grass7/points.dbf
vendored
Normal file
Binary file not shown.
1
python/plugins/processing/tests/testdata/custom/grass7/points.prj
vendored
Normal file
1
python/plugins/processing/tests/testdata/custom/grass7/points.prj
vendored
Normal file
@ -0,0 +1 @@
|
||||
PROJCS["RGF93_Lambert_93",GEOGCS["GCS_RGF93",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",46.5],PARAMETER["central_meridian",3],PARAMETER["false_easting",700000],PARAMETER["false_northing",6600000],UNIT["Meter",1]]
|
1
python/plugins/processing/tests/testdata/custom/grass7/points.qpj
vendored
Normal file
1
python/plugins/processing/tests/testdata/custom/grass7/points.qpj
vendored
Normal file
@ -0,0 +1 @@
|
||||
PROJCS["RGF93 / Lambert-93",GEOGCS["RGF93",DATUM["Reseau_Geodesique_Francais_1993",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6171"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4171"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",46.5],PARAMETER["central_meridian",3],PARAMETER["false_easting",700000],PARAMETER["false_northing",6600000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","2154"]]
|
BIN
python/plugins/processing/tests/testdata/custom/grass7/points.shp
vendored
Normal file
BIN
python/plugins/processing/tests/testdata/custom/grass7/points.shp
vendored
Normal file
Binary file not shown.
BIN
python/plugins/processing/tests/testdata/custom/grass7/points.shx
vendored
Normal file
BIN
python/plugins/processing/tests/testdata/custom/grass7/points.shx
vendored
Normal file
Binary file not shown.
BIN
python/plugins/processing/tests/testdata/custom/grass7/points2.dbf
vendored
Normal file
BIN
python/plugins/processing/tests/testdata/custom/grass7/points2.dbf
vendored
Normal file
Binary file not shown.
1
python/plugins/processing/tests/testdata/custom/grass7/points2.prj
vendored
Normal file
1
python/plugins/processing/tests/testdata/custom/grass7/points2.prj
vendored
Normal file
@ -0,0 +1 @@
|
||||
PROJCS["RGF93_Lambert_93",GEOGCS["GCS_RGF93",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",46.5],PARAMETER["central_meridian",3],PARAMETER["false_easting",700000],PARAMETER["false_northing",6600000],UNIT["Meter",1]]
|
1
python/plugins/processing/tests/testdata/custom/grass7/points2.qpj
vendored
Normal file
1
python/plugins/processing/tests/testdata/custom/grass7/points2.qpj
vendored
Normal file
@ -0,0 +1 @@
|
||||
PROJCS["RGF93 / Lambert-93",GEOGCS["RGF93",DATUM["Reseau_Geodesique_Francais_1993",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6171"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4171"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",46.5],PARAMETER["central_meridian",3],PARAMETER["false_easting",700000],PARAMETER["false_northing",6600000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","2154"]]
|
BIN
python/plugins/processing/tests/testdata/custom/grass7/points2.shp
vendored
Normal file
BIN
python/plugins/processing/tests/testdata/custom/grass7/points2.shp
vendored
Normal file
Binary file not shown.
BIN
python/plugins/processing/tests/testdata/custom/grass7/points2.shx
vendored
Normal file
BIN
python/plugins/processing/tests/testdata/custom/grass7/points2.shx
vendored
Normal file
Binary file not shown.
BIN
python/plugins/processing/tests/testdata/custom/grass7/raster_1class.tif
vendored
Normal file
BIN
python/plugins/processing/tests/testdata/custom/grass7/raster_1class.tif
vendored
Normal file
Binary file not shown.
2
python/plugins/processing/tests/testdata/custom/grass7/rliconfig
vendored
Normal file
2
python/plugins/processing/tests/testdata/custom/grass7/rliconfig
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
SAMPLINGFRAME 0|0|1|1
|
||||
SAMPLEAREA 0.0|0.0|1.0|1.0
|
3
python/plugins/processing/tests/testdata/custom/grass7/rliconfigmoving
vendored
Normal file
3
python/plugins/processing/tests/testdata/custom/grass7/rliconfigmoving
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
SAMPLINGFRAME 0.1223021582733813|0.14678899082568808|0.26605504587155965|0.39568345323741005
|
||||
SAMPLEAREA -1|-1|0.09174311926605505|0.07194244604316546
|
||||
MOVINGWINDOW
|
4
python/plugins/processing/tests/testdata/custom/grass7/weighted.csv
vendored
Normal file
4
python/plugins/processing/tests/testdata/custom/grass7/weighted.csv
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
1,2,0.65
|
||||
3,4,0.32
|
||||
5,6,0.54
|
||||
|
|
5
python/plugins/processing/tests/testdata/expected/grass7/r.category.out.txt
vendored
Normal file
5
python/plugins/processing/tests/testdata/expected/grass7/r.category.out.txt
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
35
python/plugins/processing/tests/testdata/expected/grass7/r.coin.txt
vendored
Normal file
35
python/plugins/processing/tests/testdata/expected/grass7/r.coin.txt
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
+------------------------------------------------------------------------------+
|
||||
| COINCIDENCE TABULATION REPORT |
|
||||
|------------------------------------------------------------------------------|
|
||||
| Location: temp_location Mapset: PERMANENT Date: Sun Jun 26 11:43:50 |
|
||||
| |
|
||||
| Layer 1: tmp146693422996-- |
|
||||
| Layer 2: tmp146693422996-- |
|
||||
| Mask: Aucun |
|
||||
| |
|
||||
| Units: percent cover |
|
||||
|------------------------------------------------------------------------------|
|
||||
| Window: North: 6693700 |
|
||||
| West: 344500 East: 358400 |
|
||||
| South: 6682800 |
|
||||
+------------------------------------------------------------------------------+
|
||||
|
||||
Panel #1 of 1
|
||||
+--------------------------------------------------------------------------------+ +-----------------------+
|
||||
| | tmp14669342299627 | Panel Row Total | | Table Row Total |
|
||||
| cat# | 1 | 2 | 3 | 4 | w cat 0 | w/o cat 0 | | w cat 0 | w/o cat 0 |
|
||||
|--------------------------------------------------------------------------------| |-----------------------|
|
||||
|t 1 | 0.29 | 1.55 | 5.10 | 6.14 | 13.08 | 13.08 | | 13.08 | 13.08 |
|
||||
|m 2 | 0.12 | 0.69 | 2.36 | 2.81 | 5.98 | 5.98 | | 5.98 | 5.98 |
|
||||
|p 3 | 0.28 | 1.39 | 5.50 | 6.59 | 13.75 | 13.75 | | 13.75 | 13.75 |
|
||||
|1 4 | 0.36 | 2.20 | 8.22 | 8.86 | 19.64 | 19.64 | | 19.64 | 19.64 |
|
||||
|4 5 | 0.30 | 1.35 | 5.04 | 6.14 | 12.83 | 12.83 | | 12.83 | 12.83 |
|
||||
|6 6 | 0.61 | 3.89 | 12.91 | 15.31 | 32.73 | 32.73 | | 32.73 | 32.73 |
|
||||
|--------------------------------------------------------------------------------| |-----------------------|
|
||||
|Total | | | | | | | | | |
|
||||
|with 0 | 1.96 | 11.08 | 39.13 | 45.85 | 98.02 | 98.02 | | 98.02 | 98.02 |
|
||||
|--------------------------------------------------------------------------------| |-----------------------|
|
||||
|w/o 0 | 1.96 | 11.08 | 39.13 | 45.85 | 98.02 | 98.02 | | 98.02 | 98.02 |
|
||||
+--------------------------------------------------------------------------------+ +-----------------------+
|
||||
|
4
python/plugins/processing/tests/testdata/expected/grass7/r.colors.out.txt
vendored
Normal file
4
python/plugins/processing/tests/testdata/expected/grass7/r.colors.out.txt
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
-303 0:0:0
|
||||
14847 255:255:255
|
||||
nv 255:255:255
|
||||
default 255:255:255
|
4
python/plugins/processing/tests/testdata/expected/grass7/r.covar.txt
vendored
Normal file
4
python/plugins/processing/tests/testdata/expected/grass7/r.covar.txt
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
N = 14743
|
||||
3.032568 0.048485 -0.000132
|
||||
0.048485 2.232202 -0.013692
|
||||
-0.000132 -0.013692 0.561513
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.describe.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.describe.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
0 1-6
|
4
python/plugins/processing/tests/testdata/expected/grass7/r.distance.txt
vendored
Normal file
4
python/plugins/processing/tests/testdata/expected/grass7/r.distance.txt
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
1:1:0:344550:6693650:344550:6693650
|
||||
2:1:100:355550:6693650:355550:6693550
|
||||
3:1:100:352750:6693650:352650:6693650
|
||||
4:1:100:344650:6693650:344550:6693650
|
29
python/plugins/processing/tests/testdata/expected/grass7/r.info.txt
vendored
Normal file
29
python/plugins/processing/tests/testdata/expected/grass7/r.info.txt
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
+----------------------------------------------------------------------------+
|
||||
| Map: tmp14669386814521 Date: Sun Jun 26 12:58:01 2016 |
|
||||
| Mapset: PERMANENT Login of Creator: medspx |
|
||||
| Location: temp_location |
|
||||
| DataBase: /tmp/processingd1287b3c04994d8a8ed29b67a67c13bb/grassdata |
|
||||
| Title: ( tmp14669386814521 ) |
|
||||
| Timestamp: none |
|
||||
|----------------------------------------------------------------------------|
|
||||
| |
|
||||
| Type of Map: raster Number of Categories: 0 |
|
||||
| Data Type: FCELL |
|
||||
| Rows: 109 |
|
||||
| Columns: 139 |
|
||||
| Total Cells: 15151 |
|
||||
| Projection: unnamed |
|
||||
| N: 6693700 S: 6682800 Res: 100 |
|
||||
| E: 358400 W: 344500 Res: 100 |
|
||||
| Range of data: min = -303 max = 14847 |
|
||||
| |
|
||||
| Data Description: |
|
||||
| gnr par r.external |
|
||||
| |
|
||||
| Comments: |
|
||||
| r.external --overwrite -o input="/home/medspx/projects/QGIS/code/pyt\ |
|
||||
| hon/plugins/processing/tests/testdata/custom/grass7/float_raster.tif\ |
|
||||
| " output="tmp14669386814521" band=1 |
|
||||
| |
|
||||
+----------------------------------------------------------------------------+
|
||||
|
59
python/plugins/processing/tests/testdata/expected/grass7/r.kappa.txt
vendored
Normal file
59
python/plugins/processing/tests/testdata/expected/grass7/r.kappa.txt
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
ACCURACY ASSESSMENT
|
||||
LOCATION: temp_location Sun Jun 26 12:49:27 2016
|
||||
MASK: none
|
||||
MAPS: MAP1 = (untitled) (tmp14669381667410 in PERMANENT)
|
||||
MAP2 = (untitled) (tmp1466938166749 in PERMANENT)
|
||||
|
||||
Error Matrix
|
||||
Panel #1 of 2
|
||||
MAP1
|
||||
cat# 1 2 3 4 5
|
||||
M 1 44 18 42 55 45
|
||||
A 2 0 0 0 0 0
|
||||
P 3 0 0 0 0 0
|
||||
2 4 0 0 0 0 0
|
||||
5 0 0 0 0 0
|
||||
6 0 0 0 0 0
|
||||
Col Sum 44 18 42 55 45
|
||||
|
||||
Panel #2 of 2
|
||||
MAP1
|
||||
cat# 6 Row Sum
|
||||
M 1 93 297
|
||||
A 2 0 0
|
||||
P 3 0 0
|
||||
2 4 0 0
|
||||
5 0 0
|
||||
6 0 0
|
||||
Col Sum 93 297
|
||||
|
||||
|
||||
Cats % Commission % Ommission Estimated Kappa
|
||||
1 85.185185 0.000000 0.000000
|
||||
2 NA NA NA
|
||||
3 NA NA NA
|
||||
4 NA NA NA
|
||||
5 NA NA NA
|
||||
6 NA NA NA
|
||||
|
||||
Kappa Kappa Variance
|
||||
0.000000 0.005729
|
||||
|
||||
Obs Correct Total Obs % Observed Correct
|
||||
44 297 14.814815
|
||||
|
||||
MAP1 Category Description
|
||||
1: (no description)
|
||||
2: (no description)
|
||||
3: (no description)
|
||||
4: (no description)
|
||||
5: (no description)
|
||||
6: (no description)
|
||||
|
||||
MAP2 Category Description
|
||||
1: (no description)
|
||||
2: (no description)
|
||||
3: (no description)
|
||||
4: (no description)
|
||||
5: (no description)
|
||||
6: (no description)
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.cwed.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.cwed.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|1484.18
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.dominance.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.dominance.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|0.121643391969718
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.edgedensity.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.edgedensity.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|24.86
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.mpa.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.mpa.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|4.13433333333333
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.mps.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.mps.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|1.6642627316099
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.padcv.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.padcv.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|102.492806034809
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.padrange.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.padrange.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|36
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.padsd.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.padsd.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|1.70574957341855
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.patchdensity.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.patchdensity.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|60.0866666666667
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.patchnum.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.patchnum.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|9013
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.pielou.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.pielou.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|0.932109530291962
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.renyi.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.renyi.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|1.47108219688802
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.richness.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.richness.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|6
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.shannon.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.shannon.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|1.67011607725834
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.shape.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.shape.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|97.1875880278272
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.simpson.ascii.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.li.simpson.ascii.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
RESULT 1|0.790194657777778
|
30
python/plugins/processing/tests/testdata/expected/grass7/r.stats.quantile.txt
vendored
Normal file
30
python/plugins/processing/tests/testdata/expected/grass7/r.stats.quantile.txt
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
1:0:16.666667:30.166667
|
||||
1:1:33.333333:363.333333
|
||||
1:2:50.000000:696.500000
|
||||
1:3:66.666667:1029.666667
|
||||
1:4:83.333333:1362.833333
|
||||
2:0:16.666667:1899.666667
|
||||
2:1:33.333333:2002.666667
|
||||
2:2:50.000000:2156.000000
|
||||
2:3:66.666667:2309.333333
|
||||
2:4:83.333333:2462.666667
|
||||
3:0:16.666667:2967.666667
|
||||
3:1:33.333333:3319.333333
|
||||
3:2:50.000000:3671.000000
|
||||
3:3:66.666667:4022.666667
|
||||
3:4:83.333333:4374.333333
|
||||
4:0:16.666667:5561.000000
|
||||
4:1:33.333333:5729.333333
|
||||
4:2:50.000000:6231.000000
|
||||
4:3:66.666667:6732.666667
|
||||
4:4:83.333333:7234.333333
|
||||
5:0:16.666667:8062.666667
|
||||
5:1:33.333333:8389.333333
|
||||
5:2:50.000000:8716.000000
|
||||
5:3:66.666667:9042.666667
|
||||
5:4:83.333333:9369.333333
|
||||
6:0:16.666667:10529.500000
|
||||
6:1:33.333333:11363.000000
|
||||
6:2:50.000000:12613.000000
|
||||
6:3:66.666667:13030.000000
|
||||
6:4:83.333333:6931.500000
|
188
python/plugins/processing/tests/testdata/expected/grass7/r.stats.txt
vendored
Normal file
188
python/plugins/processing/tests/testdata/expected/grass7/r.stats.txt
vendored
Normal file
@ -0,0 +1,188 @@
|
||||
1 1 1 10
|
||||
1 1 2 48
|
||||
1 1 3 170
|
||||
1 1 4 197
|
||||
1 1 * 2
|
||||
1 2 1 1
|
||||
1 2 2 15
|
||||
1 2 3 56
|
||||
1 2 4 47
|
||||
1 2 * 1
|
||||
1 3 1 8
|
||||
1 3 2 28
|
||||
1 3 3 93
|
||||
1 3 4 139
|
||||
1 3 * 4
|
||||
1 4 1 12
|
||||
1 4 2 57
|
||||
1 4 3 208
|
||||
1 4 4 256
|
||||
1 4 * 6
|
||||
1 5 1 13
|
||||
1 5 2 86
|
||||
1 5 3 239
|
||||
1 5 4 285
|
||||
1 5 * 4
|
||||
1 * 2 1
|
||||
1 * 3 6
|
||||
1 * 4 7
|
||||
2 1 1 5
|
||||
2 1 2 30
|
||||
2 1 3 64
|
||||
2 1 4 83
|
||||
2 1 * 2
|
||||
2 2 2 7
|
||||
2 2 3 26
|
||||
2 2 4 23
|
||||
2 2 * 3
|
||||
2 3 1 3
|
||||
2 3 2 11
|
||||
2 3 3 45
|
||||
2 3 4 64
|
||||
2 3 * 1
|
||||
2 4 1 1
|
||||
2 4 2 17
|
||||
2 4 3 104
|
||||
2 4 4 118
|
||||
2 4 * 4
|
||||
2 5 1 9
|
||||
2 5 2 39
|
||||
2 5 3 117
|
||||
2 5 4 132
|
||||
2 5 * 4
|
||||
2 * 2 1
|
||||
2 * 3 2
|
||||
2 * 4 5
|
||||
3 1 1 5
|
||||
3 1 2 43
|
||||
3 1 3 167
|
||||
3 1 4 184
|
||||
3 1 * 3
|
||||
3 2 1 2
|
||||
3 2 2 13
|
||||
3 2 3 55
|
||||
3 2 4 77
|
||||
3 2 * 2
|
||||
3 3 1 9
|
||||
3 3 2 25
|
||||
3 3 3 105
|
||||
3 3 4 145
|
||||
3 3 * 2
|
||||
3 4 1 16
|
||||
3 4 2 62
|
||||
3 4 3 231
|
||||
3 4 4 259
|
||||
3 4 * 3
|
||||
3 5 1 9
|
||||
3 5 2 67
|
||||
3 5 3 270
|
||||
3 5 4 327
|
||||
3 5 * 16
|
||||
3 * 1 1
|
||||
3 * 2 1
|
||||
3 * 3 5
|
||||
3 * 4 6
|
||||
4 1 1 8
|
||||
4 1 2 69
|
||||
4 1 3 254
|
||||
4 1 4 288
|
||||
4 1 * 11
|
||||
4 2 1 5
|
||||
4 2 2 15
|
||||
4 2 3 67
|
||||
4 2 4 82
|
||||
4 2 * 3
|
||||
4 3 1 9
|
||||
4 3 2 48
|
||||
4 3 3 181
|
||||
4 3 4 182
|
||||
4 3 * 3
|
||||
4 4 1 16
|
||||
4 4 2 88
|
||||
4 4 3 334
|
||||
4 4 4 338
|
||||
4 4 * 9
|
||||
4 5 1 17
|
||||
4 5 2 112
|
||||
4 5 3 405
|
||||
4 5 4 445
|
||||
4 5 * 8
|
||||
4 * 2 1
|
||||
4 * 3 5
|
||||
4 * 4 7
|
||||
5 1 1 5
|
||||
5 1 2 36
|
||||
5 1 3 143
|
||||
5 1 4 178
|
||||
5 1 * 4
|
||||
5 2 2 14
|
||||
5 2 3 52
|
||||
5 2 4 53
|
||||
5 2 * 2
|
||||
5 3 1 7
|
||||
5 3 2 35
|
||||
5 3 3 116
|
||||
5 3 4 136
|
||||
5 3 * 1
|
||||
5 4 1 11
|
||||
5 4 2 50
|
||||
5 4 3 198
|
||||
5 4 4 235
|
||||
5 4 * 5
|
||||
5 5 1 20
|
||||
5 5 2 69
|
||||
5 5 3 248
|
||||
5 5 4 318
|
||||
5 5 * 4
|
||||
5 * 1 2
|
||||
5 * 2 1
|
||||
5 * 3 6
|
||||
5 * 4 11
|
||||
6 1 1 10
|
||||
6 1 2 100
|
||||
6 1 3 381
|
||||
6 1 4 462
|
||||
6 1 * 8
|
||||
6 2 1 9
|
||||
6 2 2 33
|
||||
6 2 3 108
|
||||
6 2 4 143
|
||||
6 2 * 2
|
||||
6 3 1 15
|
||||
6 3 2 87
|
||||
6 3 3 273
|
||||
6 3 4 307
|
||||
6 3 * 8
|
||||
6 4 1 22
|
||||
6 4 2 166
|
||||
6 4 3 532
|
||||
6 4 4 604
|
||||
6 4 * 10
|
||||
6 5 1 37
|
||||
6 5 2 198
|
||||
6 5 3 648
|
||||
6 5 4 784
|
||||
6 5 * 14
|
||||
6 * 2 6
|
||||
6 * 3 14
|
||||
6 * 4 20
|
||||
* 1 2 4
|
||||
* 1 3 16
|
||||
* 1 4 9
|
||||
* 2 1 1
|
||||
* 2 2 2
|
||||
* 2 4 2
|
||||
* 3 2 2
|
||||
* 3 3 7
|
||||
* 3 4 10
|
||||
* 3 * 1
|
||||
* 4 1 2
|
||||
* 4 2 4
|
||||
* 4 3 19
|
||||
* 4 4 12
|
||||
* 4 * 1
|
||||
* 5 2 9
|
||||
* 5 3 29
|
||||
* 5 4 18
|
||||
* * 3 1
|
||||
* * 4 2
|
6
python/plugins/processing/tests/testdata/expected/grass7/r.surf.area.txt
vendored
Normal file
6
python/plugins/processing/tests/testdata/expected/grass7/r.surf.area.txt
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
Null value area ignored in calculation: 1510000.000000
|
||||
Plan area used in calculation: 149040000.000000
|
||||
Surface area calculation(low, high, avg):
|
||||
143171894.810657 143200607.945173 143186251.377915
|
||||
Current region plan area: 151510000.000000
|
||||
Estimated region Surface Area: 145559238.769913
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.terraflow.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.terraflow.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode.
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.tileset.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.tileset.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
-1.36308465|-5.98385631|-1.36301901|-5.98379059|2|2
|
30
python/plugins/processing/tests/testdata/expected/grass7/r.topomodel.topidxstats.txt
vendored
Normal file
30
python/plugins/processing/tests/testdata/expected/grass7/r.topomodel.topidxstats.txt
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
1.485e+04 0.000e+00
|
||||
1.432e+04 3.452e-02
|
||||
1.380e+04 3.445e-02
|
||||
1.328e+04 3.452e-02
|
||||
1.276e+04 3.445e-02
|
||||
1.223e+04 3.452e-02
|
||||
1.171e+04 3.445e-02
|
||||
1.119e+04 3.445e-02
|
||||
1.067e+04 3.452e-02
|
||||
1.015e+04 3.445e-02
|
||||
9.623e+03 3.452e-02
|
||||
9.100e+03 3.445e-02
|
||||
8.578e+03 3.445e-02
|
||||
8.056e+03 3.452e-02
|
||||
7.533e+03 3.445e-02
|
||||
7.011e+03 3.452e-02
|
||||
6.488e+03 3.445e-02
|
||||
5.966e+03 3.452e-02
|
||||
5.444e+03 3.445e-02
|
||||
4.921e+03 3.445e-02
|
||||
4.399e+03 3.452e-02
|
||||
3.876e+03 3.445e-02
|
||||
3.354e+03 3.452e-02
|
||||
2.831e+03 3.445e-02
|
||||
2.309e+03 3.445e-02
|
||||
1.787e+03 3.452e-02
|
||||
1.264e+03 3.445e-02
|
||||
7.418e+02 3.452e-02
|
||||
2.194e+02 3.445e-02
|
||||
-3.030e+02 3.452e-02
|
10
python/plugins/processing/tests/testdata/expected/grass7/r.transect.txt
vendored
Normal file
10
python/plugins/processing/tests/testdata/expected/grass7/r.transect.txt
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
0.000000 11058.000000
|
||||
100.000000 684.000000
|
||||
200.000000 10791.000000
|
||||
300.000000 328.000000
|
||||
400.000000 13292.000000
|
||||
500.000000 459.000000
|
||||
600.000000 5546.000000
|
||||
700.000000 12769.000000
|
||||
800.000000 -160.000000
|
||||
900.000000 9926.000000
|
2
python/plugins/processing/tests/testdata/expected/grass7/r.univar.txt
vendored
Normal file
2
python/plugins/processing/tests/testdata/expected/grass7/r.univar.txt
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
non_null_cells|null_cells|min|max|range|mean|mean_of_abs|stddev|variance|coeff_var|sum|sum_abs
|
||||
30040|262|1|6|5|3.80246338215712|3.80246338215712|1.65577930801025|2.7416051168349|43.5449113272179|114226|114226
|
2
python/plugins/processing/tests/testdata/expected/grass7/r.what.colors.txt
vendored
Normal file
2
python/plugins/processing/tests/testdata/expected/grass7/r.what.colors.txt
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
14011: 255:0:71
|
||||
6055: 0:230:255
|
1
python/plugins/processing/tests/testdata/expected/grass7/r.what.coords.txt
vendored
Normal file
1
python/plugins/processing/tests/testdata/expected/grass7/r.what.coords.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
348371|6688828||2
|
3
python/plugins/processing/tests/testdata/expected/grass7/r.what.points.txt
vendored
Normal file
3
python/plugins/processing/tests/testdata/expected/grass7/r.what.points.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
348815.70143898|6687991.90993828||3
|
||||
354369.087594644|6689166.66470198||2
|
||||
349100.490472604|6692050.15366742||3
|
1761
python/plugins/processing/tests/testdata/grass7_algorithms_raster_tests.yaml
vendored
Normal file
1761
python/plugins/processing/tests/testdata/grass7_algorithms_raster_tests.yaml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user