Skip to content

How to resample a map using the statistical mode of class to fill the new pixel

7 messages · Isaque Daniel, Bacou, Melanie, Philippi, Tom

#
Hi dear all,


I need to resample a tree cover map create by Landsat imagery to the MODIS 250 meters.

If I use the resample function of raster package, it will compute the value based on bilinear or ngb, in this condition the new class map will not answer my expectations.


I loking for a way of resample using the statistical mode to define the value of the pixel of the new map.


Some tip about this?

Thanks
Isaque



------------------------------------------------------------------------------------------------------------------
Agronomist engineer
Master in Remote Sensing - National  Institute for Space Research (INPE) - Brazil
PHD Student in Transport - Bras?lia University (UNB)
#
Isaque, check this thread on StackExchange:
http://gis.stackexchange.com/questions/177423/r-aggregate-raster-with-mode-function-how-does-it-work

--Mel.
On 8/26/2016 10:07 PM, Isaque Daniel wrote:

  
  
#
Mel's answer is complete if you are aggregating to an integer multiple of
grid cells: if your tree cover was 5, 10, 25, 50, 125, etc., m pixels.  If
you are unlucky enough to have your tree cover in 15 or 30m pixels, you may
need to disaggregate to greatest common factor (5 or 10m) cells first, then
aggregate up to 250m MODIS.  With mode on categorical data, that should
still give you your expected results; with continuous raster values and
other functions, it might not be appropriate.

Tom 2
On Fri, Aug 26, 2016 at 7:28 PM, Bacou, Melanie <mel at mbacou.com> wrote:

            

  
  
#
Hi Mel!!
Thanks for the contribution, but my problem is to do that using the reference grid a MODIS image to compute value of new image using the Modal function.

The perfectly solution would be a resample raster function with the mode or modal of values can be used.

Best
Isaque


------------------------------------------------------------------------------------------------------------------
Eng. Agr. Isaque Daniel Rocha Eberhardt
Mestre em Sensoriamento Remoto - Instituto Nacional de Pesquisas Espaciais (INPE)
Doutorando em Transportes - Universidade de Bras??lia (UNB)
Mobile: +55 (061) 99015658
------------------------------------------------------------------------------------------------------------------
Agronomist engineer
Master in Remote Sensing - National  Institute for Space Research (INPE) - Brazil
PHD Student in Transport - Bras??lia University (UNB)
#
Exactly Tom 2!!

I'll try your sugestion, but I need to fit the new tree cover map (in 250 meters) with the Modis raster positions.

Best
Isaque


------------------------------------------------------------------------------------------------------------------
Eng. Agr. Isaque Daniel Rocha Eberhardt
Mestre em Sensoriamento Remoto - Instituto Nacional de Pesquisas Espaciais (INPE)
Doutorando em Transportes - Universidade de Bras??lia (UNB)
Mobile: +55 (061) 99015658
------------------------------------------------------------------------------------------------------------------
Agronomist engineer
Master in Remote Sensing - National  Institute for Space Research (INPE) - Brazil
PHD Student in Transport - Bras??lia University (UNB)
1 day later
#
Isaque,
If your LandScan raster is at 30m resolution, then best might be to 
`aggregate()` to as close as 250m (e.g. using `fact=8` or `fact=9` and 
`fun=modal`), and then use `projectRaster()`:

projectRaster(from, to, method="bilinear")

Others might have better ideas.
--Mel.
On 8/26/2016 10:43 PM, Tom Philippi wrote:

  
  
#
Sorry I meant reproject using nearest neighbor:

projectRaster(from, to, method="ngb")
On 8/28/2016 2:37 AM, Bacou, Melanie wrote: