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. 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. 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.