Tuesday 19 May 2015

dem - Is there a difference between the Planchon & Darboux and Wang and Liu depression filling algorithms? Other than speed?



Can anyone tell me, based on actual analytical experience, if there is a difference between these two depression filling algorithms, other than the speed at which they process and fill depressions (sinks) in DEMs?


A fast, simple and versatile algorithm to fill the depressions of digital elevation models


Olivier Planchon, Frederic Darboux


and


An efficient method for identifying and filling surface depressions in digital elevation models for hydrologic analysis and modelling


Wang and Liu


Thanks.



Answer



From a theoretical point of view depression filling only has one solution, although there can be numerous ways of coming to that solution, which is why there are so many different depression filling algorithms. Therefore, theoretically a DEM that is filled with either the Planchon and Darboux or the Wang and Liu, or any of the other depression filling algorithms, should look identical afterwards. It's likely that they won't however and there are a few reasons why. First, while there's only one solution for filling a depression, there are many different solutions for applying a gradient on the flat surface of the filled depression. That is, usually we don't just want to fill a depression, but we also want to force flow over the surface of the filled depression. That usually involves adding very small gradients and 1) there are lots of different strategies for doing this (many of which are built into the various depression filling algorithms directly) and 2) dealing with such small numbers will often result in small rounding errors that can be manifested in differences among filled DEMs. Take a look at this image:


Elevation differences in filled DEMs



It shows the 'DEM of difference' between two DEMs, both generated from the source DEM but one with depressions filled using the Planchon and Darboux algorithm and the other with the Wang and Liu algorithm. I should say that the depression filling algorithms were both tools from within Whitebox GAT and are therefore different implementations of the algorithms than what you described in your answer above. Notice that the differences in the DEMs are all less than 0.008 m and that they are entirely contained within the areas of topographic depressions (i.e. grid cells that are not within depressions have exactly the same elevations as the input DEM). The small value of 8 mm is reflective of the tiny value used to enforce flow on the flat surfaces left behind by the filling operation and is also likely somewhat affected by the scale of rounding errors when representing such small numbers with floating point values. You can't see the two filled DEMs displayed in the image above, but you can tell from their legend entries that they also have the exact same range of elevation values, as you'd expect.


So, why would you observe the elevation differences along peaks and other non-depression areas in the DEM in your answer above? I think it could really only come down to the specific implementation of the algorithm. There's likely something going on inside the tool to account for those differences and it's unrelated to the actual algorithm. This isn't that surprising to me given the gap between an algorithm's description in an academic paper and its actual implementation combined with the complexity of how data are handled internally within GIS. Anyhow, thanks for asking this very interesting question.


Cheers,


John


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...