Select to view content in your preferred language

Filling in raster holes

10783
4
04-12-2013 11:22 AM
StefaniGermanotta
Occasional Contributor
Attached is a jpg file demonstrating our raster data. There are several holes (NoData or white cells) in the data that need to be repaired. The large white area in the upper right hand corner is supposed to be no data but all the rest needs to be filled in to its nearest neighbor. I realize that I will probably have to manually do the larger holes, but perhaps there is a way to fill in the smaller (read single) cells through automation. I looked at some of the generalization tools but I really only want to fill in the holes, not change the data that have non no data values already.

Anyone have some suggestions as to how to approach this? There are so many ArcGIS tools out there, I don't want to miss the ones that I don't know about.

Many thanks.

ArcGIS 10.1 Advanced with Spatial Analyst license
0 Kudos
4 Replies
RobertBorchert
Honored Contributor
Is that a single raster or multiple raster datasets tiled together.

If it is multiple try this.

In your MXD open the layer properties for the first raster.

Click on the symbology tab

Whether you are using Stretched or RDB Composite there is a choice for Display Background Value.

Check that box then instead of filling in a value click the as drop down box to the right and choose No Color as your background.

What it may be is the edges of the individual raster datasets.  Essentially you make the edges transparent.

Very common with multiple SIDS.

The only way to REPAIR it that I can think of is to open the raster in an image editor and manually color it in.  Try that on a copy first in case something happens to the coordinates.

Attached is a jpg file demonstrating our raster data. There are several holes (NoData or white cells) in the data that need to be repaired. The large white area in the upper right hand corner is supposed to be no data but all the rest needs to be filled in to its nearest neighbor. I realize that I will probably have to manually do the larger holes, but perhaps there is a way to fill in the smaller (read single) cells through automation. I looked at some of the generalization tools but I really only want to fill in the holes, not change the data that have non no data values already.

Anyone have some suggestions as to how to approach this? There are so many ArcGIS tools out there, I don't want to miss the ones that I don't know about.

Many thanks.

ArcGIS 10.1 Advanced with Spatial Analyst license
0 Kudos
PrasantaBhattarai
Esri Contributor

Anyone have some suggestions as to how to approach this? There are so many ArcGIS tools out there, I don't want to miss the ones that I don't know about.


Hello,

I would explore the tools in Generalization Toolset under Spatial Analyst.

Regards,
Prasanta.
0 Kudos
Luke_Pinner
MVP Regular Contributor
You can fill in the gaps with the nearest values using the Nibble (Spatial Analyst) tool.

Step 1, create an input for Nibble. Nibble doesn�??t fill NoData, so the input raster needs to have (a) original values to use as the fill value, and b) a valid value (e.g. 0), in areas to be filled.  You could use the following raster calculator statement to generate an input:
Con(IsNull("your_raster"),0,"your_raster")

Step 2, create a Nibble mask. This identifies the areas to be filled (NoData). (You should just be able to use your original raster as the mask)

Step 3, run the Nibble tool. Something like the following raster calculator statement:
Nibble("nibble_input", "nibble_mask", "DATA_ONLY")

Some examples from my own data (black = NoData) below. My steps were a little more complicated as I had to mask the white areas from being filled or being used to fill.
0 Kudos
MarkBoucher
Honored Contributor
You may find this thread has a solution.
http://forums.arcgis.com/threads/78067-how-can-I-eliminate-quot-island-quot-raster-cells-from-a-laye...

You'd need to do something to make the northeast area remain no-data.
0 Kudos