Skip to content

Commit 678a5ac

Browse files
Fixed accuracy.py vector input and file output bugs
1 parent 1137cb9 commit 678a5ac

1 file changed

Lines changed: 12 additions & 16 deletions

File tree

qgis_processing/accuracy.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
from PyQt5.QtGui import QIcon
2626
# noinspection PyUnresolvedReferences
2727
from qgis.core import (
28-
QgsProcessingParameterFolderDestination,
29-
QgsProcessingParameterNumber, QgsProcessingParameterString, QgsRasterLayer,
28+
QgsProcessingParameterFileDestination,
29+
QgsProcessingParameterNumber, QgsProcessingParameterField, QgsRasterLayer,
3030
QgsProject, QgsProcessingParameterRasterLayer,
3131
QgsProcessingParameterVectorLayer
3232
)
@@ -75,10 +75,11 @@ def initAlgorithm(self, config=None):
7575
)
7676
)
7777
self.addParameter(
78-
QgsProcessingParameterString(
78+
QgsProcessingParameterField(
7979
name=self.TEXT,
8080
description=self.translate('Vector field'),
81-
defaultValue='', multiLine=False, optional=True
81+
defaultValue='class_id',
82+
parentLayerParameterName=self.INPUT_VECTOR, optional=True
8283
)
8384
)
8485
self.addParameter(
@@ -89,9 +90,10 @@ def initAlgorithm(self, config=None):
8990
)
9091
)
9192
self.addParameter(
92-
QgsProcessingParameterFolderDestination(
93+
QgsProcessingParameterFileDestination(
9394
name=self.OUTPUT,
94-
description=self.translate('Calculation output')
95+
description=self.translate('Calculation output'),
96+
fileFilter='tif file (*.tif)'
9597
)
9698
)
9799

@@ -120,14 +122,13 @@ def processAlgorithm(self, parameters, context, feedback):
120122
reference = self.parameterAsFile(
121123
parameters, self.INPUT_RASTER_2, context
122124
)
123-
if reference is None:
125+
if reference is '':
124126
reference = self.parameterAsFile(
125127
parameters, self.INPUT_VECTOR, context
126128
)
127-
else:
128-
if rs.files_directories.is_file(reference) is False:
129-
layer_x = root.findLayer(reference)
130-
reference = layer_x.layer().source().split("|layername=")[0]
129+
if rs.files_directories.is_file(reference) is False:
130+
layer_x = root.findLayer(reference)
131+
reference = layer_x.layer().source().split("|layername=")[0]
131132
field = self.parameterAsString(parameters, self.TEXT, context)
132133
if len(field) == 0:
133134
field = None
@@ -140,11 +141,6 @@ def processAlgorithm(self, parameters, context, feedback):
140141
output_path = self.parameterAsString(
141142
parameters, self.OUTPUT, context
142143
)
143-
try:
144-
if rs.files_directories.is_directory(output_path) is False:
145-
rs.files_directories.create_directory(output_path)
146-
except Exception as err:
147-
str(err)
148144
output = rs.cross_classification(
149145
classification_path=classification, reference_path=reference,
150146
output_path=output_path, vector_field=field, nodata_value=nodata,

0 commit comments

Comments
 (0)