[QGIS-Developer] QGIS Script Error and Resampling Tool

Federico Gianoli alpacagis at gmail.com
Wed Jul 8 23:58:30 PDT 2020


Hi Andrea,

It seems to me that SAGA doesn't have this option to check the values
inside a kernel.
I think the only way to do this is in more steps with an huge amount of
computation time.

Basically, my steps now are:

reclassify the input raster in 1 (where my pixels have a valid value) and 0.
resampling the reclassified raster with my kernel 3x3 using the mode to
obtain a mask
resampling the input raster with my 3x3 kernel using the average
multiply the mask 0-1 with my resampled raster average

I did these steps manually and I got a result, but if I run my script I'm
obtaining the error "NameError: free variable 'self' referenced before
assignment in enclosing scope" and I don't understand why.

Really thanks

Federico

Il giorno mer 8 lug 2020 alle ore 20:06 Andrea Peri <aperi2007 at gmail.com>
ha scritto:

> Have you tried the saga -> resampling inside qgis ?
>
> A.
>
>
> Il mer 8 lug 2020, 18:50 Federico Gianoli <alpacagis at gmail.com> ha
> scritto:
>
>> Dear all,
>>
>> I'm looking for a function to resample a raster from 300m to 1km by
>> considering the mean value of pixels that are not "No Data", as GDAL Warp
>> does.
>> But, in case the majority of values within the 3x3 kernel of the 300m
>> raster are "No data", "No data" will be assigned to the resampled pixel,
>> which is not included in the above mentioned GDAL tool.
>> I tried to explain the request here:
>> https://gis.stackexchange.com/questions/366978/how-to-resample-a-raster-considering-a-minimum-number-of-valid-pixels].
>> Apparently, neither QGIS nor Gdal have the possibility to make this control
>> on the values during the resampling. Do you know if there is an automatic
>> way to do this?
>> In order to solve this problem, I have done this script
>> https://gist.github.com/fgianoli/46a45c5fe042a952580947a282feedc1 to
>> create a mask to check my results. But I'm experiencing this error at the
>> end of the process, and I don't understand if my code is wrong or is a qgis
>> setting:  (I'm running version 3.14 under Win10):
>>
>> NameError: free variable 'self' referenced before assignment in enclosing
>> scope
>> Traceback (most recent call last):
>>   File
>> "C:/OSGEO4~1/apps/qgis/./python/plugins\processing\gui\AlgorithmDialog.py",
>> line 201, in on_complete
>>     self.feedback.reportError(
>> NameError: free variable 'self' referenced before assignment in enclosing
>> scope
>>
>>
>>
>> Any suggestions?
>> Many thanks and kind regards,
>>
>> Federico
>> _______________________________________________
>> QGIS-Developer mailing list
>> QGIS-Developer at lists.osgeo.org
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20200709/4dda17b9/attachment.html>


More information about the QGIS-Developer mailing list