Merge pull request #36731 from alexbruy/relief-results

check return value from the QgsRelief and notify user about errors (fix #17452)
This commit is contained in:
Alexander Bruy 2020-05-26 15:02:16 +03:00 committed by GitHub
commit 2a2fe1e095
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -156,6 +156,20 @@ class Relief(QgisAlgorithm):
relief.setZFactor(zFactor)
if frequencyDistribution:
relief.exportFrequencyDistributionToCsv(frequencyDistribution)
relief.processRaster(feedback)
res = relief.processRaster(feedback)
if res == 1:
raise QgsProcessingException(self.tr('Can not open input file.'))
elif res == 2:
raise QgsProcessingException(self.tr('Can not get GDAL driver for output file.'))
elif res == 3:
raise QgsProcessingException(self.tr('Can not create output file.'))
elif res == 4:
raise QgsProcessingException(self.tr('Can not get input band.'))
elif res == 5:
raise QgsProcessingException(self.tr('Can not create output bands.'))
elif res == 6:
raise QgsProcessingException(self.tr('Output raster size is too small (at least 3 rows needed).'))
elif res == 7:
feedback.pushInfo(self.tr('Cancelled.'))
return {self.OUTPUT: outputFile, self.FREQUENCY_DISTRIBUTION: frequencyDistribution}