主权项 |
一种数字高程模型洼地的填平处理方法,其特征在于:步骤一:设置一个m行n列网格矩阵M用于记录地形网格高程数据,其中m和n分别为大于1的正整数,网格矩阵M中的每个网格元素结点设置一个浮点变量H,其中浮点变量H记录地形网格高程,设置一个边界网格元素结点集合A、一个洼地网格元素结点集合B和一个中间网格元素结点集合C,洼地网格元素结点集合B的初始值为所有的内部网格元素结点,内部网格元素结点为网格矩阵M中()时的第i行第j列的网格元素结点,边界网格元素结点集合A的初始值为所有边界网格元素结点,边界网格元素结点为网格矩阵M中内部网格元素结点的以外的其他网格元素结点,中间网格元素结点集合C的初始值为空,其中,设置逻辑变量T,初始值T为0,进入步骤二;步骤二:从边界网格元素结点集合A中取出一个网格元素结点,将所述网格元素结点加入中间网格元素结点集合C,并将所述的网格元素结点从边界网格元素结点集合A中删除,检查所述的网格元素结点相邻的所有网格元素结点,如果所述的边界网格元素结点的相邻网格元素结点有在洼地网格元素结点集合B中,则将洼地网格元素结点集合B中的相邻网格元素结点作为相邻洼地网格元素结点,则进入步骤三,否则将所述的边界网格元素结点从中间网格元素结点集合C中删除,进入步骤四;步骤三:如果所述的相邻洼地网格元素结点的高程低于边界网格元素结点,进入步骤四,否则将该相邻洼地网格元素结点加入中间网格元素结点集合C,并将所述的相邻洼地网格元素结点从洼地网格元素结点集合B中删除,设置逻辑变量T为1,进入步骤四;步骤四:如果边界网格元素结点集合A为空,则进入步骤五,否则返回步骤二;步骤五:将中间网格元素结点集合C的所有网格元素结点加入到边界网格结点集合A,同时将中间网格元素结点集合C设置为空,如果逻辑变量T为0,进入步骤六,否则设置T等于0,回到步骤二;步骤六:如果边界网格元素结点集合A为空,进入步骤七,否则查找边界网格元素结点集合A所有网格元素结点中的最小高程h,将小于最小高程h的洼地网格元素结点集合B中所有网格元素结点对应的地块填平至最小高程h,同时将洼地网格元素结点集合B中网格元素结点高程H小于最小高程h的所有网格元素结点高程设置为h,回到步骤二;步骤七:输出洼地填平处理后的各个网格元素结点高程。 |