数字高程模型(Digital Elevation Model),简称DEM,是通过有限的地形高程数据实现对地面地形的数字化模拟(即地形表面形态的数字化表达),它是用一组有序数值阵列形式表示地面高程的一种实体地面模型,是
数字地形模型(Digital Terrain Model,简称DTM)的一个分支,其它各种地形特征值均可由此派生。
一般认为,DTM是描述包括高程在内的各种地貌因子,如坡度、坡向、坡度变化率等因子在内的线性和非线性组合的空间分布,其中DEM是零阶单纯的单项数字地貌模型,其他如坡度、坡向及坡度变化率等地貌特性可在DEM的基础上派生。
因为最近接了一个计算降雨时洼地汇水情况的任务,便苦逼的写下了这个算法。因为对GIS相关知识以前并没有过了解,因此算法可能存在诸多疏漏或错误欢迎评论指正。本算法只是一个理想化模型的demo,不包括地表渗水,蒸发等因素。此外,算法中使用的DEM并不是C#中标准的ArcGis相关类,而是自己写的伪代码(偷点懒,先把算法赶出来再说- -)。
本算法从区域的最低点开始,不断向四周递归的淹没临近栅格。使用List来保存最低点数据(从最低到第二低到第三低....),将本次淹没点周围的栅格加入List,直到已淹没的n个栅格能够容纳该区域内的降水总体积而不溢出。