I've got a 30 m classification image and i'd like to convert it to 500 m resolution using a user-defined threshold value.

Basically what i'd like to accomplish is similar to using the Resample tool in ArcGIS based on a Majority filter, with the difference being i'd like to define the majority filter myself so that only when the total area of a particular class in a moving window exceeds 80% of the area of the moving window will that class be used to represent the aggregated cell.

I've tried multiple approaches but none gave me satisfactory results.

I wonder if anyone has encountered similar situation before?

  • 1
    please add more details. What software are your using? how many classes do you have?
    – radouxju
    Commented Dec 7, 2015 at 19:35
  • It's a classification image with 12 classes. The resample tool in ArcGIS doesn't suit my need because the majority filter it uses is still too liberal to me. I want to set the threshold to be something like 80% so that only the class with considerable dominance in each 500 m cell will be kept. If no class meets that criterion then that 500 m is marked as NoData. I prefer to do this in ArcGIS, but i can also write code in IDL.
    – TonyC
    Commented Dec 7, 2015 at 20:33
  • 1
    Create fishnet 500*500. Tabulate areas on original classes. Very basic field calculator expression will help to id polygons with majority >0.8 of polygon area and locate this value between 12 candidates
    – FelixIP
    Commented Dec 7, 2015 at 22:14
  • Thanks! I think this is the way to go. But for some reason i kept getting ERROR 010419: Unable to build the attribute table as required by the operation. I'll continue trying to see if i can locate the issue.
    – TonyC
    Commented Dec 8, 2015 at 19:37

1 Answer 1


Ok, i've solved the problem. I'm gonna answer this question myself so that it can be closed.

I took FelixIP's suggestion and used the Tabulate Area tool in ArcGIS. At first it didn't work. After several failures, i realized one problem was related to the fact that the zone data i used were shapefiles. That was odd considering the tool documentation indicates shapefiles can be used for zone data. Anyway, it worked after i converted the shapefiles to rasters, with each pixel having a unique value.

I'd also like to note that it appears that if the raster-based zone data have too many cells, the tool would not run properly (several times it ran for hours then populated error messages in the end, most of the time ERROR 010419). Because my grids were modis tiles (500m*500m*2400*2400), in order to avoid getting error i divided each tile into 24 pieces, with each piece corresponding to 2400*100 cells. It worked out perfectly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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