How to update an .img DEM in ArcView 9.3?

I do have DEM which need to be updated only if few parts. The area to be updated has been produced in separate DEM with Spline Interpolation with Barriers.

The area to be updated itself is S-shape, but I received larger- rectangular DEM (btw. I was hoping to receive -9999 value outside barriers, but it seems that outside area was also interpolated).

My aim is to to update only area within the polyline/barriers. How to do that?

  • Although the question is DEM specific, the challenge and solution is not. The same process can be applied to any set of raster (image) layers. Thanks for bringing it up Tomek. Jan 19 '11 at 17:17

You need to use a conditional operator. The logic is:

Result = If {new DEM has values, use them} 
         Else {use values from the original DEM}.

Alternatively, this can be expressed as

Result = If {new DEM does not have values, use original DEM}
         Else {use the new DEM}.

In ArcView the syntax varies with the version: there's one syntax for versions through 3.3, another through 9.3, and a new syntax in 10.0. (No doubt the syntax will continue to change every few years, which is why it's so important to reason about GIS in a software-independent way.) The alternative expression is simpler in ArcView. Its 9.3 syntax looks like

CON( IsNull([New DEM]), [DEM], [New DEM] )

More generally, suppose the new DEM includes some values you don't want to use, but you have another grid--representing your polygon--indicating where you want the new DEM to replace the old. Let's call this polygon grid "I". This variant would be expressed like

CON( IsNull([I]), [DEM], [New DEM] )

As you can see, the procedure is quite general: you have a "base" grid (the original DEM), a new grid containing values you want to "patch" over the base grid, and a "zone" grid indicating where the patching should be. A conditional expression implements grid patching. This approach will let you patch grids in any raster-based GIS that supports map algebra.


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.