[发明专利]一种基于SRTM的坡长提取方法有效
申请号: | 201911365426.6 | 申请日: | 2019-12-26 |
公开(公告)号: | CN111177917B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 张宏鸣;杨勤科;常毅;张国良;孙红光;张凡;许伊昆;董良;张泉 | 申请(专利权)人: | 西北农林科技大学 |
主分类号: | G06F30/20 | 分类号: | G06F30/20 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李婷;祁凡雨 |
地址: | 712100 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 srtm 提取 方法 | ||
1.一种基于SRTM的坡长提取方法,其特征在于,该方法按照以下步骤进行:
步骤1:存储SRTM数据头信息,同时获取SRTM数据中每一个栅格的坡度值和流向;
步骤2:计算栅格单元坡长值;
步骤2.1:遍历所有栅格,判断当前栅格是否是无值点:若是无值点:则设置该栅格的单元坡长值为0,进入下一个栅格的判断;若是非无值点,执行步骤2.2;
步骤2.2:根据步骤1获取的栅格流向,若当前栅格的流向为东西方向,该当前栅格的单元坡长为LONG;若流向为南北方向,该当前栅格的单元坡长为LAT;若流向为东南、西南、东北、西北中的任意一种,则该当前栅格的单元坡长为diagCellSize;
其中,
LAT=2π×6371000·cellsize/360,
LONG=2π×6371000·cellsize/360·cosθ,θ为当前栅格中任意一点与地球球心连线与赤道的夹角;
其中,cellsize为SRTM数据中每个栅格对应的头信息中cellsize这一项的取值;
步骤2.3:遍历所有栅格,得到每一个栅格的单元坡长值;
步骤3:计算栅格初始坡长值;
步骤3.1:判断当前栅格是否截断,若为不截断,则当前格栅初始坡长值等于单元坡长值;若为截断,则当前栅格的初始坡长值为单元坡长值的一半;
步骤3.2:遍历所有栅格,得到每一个栅格的初始坡长值;
步骤4:计算栅格累积坡长:
步骤4.1:将当前栅格作为初始累积栅格,初始累积栅格初始值设置为0,任意与初始累积栅格相邻的栅格中流向指向初始累积栅格的定义为相邻指向栅格,若其中任意一个相邻指向栅格截断,则取初始值与该相邻指向栅格的初始坡长值的一半之和作为初始累积栅格对该相邻指向栅格的累积坡长;若该相邻指向栅格不截断,则取初始值与该相邻指向栅格的初始坡长值之和作为初始累积栅格对该相邻指向栅格的累积坡长;
依次计算初始累积栅格对其他相邻指向栅格的累积坡长,比较初始累积栅格与所有相邻指向栅格的累积坡长的总和SUM与初始累积栅格的初始坡长值的大小,若SUM>初始累积栅格的初始坡长值,则将SUM赋值给初始累积栅格作为初始累积栅格的初始坡长值,否则初始累积栅格的初始坡长值不变;
步骤4.2:将所有剩余栅格中的每个栅格均作为初始累积栅格,按照步骤4.1的方法,遍历所有剩余栅格,计算每个栅格对应的SUM并判断是否赋值,至不再出现赋值情况时遍历结束,最后一次赋值时获得的初始坡长值即为提取的对应栅格的累积坡长;
所述步骤1中,存储SRTM数据的头信息,同时获取SRTM数据中每一个栅格的坡度值和流向,包括:
步骤1.1:创建结构体DemData,用于存放SRTM的头信息cellsize;
步骤1.2:按行读取SRTM的数据,SRTM的头信息的格式为:前边是名称,接着是空格,后边是头信息中cellsize这一项;将读取的每行数据存到对应的一个字符串中,然后对该字符串进行空格分割,最后将头信息转换类型并保存到数据结构DemData对应的属性中;
步骤1.3:采用最陡坡降法计算每个单元栅格的坡度值和流向。
2.如权利要求1所述基于SRTM的坡长提取方法,其特征在于,在步骤2之前,对步骤1的结果进行无值点和洼地填充。
3.如权利要求1所述基于SRTM的坡长提取方法,其特征在于,步骤3中:判断当前栅格是否截断,包括以下方法中的任意一种:
a:若当前栅格是无值点,则当前栅格为截断,否则不是截断;
b:若当前栅格的坡度值小于2.861°,且坡度变化率大于0.7,则当前栅格为截断,否则不是截断;
c:若当前栅格的坡度值大于等于2.861°,且坡度变化率大于0.5,则当前栅格为截断,否则不是截断;
d:若当前栅格的河网值大于设定的河网截断阈值,则当前栅格为截断,否则不是截断。
4.如权利要求3所述基于SRTM的坡长提取方法,其特征在于,d中,当前栅格的河网值的计算包括:
第一步:将每个栅格的面积S作为该栅格的初始化河网值,其中,S=LONG×LAT,遍历所有栅格,得到所有栅格的初始化河网值;
第二步:当前栅格的河网值提取:
Step1:计算当前栅格中流向指向当前栅格的相邻栅格的初始化河网值的和,记作sum;
Step2:比较sum与当前栅格的初始化河网值,如果sum>当前栅格的初始化河网值,则将sum赋值给当前栅格,否则当前栅格的河网值不变;
Step3:正向遍历所有栅格,计算每个栅格的sum并判断是否赋值;
Step4:反向遍历所有栅格,计算每个栅格的sum并判断是否赋值;
Step5:若正反遍历的过程中不再发生赋值,遍历结束,最后一次赋值作为当前栅格的河网值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北农林科技大学,未经西北农林科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911365426.6/1.html,转载请声明来源钻瓜专利网。