Arcgis How To Remove Nodata From Landsat Using Raster Calculator

ArcGIS Raster Calculator Workflow

ArcGIS how to remove NoData from Landsat using Raster Calculator

Use this interactive calculator to estimate valid data coverage, choose the best replacement strategy, and generate a ready-to-adapt Raster Calculator expression for Landsat scenes with NoData areas.

Results

Enter your Landsat raster details and click Calculate to estimate valid coverage and generate a Raster Calculator expression.

How to remove NoData from Landsat in ArcGIS using Raster Calculator

If you are working with Landsat imagery in ArcGIS Pro or ArcMap, one of the most common cleanup tasks is dealing with NoData cells. These cells often appear around scene edges, in masked cloud regions, after clipping a raster to an area of interest, or when different rasters are mosaicked together. The problem is not that NoData is inherently bad. In many workflows, NoData is exactly what you want, because it preserves the distinction between unknown values and real measured values. The issue appears when NoData interferes with downstream analysis, map algebra, visualization, statistics, or export to software that handles missing values poorly.

The safest way to think about this workflow is not simply “remove NoData,” but rather “replace NoData intentionally.” In ArcGIS, Raster Calculator gives you flexible map algebra tools to do that. In a Landsat context, the most typical expressions use Con, IsNull, or SetNull to identify empty cells and assign a new value. The right choice depends on your objective. If you are preparing a raster for display, replacing NoData with 0 may be acceptable. If you are preserving scientific meaning, replacing NoData with 0 can be risky because 0 may represent a valid reflectance, scaled value, temperature, or index output in some datasets.

Best practice: before replacing NoData in Landsat, confirm the pixel value scale, sensor product type, and whether 0 is already a valid value in your dataset.

What NoData means in Landsat workflows

Landsat scenes distributed by the U.S. Geological Survey are highly standardized, but NoData still enters the workflow in multiple ways. You may see it because the raster was clipped by a county boundary, because cloud and shadow masks were applied, because reprojection created empty cells at the edges, or because a multi-band calculation inherited missing cells from one or more inputs. In ArcGIS, NoData is not the same as zero. It means the cell has no valid value and should generally be ignored in calculations unless you deliberately replace it.

For Landsat 8 and Landsat 9, many reflective bands are delivered at 30 meter spatial resolution, the panchromatic band at 15 meters, and thermal bands are commonly processed at 100 meters then resampled in some products. These resolution differences matter because replacing NoData in one raster may affect alignment, area calculations, and statistics differently depending on the band and product you are using.

Characteristic Landsat 8/9 OLI-TIRS Why it matters when removing NoData
Reflective band resolution 30 m Each pixel covers 900 square meters, so even small NoData counts can represent meaningful area loss.
Panchromatic resolution 15 m NoData gaps appear more detailed and may not match 30 m masks one-to-one.
Thermal native resolution 100 m Replacing NoData in thermal products can alter coarser-resolution statistics and should be documented carefully.
Swath width 185 km Edge-related NoData is common after clipping to local project extents.
Revisit interval 16 days per satellite Temporal compositing often introduces masks and NoData regions that must be handled consistently.

The values above align with widely cited USGS Landsat mission specifications. Those numbers are not just trivia. They help you quantify the effect of NoData replacement. For example, 10,000 NoData pixels in a 30 meter raster represent 9,000,000 square meters, or 9 square kilometers of missing coverage. That is often large enough to change zonal statistics, classification training data, and vegetation index summaries.

The most useful Raster Calculator expressions

1. Con with IsNull for direct replacement

This is the expression most GIS analysts use first:

Con(IsNull(“Landsat_Band4”), 0, “Landsat_Band4”)

It reads as: if a cell is null, assign 0; otherwise keep the original value. This is clear, readable, and works well for display-oriented workflows or for preparing an intermediate raster for a model that cannot tolerate NoData values.

2. Con using a different fill value

If 0 is already meaningful in your raster, use a fill value that is clearly artificial and documented:

Con(IsNull(“Landsat_Band4”), -9999, “Landsat_Band4”)

This approach is common when exporting to software that recognizes a conventional missing-value code. However, if you do this, you must ensure downstream tools treat -9999 as missing rather than as a real number.

3. SetNull for inverse logic

SetNull is often used to create NoData rather than remove it, but it is useful in the opposite direction when building intermediate masks. Analysts sometimes pair SetNull with Con to standardize rasters before later replacement. It is not usually the first choice when your only goal is to replace existing NoData, but it can be valuable in more advanced masking chains.

4. Replace after cloud or shadow masking

Many Landsat workflows apply QA bands or cloud masks first. Once those cells become NoData, you may decide to replace them for visualization or gap accounting:

Con(IsNull(“Masked_Landsat”), 0, “Masked_Landsat”)

This is particularly useful when creating web maps or simple raster overlays where transparent NoData edges are visually distracting.

