Hello to the community, George here!
As a part of my PhD I have to map the rivers of Northern Peloponnese, Greece. I have downloaded two DEMs from Nasa Reverb, which I connected with "mosaic to new raster". I have started the usual process of "fill", "flow direction" and "flow accumulation" in order to be able to analyze the rivers of the area. But unfortunately I'm facing two problems.
First one is that the results I get from Flow Direction tool are wrong and I can't find the solution, no matter what I try. As you can see at the first screenshot, there are some horizontal flow lines that make no sense. I tried editing the values (tried to make arcmap exclude values lower than 1) of the original raster and then using "fill" but that doesn't prevent the "fill" tool from ignoring these areas (third screenshot).
Second problem (which seems to be connected to the first one) is that I decided to move to the next step and use "Flow Accumulation" anyway as some areas seemed to be fine and see what happens.
As you can see from the second screenshot the flow accumulation lines follow the shoreline shape and then extend in the sea. As far as I can understand, these flow accumulation lines follow the flow direction ones so the problem is created when I use the "flow direction" tool.
Can you please help? I'm fairly new to this so excuse my ignorance.
If it's a problem with the original data and the problem can't be corrected, is there a way around it?
Thank you!
Hi George,
It seems to be something related to the data but that doesn't necessarily mean the data is bad. It may just take some preprocessing to get it to work properly. I have never observed this behavior before but let's see what we can figure out.
For starters, what specifically do you mean by: I tried editing the values (tried to make arcmap exclude values lower than 1) of the original raster My first thought would be to eliminate the "sea" area from the data so I am curious what method you used when attempting this.
Georgios,
I found the area you are working in using Google Maps (see attached image). The area where you have the strange lines is in the water (Gulf of Corinth). If the elevation in your DEM is level in the water area, the flow direction would be somewhat random. Since you are dealing with a coastal area, you will have some unique issues to deal with. However, I don't see anything wrong with the results. There was some recent discussion on coastal drainages. Here is the link to that includes that discussion: Re: Catchment vs watershed.
You are right that the flow accumulation is based on the flow direction. If the flow direction is wrong (has errors) the rest of the analysis will have errors.
Since you have creeks, rivers, and streams that have to cross under roads on their way to the sea, I suspect you will want to create an agreestream layer and "burn" the streams into the rawdem at the road crossings so the flow direction will be correct at those locations. It looks like the topography is steep enough that for the most part you won't need to burn in streams anywhere else except in very flat place or where man-made drainage systems control the flow direction instead of the topography.
So, basically you are not doing anything wrong to get the "horizontal flow lines". A possible way to get rid of them would be to use the Con() function to make every raster grid below a certain elevation (i.e. in the water) "Null". I'd have to do a bit or research myself to give you direction on how to do that. I'm sure there is a tool in Spatial Analyst that would do work. This link might show you how. ArcGIS Desktop Help 9.3 - Setting values to NoData: SetNull. Once the raster has null (or "no data") values in the water area, it is possible that the flow direction grid will not be defined there and so you won't get flow accumulation there either.
The flow direction grid is only a foundational layer and will not show in your final analysis where I assume you will define watersheds. You might simply move on and establish your analysis process for a small area until you settle on a process you are happy with. Then perform that process on the whole dataset. I use Model Builder in this way. I allows me to build and edit the process and they reapply it on different datasets.
Best,
Mark