[R-sig-Geo] Raster package - Focal sum in circles

Francesco Tonini ftonini84 at gmail.com
Tue Jan 27 21:31:10 CET 2015


Vanessa,

You are asking something similar to the same problem I am facing. 
Currently focal() cannot "skip" the calculation for empty areas where 
focal stats does not need to be calculated. A workaround would be using 
getValuesFocal(x, ngb=ngb) and then you can skip those rows that have 
all NAs for example.

In my case getValuesFocal() did not speed up the code so I am not sure 
in your case.

Francesco




On 1/27/2015 4:55 AM, Vanessa Machault wrote:
> Thanks a lot Robert it works perfectly well.And the pixels that are NA are correctly omitted.
>
> In addition, I just would like to know if it is possible to restrict the calculation to the pixels that are not NA (kind of masking ?).Indeed, the resulting raster contains all the pixels of the extend.
> But I have a lot of empty pixels on which focal stats do not need to be calculated.This of course is for questions of calculation time...
>
> Thanks a lot in advance.RegardsVanessa.
>
>   
>
>       Le Lundi 26 janvier 2015 19h27, Robert J. Hijmans <r.hijmans at gmail.com> a écrit :
>     
>
>   Your focal weights sum to 1, such that you get the mean value when
> using 'fun=sum'
> if you want to sum, you can do
>
> fw <- focalWeight(x, 50, type='circle')
> fw[fw>0] <- 1
>
> p_focal<-focal(x, w=fw,fun=sum , na.rm=TRUE)
>
>
> Robert
>
> On Mon, Jan 26, 2015 at 3:17 AM, Vanessa Machault
> <vanessamachault at yahoo.com.br> wrote:
>> Hi,
>> I have a question regarding the package "raster" and the function "focal".
>> I have a raster with 0.5m pixels and I would like to calculate the sum of all pixels in 50m radius circles, with a moving window.I have some NA values and I need to ignore them in the calculation.
>> Then, I would create a new raster where all the pixels that are not NA would be filled with the sum value.
>> I tried with "focal" and "focal weight" but nothing comes close to the result.Example :fw <- focalWeight(x, 50, type='circle')
>> p_focal<-focal(x, w=fw,fun=sum , na.rm=TRUE)
>> I saw that several way of writing those focal stats may lead to different computation times. Here, as I need to repeat the process for a large number of rasters, computation time may be an issue.
>> I thank you very much in advance for your help.Regards,Vanessa Machault
>>
>>          [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>     
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo



More information about the R-sig-Geo mailing list