I am using ArcGIS 10.2.2 to make a single raster which shows the year since the last fire in an area based on the MODIS Maryland University raster layers.

I have 15 raster layers all from a different year (2000-20015). Currently each burn is classified as 1 for burnt and 0 for unburnt within each layer.

Firstly, I though I could reclassify each layer by its year (2000-2015). Then, using a tool, perhaps using raster calculator, to take the most recent fire pixel and make that into a raster with 16 cats (one for each year and for burnt areas)? Does anybody know a simple why to do this?


There is a tool called "highest position" that can do the job. Just place your layers in the good order (most recent first) because :

If two or more input rasters contain the maximum value for a particular cell location, the position of the first one is returned on the output raster.

  • I can't believe I never knew about this tool! I can think of so many situations in which this will come in handy. I only wish ESRI would allow you to set how it handles NoData. – Tom Mar 3 '16 at 15:44
  • And in case it's not clear to the OP: you could then reclassify the output raster to assign the year associated with each cell value. Alternatively, you could reclassify each of your input rasters so that the ones become the year of the raster, and then run a cell statistics maximum. radouxju's way should be quicker and simpler. – Tom Mar 3 '16 at 15:46
  • Are 0's ignored in this tool? Or should 0's be changed to no data prior to using this tool? – I.Stirs Mar 3 '16 at 16:22
  • 3
    Normally it wouldn't be a good idea to introduce NoData values: they will cause the output to have NoData in those locations. Radouxju, I think you need to prescribe the reverse order, with most recent first in the list, and that means the most recent should be at the bottom, not the top. But the idea's definitely the right one (+1). – whuber Mar 3 '16 at 17:35
  • @I.Stirs the tool gives the position of the maximum. So 0 is fine, no need to resample (and do not recode as noData otherwise the result will be noData, as mentioned by whuber – radouxju Mar 3 '16 at 18:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.