[GIS] Resample, ArcGIS: How to avoid resample taking into acount NoData values

arcgis-desktopgeoprocessingrasterresamplingresolution

I am trying to Resample a raster dataset to match the resolution of another dataset. I have fine resolution data on small islands (surrounded by NoData in the sea). When I re-sample the data to a resolution that is coarser than the island size, I lose this data. I need a way to re-sample to a coarse resolution, that takes into account the data on small islands, and not the NoData which takes up the majority of the new pixel size.

Any help?

David

Best Answer

If you have a spatial analyst license you can use the Block Statistics Tool (Toolbox: Spatial Analyst Tools: Neighborhood Toolset).

If you have a 3 band raster dataset, execute the Block Statistics Tool for all 3 layers. The parameter for the Block Statistic Tool should be as follows:

  • Neighborhood type: Rectangle
  • Height/Widht should be in your case 2 deg
  • Units: Map
  • Statistics type: MEAN
  • Ignore NoData in calculations: checked

After running the tool for all 3 band, stack the 3 result raster datasets to one 3 band raster dataset using the Composite Bands Tool (Toolbox: Data Management Tools: Raster Toolset).

At last you have to run the Resmple Tool with resampling type NEAREST. Cell size must be the same as you used for the Block Statistic Tool.

With that approach you don’t lose data when you “re-sample” to a coarse resolution, since it ignores the NoData in calculation. And the cell size of the coarse Resolution dataset needn't to be n times larger than the fine Resolution dataset as required by the Aggregate tool.

The radiometry of the result raster dataset will be different to the result using the bilinear resampling, but maybe it fits your needs.