Select to view content in your preferred language

Why is Spatial Analyst - Hydrology - FILL Performing this way?

1690
5
12-12-2017 12:06 PM
JustinSmith
Emerging Contributor

Hello,

I have been attempting to perform a Watershed analysis and can't quite get past the Fill tool.  I am working with a clipped DEM of 20cm resolution, see attached image with random selected points of elevation.  There are two rather large ponds on the site and so I attempted to use a Z limit of 1079 as the ponds are all under 1079m while everything else is above. (not 100% sure if I am using this option correctly).

However as can be seen no the AfterFill image almost the entire site obtains values of 1083.0378.  

Why is this occurring this way?  

Thanks,

Justin

0 Kudos
5 Replies
ChrisDonohue__GISP
MVP Alum

Actually, the Z-limit option performs a different function that what you were trying to use it for.  What it does is it constrains what gets "filled". 

In terms of setting the pond elevations, one possibility would be to employ Raster Calculator to recalculate the lower elevations.

Raster Calculator—Help | ArcGIS for Desktop 

Conditional Evaluation (CON)

Con (in_conditional_raster, in_true_raster_or_constant, {in_false_raster_or_constant}, {where_clause})

Con—Help | ArcGIS for Desktop 

So in Raster Calculator, it would be something like this:

CON (DEM filename, 1079, elevation field, elevation field <1079)

Caveat - the tricky part will be if there are other parts of the DEM that are below an elevation of 1079 meters, as this universal CON statement will modify those too.  If that is the case, you will need to select just the cells that need to be modified (the pond cells) and then apply the CON statement to only them.

Chris Donohue, GISP

JustinSmith
Emerging Contributor

Hi Chris,

So my DEM is clipped from a much larger DEM.  When I use the identify tool it states the field is "Pixel value".  Any idea what the field name is to enter into the elevation field part of the CON statement?  I have tried "Pixel value" and "Value".

Thanks,

Justin

0 Kudos
ChrisDonohue__GISP
MVP Alum

My bad -  I just realized I didn't express correctly what the third condition is.  It's not the elevation field, but instead the filename of your source DEM.  The third condition tells the process what to do when the evaluation expression is false, which in this case we want the original elevation value to be used.

I ran a quick test using the CON (Spatial Analyst) geoprocessing tool (instead of Raster Calculator), and using 30 as a value to fill to, and it worked.  Here's what it looks like.

If I get a minute, I'll see if I can figure out the Raster Calculators statement.

Chris Donohue, GISP

0 Kudos
ChrisDonohue__GISP
MVP Alum

In Raster Calculator, for the fourth condition, try using VALUE (all caps) and put the whole expression in double quotes.

Example:

Con("9032_75mTEST.dem", 30, "9032_75mTEST.dem", "VALUE < 30")

Chris Donohue, GISP

DanPatterson_Retired
MVP Emeritus

also the comment below applies and is often misinterpreted as what it does

The z-limit is not the maximum depth to which a sink will be filled.