2

I'm currently working with a DEM (10 m x 10 m resolution) that has a lot of faulty elevation values in river corridors. In order to run a hydrodynamic model I'm trying to get the following done in an autmated process (the goal is to create a Python script tool for the whole process, so I strictly want to avoid manual work on the data):

  • Fill rivers in the DEM using a predefined boundary polygon for these rivers. The filling should reach from the upper edge of one bank to the other in order to only simulate the known discharges that leave the river corridors during a flood event.

So far I have used the following tools and commands to get the job done:

  1. Clipped the buffered river polygons from the original DEM
  2. Run focal statistics using 3 pixel circular search distance and the MAXIMUM values
  3. Run the focal statistics tool using 3 pixel circular search distance and the MEAN values three times in a row in order to even out the result from step 2
  4. Clipped the resulting river corridor DEM to its original extend
  5. Mosaiced the evend out rivers onto the original DEM

This process works fine for relatively flat areas. However there are numerous rivers in mountainous areas that have rather cliffs at one or either side of the banks. In these cases step 2 resolves in the river corridor being up way too high in the final product.

I've also tested focal statistics only using MEAN for five times in a row. This leads to partially filled river corridors, the effect is not distinct enough.

What am I missing? Any suggestions to my problem? Who has tried something similar?

(I'm using ArcGIS 10.3 on a 64bit system with an Advanced Licence)

desired_profile_example

  • Could you elaborate on what you are trying to achieve? It's unclear what you mean by "fill," "visible," "predefined boundary polygon," and "upper edge." Of course these words are suggestive--we all know what they could mean in casual conversation--but in order to describe an algorithm or an analytical objective you need to be specific and quantitative. – whuber Feb 5 '16 at 14:33
  • It would help to know what your end goal is. For example, are you going to be measuring river volume, doing a trace of some sort, or something else? – RHB Feb 5 '16 at 18:54
  • 1
    For those who have done stuff like this I will guess that your statement near the opening of your question; "I strictly want to avoid manual work on the data", is the main cause behind no answers to this. -- You could do this but would need a model for each reach of the river(s) where a change in hydrography is significant enough to require it. -- The take away: I expect that anyone who could help you to any significant degree is also someone willing to do your work for you since the answer is not simple. -- You're essentially asking for an AI model. -- Good luck! – user23715 Feb 5 '16 at 23:29
  • thanks for your comment @user23715. I don't know if I understood you correctly, but I'm not looking for someone doing all the work for me at all. I'm looking for suggestions on how to solve the problem without using i.e. the Editor in ArcMap certain tasks. Also, the solution doesn't have to be inch-perfect since I'm working on a 10 m raster resolution. What exactly did you mean by "a change in hydrography is significant enough to require it"? – dru87 Feb 8 '16 at 7:53
  • @RHB thanks for your comment. I will be running a hydrodynamic model on the modified DEM. Since the original DEM was faulty for river corridors and the data on how much water leaves the rivers for a certain flood event is available, I wanted to simulate completely full rivers in the DEM and just add the excess discharges using the hydrodynamic model. Example: for a centennial flood event 50 m3/s leave River A's corridor in profile °1. Hope this helps to clarify things. – dru87 Feb 8 '16 at 8:02
2

Ok, so I found a solution to my problem. I basically don't change the method described in the question. However, I add a step before step 1:

  1. Clipped the buffered river polygon layer (with a "cliff area" polygon layer, which I derived from the DEM's slope I created with the slope tool) so that cliffs have no influence on step 2
  2. Clipped the buffered river polygons from the original DEM
  3. Run focal statistics using 3 pixel circular search distance and the MAXIMUM values
  4. Run the focal statistics tool using 3 pixel circular search distance and the MEAN values three times in a row in order to even out the result from step 2
  5. Clipped the resulting river corridor DEM to its original extent
  6. Mosaiced the evend out rivers onto the original DEM

The range for the cliffs polygon was set to 35° and more. This way, the steep areas that caused the problem in the first place are filtered before the focal statistics - the MAXIMUM method now produces plausible values. Overall the solution returns very good results for my problem. Thanks anyways for all the help and comments.

1

I suggest you to explore the Generalisation toolbox. Usually different combinations of its tools are used for tasks like this.

http://desktop.arcgis.com/en/arcmap/10.3/tools/cartography-toolbox/an-overview-of-the-generalization-toolset.htm

  • 2
    thanks for your suggestion. however i'm trying to process raster data, so the generalisation toolbox won't be of any use... – dru87 Feb 5 '16 at 14:27
  • So sorry, I copied the wrong link. The Genralization toolbox I had in mind is under Spatial Analyst tools and is for raster data processing. – Alešinar Feb 6 '16 at 15:09

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.