流向算法的一些总结

一些前话

在数字地形分析中,坡度因子的求算可以说是灵魂,几乎所有复杂的二阶地形因子都或多或少与坡度因子有着直接或潜在的相关。 而在水文因子的求算体系中,流向算子占据的地位与坡度相同。所以,如何在DEM数据中提取出一个较为准确的流向,是一个非常重要的命题。

因为DEM数据的精度具有不确定性,所以一切的地形因子的求算都是相对准确的。一般来说,地形因子求算的准确性与DEM数据的分辨率大小,求算时选取的邻域范围等有很强的关联性。所以很多学者已经研究很多关于地形因子求算的不确定性的问题,但大多数的研究还是有一定的前提条件,流向算法也是如此。

流向算法的特别之处,非常依赖填洼算法的准确性。

流向算法

目前ArcGIS Pro2.8内置了三种流向算法,但由于河流形态有平行型、汇流型、发散型等,应当在根据已掌握的地理信息(如经纬度、高程、地区、气候等)判断该DEM数据包含的河流形态后,再去选择算法进行分析。

D8

D8算法是一种单流向算法,是1988年Jenson 提出的。当时DEM数据刚刚开始发展,因子的求算也都是局限在坡度、坡向等简单因子,而D8的提出对流向的求算可以说是有很大帮助。

求解过程

D8算法与坡度算法类似,通常是通过3*3的滑动窗口进行遍历计算。

流向由来自每个像元的最陡下降方向,最陡下降方向计算如下:

maximumdrop = z-value / distance * 100

假设像元大小为 1,则两个正交像元之间的距离为 1,两个对角线像元之间的距离为 \sqrt{2}(在部分软件中设定为1.5来方便计算)。如果多个像元的最大下降方向都相同,则会扩大相邻像元范围,直到找到最陡下降方向为止。

在ArcGIS中,计算出最陡下降方向时,规定东方向用2的0次方的表示,顺时针每旋转一个,指数加1。即1,2,4,……,128来表示八个方向。

D8算法示意

不足之处

由于D8为单流向算法,即SFD,没有考虑到现实情况中,水向多个方向发散的情况,在一些区域,可能存在问题。并可能出现平行河网的问题。

MFD(Multi-FlowDirection,多流向算法)

MFD算法与Quinn密不可分,但ArcGIS内置的算法,应当为秦承志教授2007发表的自适应多流向算法。MFD 算法可对所有下坡邻域的流向进行划分。

MFD要对3*3的窗口的中心像元求得多个下降方向,结果数据保存是包含三个维度的数据,不能存储在格网的栅格里,所以ArcGIS提供的是云栅格格式 (CRF) 。

求解过程

  • MFD算法与D8算法类似,都需要建立3*3的滑动窗口

  • MFD要对3*3的窗口的中心像元求得多个下降方向,需要首先筛选出与中心像元高程相比高程下降的一些像元

  • 获得下降方向的像元的坡度值

  • 根据下式求得多个方向流向的百分比

    d_i=\frac{(\tan \beta_i)^ f *L_i}{\sum_{j=1}^8(\tan \beta_j)^f*L_j}

    其中

    f = f(e)

    e=\tan(该像元的坡度)

    L_i,L_j = 中心像元到计算像元的距离,对角线距离为\sqrt 2/4*L,邻接距离为1/2*L$$L表示一个像元的大小

不足之处

由于多流向算法对像元都会尝试去存储多个流向的百分比数据,所以无法用常规的Grid栅格来表示。在ArcGIS中是使用CRF格式存储,而在大部分第三方库的调用中是直接跳过这一步的文件存储过程,作为临时数据生成而后删除。是否可以用体素的概念去存储这种数据?值得思考。

Dinf(D-infinity算法)

Dinf算法是David G. Tarboron在1997年提出的,这种算法是将八邻域等分成了八个角度,然后计算最陡下降方向,并通过一定的方式,计算出一个在该区间内的角度值。

求解过程

  • 建立3*3的滑动窗口

  • 将窗口根据对角线和边线划分成八个部分,如图所示

Dinf划分八方向
  • 找到最陡下降方向,并构建一个向量(s1,s2),s1=(e_0-e_1)/d_1,s2=(e1-e2)/d2
Dinf计算坡向
  • 求得坡向r = tan^{-1}(s_2/s_1)

  • 流向 = a_f*r+a_c*\pi/2,a_f,a_c可根据最陡下降方向和下表参照获得

Dinf设定常数

不足之处

Dinf算法有一个预设参数的过程,这个参数很容易受到特定地形的影响,造成计算误差。

一些后话

流向算法还有很多种,这是其中经典的三种,各有优劣。

流向算法可以打破GridDEM的限制做一些突破。

容易理解的算法会让算法推广得更加广泛。

在应用领域,算法结果的数据结构也非常重要,要与主流的数据格式相匹配。

自适应算法是大趋势。

最后,D8是一个在GIS领域让人“闻风丧胆”的算法,因为它太好懂了,又因为它太简单了。

参考

  1. Dinf算法——A new method for the determination of flow directions and upslope areas in grid digital elevation models

  2. D8算法——Extracting Topographic Structure From Digital Elevation Data for Geographic System Analysis]

  3. MFD算法——An adaptive approach to selecting a flow‐partition exponent for a multiple‐flow‐direction algorithm

  4. ArcGIS帮助文档

  5. Digital Terrain Modeling: Principles and Methodology. Zhilin Li, Qing Zhu

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容