Closed WindingWinter closed 6 years ago
Fundamentally we do not have a way to represent stream networks as objects that diverge or spread out. The model for stream networks is a binary tree with links that represent stream segments. Stream segments are constructed as paths from cell to cell to cell following D8 flow directions down from source cells. If Dinfinity was used these paths would need to diverge or split, and fundamentally be represented differently. There are options here, e.g. admitting polygon area regions that have width into the representation of stream networks or, allowing diverging, e.g. braided flow paths. Details for doing this have not been worked out, thus there are no plans in place for using Dinfinity to map stream networks.
@nsoonhui is there a use case or need you have that requires something different than D8.
Yes there is.
I am thinking about doing watershed analysis on highly developed urban area, involving a lot of flat areas. So for this purpose I think D8 may not be suitable because all the flow goes into one cell only. Is DInfinity a better choice?
Or is there a better algorithm for this?
I think DInfinity is better when the flow is dispersed across a surface, but when flow concentrates into channels D8 is better. Flat areas are challenging because elevation does not inform where water will flow and both approaches have trouble. You will need to evaluate which seems to represent the actual situation better in the case you are working on. I do not think there is a general rule.
David, is there any pointer on how is this done, for some specific flat surface ?
I do not have a good pointer. You may need some sort of model that represents shallow water flow equations and directs flow according to hydraulic gradient rather than topographic gradient.
Referring to StreamNet documentation here.
It seems that
StreamNet
only supportsD8
flow direction, any plans to supportD-Infinity
flow direction?