# Calculating Flow Direction using ArcMap with mixed X,Y,Z units

I have a DEM in UTM that I am converting to a StatePlane coordinate system in feet. This raster is going to be used to generate watershed delineations - therefore I will generate a flow direction raster from the DEM data. I don't think it matters (according to my understanding and some back-of-the-envelope) examples, that the z-units are in meters and the linear units are in feet, but could it in some edge case I can't think of?

How do you generally handle operations on a DEM with mixed units? Do you always convert the Z-units?

• I don't see why it'd make a difference. What happens when you try a sample area? I don't believe horizontal units are looked at when calculating vertical units (and vice-versa) – Midavalo Jan 4 '17 at 21:37
• Flow direction uses horizontal distance (which is different for diagonal cells than non-diagonal cells) to determine slope, which sets the flow direction. – traggatmot Jan 4 '17 at 21:41
• Convert your z to ft and then reproject. Just make sure you are comparing z with same vertical datums. – risail Jan 4 '17 at 21:54

It's a good question, so let's be rigorous with a solution. Regardless of the algorithm involved, the flow direction is ultimately determined by fitting planes to the surface at each point. (Theoretically, these planes are the derivative of the surface; in practice they are often computed as least-squares fits to the values in the immediate 3X3 neighborhood.) Such a plane has an equation of the form

``````z = a*x + b*y + c
``````

where (x,y) are horizontal coordinates, `z` is the elevation, and constants `a`, `b`, `c` determine the plane. The flow direction is computed solely in terms of `a` and `b`: these determine the aspect of the plane. In fact, all that really matters are `a` and `b` relative to their total size sqrt(a^2+b^2). This is because (a,b) is the direction vector of the projection of the surface normal into the plane.

When the units used for `z` differ from those for `a` and `b`, in effect `z` has been rescaled. The implied equation becomes

``````s*z = a*x + b*y + c.
``````

For instance, converting `z` from feet to meters uses a value of s = 12/39.37. Equivalently,

``````z = (a/s)*x + (b/s)*y + c/s.
``````

Although `a` and `b` have changed, their values relative to their total size have not:

``````a / sqrt(a^2 + b^2) = (a/s) / sqrt((a/s)^2 + (b/s)^2)
``````

and

``````b / sqrt(a^2 + b^2) = (b/s) / sqrt((a/s)^2 + (b/s)^2).
``````

Therefore, no change is made to the flow direction. All is fine. You do not have to rescale the values of the DEM.