I have elevation data in a raster, river (blue line) and the flooded area (black polygon) as shown in the image below:
I want to find the water depth in the flooded area (inside the black polygon). Outside of the polygon, water depth is obviously zero. Inside the polygon, the land elevation is lower than outside (At least it should be)
What I tried to do and did NOT work was this: I assigned nodata value to the points inside the polygon. Then I used Eucilidean Allocation to find the closest points just outside the polygon and assign it to nodata points. Then, I Subtracted the original land elevation raster from this new raster. However, I get big negative values because after all, it was not a good method at all.
Now, I am thinking: I need to follow the water stream line. At each point, draw a perpendicular line to the river and let it intersect minimum two times with the polygon. Find the average value of cells inside a circle (with those intersections as center). Find the mean of these averages. apply this value too all points in that cross section (perpendicular line to the river). Now, is there any way on earth I can do this? Hopefully I don't need a for loop for this? Do you guys have any other suggestions, perhaps easier ways?
I am using ArcGIS 10.1 with Spatial Analyst and 3D Analyst extensions.