Step-by-step workflow in ArcGIS Pro

  1. Load your Landsat raster into ArcGIS Pro and verify the layer name in the Contents pane.
  2. Open the Raster Calculator tool from Spatial Analyst.
  3. Confirm whether your raster already uses a specific NoData code or true null cells.
  4. Choose a replacement value only after checking if that value is valid in the dataset.
  5. Enter a map algebra expression such as Con(IsNull(“Landsat_Band4”), 0, “Landsat_Band4”).
  6. Set the output raster location and a meaningful filename such as Band4_NoDataToZero.
  7. Run the tool and inspect the output histogram, raster statistics, and display range.
  8. If the raster will be used analytically, document the replacement in metadata or project notes.

When you should not replace NoData with zero

This is where many otherwise strong GIS workflows go wrong. In spectral imagery, 0 may be a valid value after scaling or an edge-case value after atmospheric correction. In derived rasters such as NDVI, replacing NoData with 0 may create the illusion of neutral vegetation response where in fact there was no observation. For thermal rasters, replacing NoData can shift means and standard deviations dramatically if those values are included in calculations.

A better rule is:

  • Use 0 when the goal is visual continuity, display preparation, or very controlled masking where zero is known to be acceptable.
  • Use a sentinel value such as -9999 when exporting to systems that cannot preserve true null values but can honor a designated missing code.
  • Keep NoData unchanged when statistical validity matters and the consuming tool can handle null cells correctly.

Area impact of NoData in a typical Landsat scene

Because Landsat reflective bands are typically 30 meter pixels, the area represented by NoData is easy to estimate. One pixel covers 900 square meters. That means the effect of missing cells accumulates quickly.

NoData pixels Approximate area at 30 m resolution Interpretation
1,000 900,000 m² = 0.9 km² Small local gap, but enough to affect parcel or wetland analysis.
10,000 9,000,000 m² = 9 km² Substantial missing area in a municipal or watershed study.
100,000 90,000,000 m² = 90 km² Major omission likely to distort landscape-scale statistics.
1,000,000 900,000,000 m² = 900 km² Very large missing extent, often scene-edge or severe masking issue.

These calculations explain why a casual NoData replacement can become a serious analytical decision. If your study area is small, even a few thousand null pixels may dominate one class or one administrative unit. If your project spans many dates, inconsistent NoData handling can introduce false trends over time.

Common ArcGIS mistakes and how to avoid them

Using the wrong layer name

Raster Calculator expressions are sensitive to the exact raster layer name. If your layer is named Landsat_B4_Clip in the map, using Landsat_Band4 will fail. Always copy the layer name directly from the tool interface or layer list.

Confusing 0 with NoData

This is the biggest conceptual mistake. A pixel with value 0 is still a pixel with data. A NoData cell has no value. Treating them as identical can bias classification, averaging, and thresholding.

Forgetting to recalculate statistics

After replacing NoData, ArcGIS may need updated statistics for correct display and analysis. If the output looks wrong, calculate statistics on the new raster.

Applying a fill value across incompatible bands

Do not assume the same replacement choice is appropriate for reflective, thermal, QA, and derived index rasters. The semantic meaning of values differs by product type.

Recommended decision framework

  1. Identify why NoData exists: clip boundary, cloud mask, reprojection, mosaic seam, or sensor gap.
  2. Determine whether your next step is display, analysis, export, or model ingestion.
  3. Check if 0 is already valid in the raster value domain.
  4. Select a replacement strategy: keep nulls, replace with 0, or replace with a sentinel code.
  5. Apply the Raster Calculator expression and save the output as a new raster.
  6. Inspect histograms, summary statistics, and map appearance.
  7. Document the change so future users know the raster no longer contains original NoData behavior.

ArcGIS Pro expression examples you can adapt

  • Replace NoData with zero: Con(IsNull(“Landsat_Band4”), 0, “Landsat_Band4”)
  • Replace NoData with -9999: Con(IsNull(“Landsat_Band4”), -9999, “Landsat_Band4”)
  • Keep only valid cells and assign a constant: Con(IsNull(“Landsat_Band4”), 0, 1)
  • Mask one raster with another: Con(IsNull(“CloudMask”), 0, “Landsat_Band4”)

Authoritative references

For official Landsat specifications, ArcGIS raster concepts, and remote sensing training material, review these sources:

Final takeaway

If you are asking how to remove NoData from Landsat using Raster Calculator in ArcGIS, the technical answer is straightforward: use a conditional expression such as Con(IsNull(“YourRaster”), replacement_value, “YourRaster”). The professional answer is more nuanced. You should replace NoData only when the replacement makes analytical sense, is documented, and aligns with the next use of the raster. In cartographic outputs, replacing NoData with zero may be harmless. In quantitative environmental analysis, it may be a major methodological decision.

The calculator above helps you quantify the effect by estimating valid coverage, NoData percentage, and missing area. Use that information to decide whether you truly want to remove NoData, or whether you instead need a better mask, a cleaner mosaic, or a workflow that preserves null values through analysis.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top