一種自動批量計算河道斷面信息的方法
【專利摘要】本發明公開了一種自動批量計算河道斷面信息的方法,本發明將道格拉斯普克算法引入到計算河道斷面信息的流程中,保留了河道斷面的基本輪廓,去除了河道斷面計算過程中起伏地形對于計算結果的影響,面對不同的復雜地形環境的河道都能快速、準確的獲取河道斷面信息;本發明提供的方法適應性強、自動化程度高,能夠保證河道斷面信息計算的效率和質量,計算工作量小。
【專利說明】一種自動批量計算河道斷面信息的方法
【技術領域】
[0001]本發明屬于河道演變分析的【技術領域】,本發明涉及一種批量計算河道斷面信息的方法。
【背景技術】
[0002]河床演變與整治主要研究自然情況下或修建整治建筑物后河流河床發生沖淤變化的過程,根據河床沖淤變化采用科學的整治手段來調整河流的來水來沙過程,以達到防洪抗旱、疏通航道、圍墾灌溉、穩定河床、蓄水發電等多功能地利用河流,并兼顧水利水產等其他事業,以及環境與生態保護,以獲得合理的最大經濟效益,生態效益和社會效益。因此河床演變及整治在河流的開發、利用與治理特別是港口與航道工程建設中起著重要的作用。
[0003]研究河床演變與整治離不開河道斷面演變分析,河道斷面形態是河流的重要特征,是決定河流輸水輸沙能力、河道通暢、穩定程度的重要因素。河道斷面分析是分析河道斷面形態的變化,斷面形態的變化從一定程度上反映了斷面附近河段的沖淤變化。河道斷面分析是日常工作中常用的河勢分析方法,通過在水下地形圖上沿與河道中心線正交的方向切斷面,了解水下地形在水流的作用下的起伏變化情況,為工程設計人員提供設計依據。傳統的河道地形變化分析是手工描繪不同時期地形等深線,人工切割斷面進行計算,通過對比分析來研究河床的沖淤演變。這種方法工作量大,精度也難以保證。
【發明內容】
[0004]發明目的:本發明的目的在于針對現有技術的不足,提供一種工作量小,獲取河道斷面信息更加準確,可靠的批量計算河道斷面信息的方法。
[0005]技術方案:為了達到上述發明目的,本發明提供一種自動批量計算河道斷面信息的方法,包括以下步驟:
[0006]步驟1:利用ArcMap在河道監控段繪制若干河道斷面直線,獲取河道斷面線數據;其中,ArcMap為美國環境系統研究所開發的GIS系統ArcGIS軟件套裝的桌面組件部分。
[0007]步驟2:利用ArcEngine中ITinEdit接口將通過水下地形測量方法獲得的河道測深數據生成河道不規則三角網數據;其中,ArcEngine為美國環境系統研究所開發的GIS系統ArcGIS軟件套裝的開發組件部分;ITinEdit是ArcEngine中用于提供不規則三角網(簡稱TIN)創建編輯功能的接口。
[0008]步驟3:單獨獲取一條河道斷面線數據,并利用ArcEngine中ITinSurface接口下面的GetProfile方法對單獨獲取的河道斷面線數據和河道不規則三角網數據進行操作,獲取原始河道剖面線數據,并提取原始河道剖面線數據的折點數據形成原始剖面點集數據;其中,ITinSurface是ArcEngine中用于提供TIN表層計算功能的接口,GetProfile是ITinSurface接口下面利用TIN數據插值并返回帶有高程值線段的功能函數。輸入參數為TIN數據以及插值步長,輸出結果為帶有高程值信息的線段。[0009]步驟4:將原始剖面點集數據輸入道格拉斯普克算法,設定優化閾值,根據道格勞斯普克算法的原理,將原始剖面點集數據中無法達到優化閾值要求的點去除后輸出結果剖面點集數據;所述優化閾值為需要去除的地形起伏的最大值,即構成微小地形的最大臨界值;
[0010]步驟5,設置坡度角度閾值,循環依次獲取結果剖面點集數據中的三點,計算以中間點為中心的三點組成的角度大小,并將計算出的角度大小與坡度角度閾值比較,如果計算出的角度小于坡度角度閾值,則設置當前中間點為一個坡度拐點,將剖面結果點集數據以坡度拐點分段,循環執行直到結果剖面點集數據全部分段結束;
[0011]步驟6,獲取每一分段數據首尾點,用縱坐標之差與橫坐標之差的比值計算坡度角度正切值,并換算成1:x的形式作為該分段坡比,比較所有分段坡比,記錄最大坡比。
[0012]步驟7,遍歷結果剖面點集數據,獲取最深點與最高點數據;
[0013]步驟8,循環執行步驟3-步驟7,直到執行完步驟I中繪制的所有河道斷面線數據,針對每一條河道斷面線數據匯總坡比、最大坡比、最深點、最高點信息,輸出報表,繪圖。
[0014]有益效果:與現有技術相比,本發明將道格拉斯普克算法引入到計算河道斷面信息的流程中,保留了河道斷面的基本輪廓,去除了河道斷面計算過程中起伏地形對于計算結果的影響,面對不同的復雜地形環境的河道都能快速、準確的獲取河道斷面信息;本發明提供的方法適應性強、自動化程度高,能夠保證河道斷面信息計算的效率和質量,計算工作量小。
【專利附圖】
【附圖說明】
[0015]圖1為本發明的流程示意圖;
[0016]圖2為河道斷面直線繪制圖;
[0017]圖3為河道測深數據圖;
[0018]圖4為河道不規則三角網數據圖;
[0019]圖5為原始剖面點集數據圖;
[0020]圖6為結果剖面點集數據圖;
[0021]圖7為坡度拐點數據圖;
[0022]圖8為河道斷面結果數據圖。
【具體實施方式】
[0023]下面對本發明技術方案進行詳細說明,但是本發明的保護范圍不局限于所述實施例。
[0024]實施例:如圖1所示,本發明提供的自動批量計算河道斷面信息的方法,包括以下步驟:
[0025]步驟1:利用ArcMap在河道監控段繪制若干河道斷面直線,獲取河道斷面線數據,如圖2所示,本實例中僅繪制一條河道斷面直線作為示例,獲取的河道斷面線數據如表I所
/Jn ο
[0026]表I
[0027]
【權利要求】
1.一種自動批量計算河道斷面信息的方法,其特征在于:包括以下步驟: 步驟1:利用ArcMap在河道監控段繪制若干河道斷面直線,獲取河道斷面線數據;步驟2:利用ArcEngine中ITinEdit接口將通過水下地形測量方法獲得的河道測深數據生成河道不規則三角網數據; 步驟3:單獨獲取一條河道斷面線數據,并利用ArcEngine中ITinSurface接口下面的GetProfile方法對單獨獲取的河道斷面線數據和河道不規則三角網數據進行操作,獲取原始河道剖面線數據,并提取原始河道剖面線數據的折點數據形成原始剖面點集數據; 步驟4:將原始剖面點集數據輸入道格拉斯普克算法,設定優化閾值,根據道格勞斯普克算法的原理,將原始剖面點集數據中無法達到優化閾值要求的點去除后輸出結果剖面點集數據;所述優化閾值為需要去除的地形起伏的最大值; 步驟5:設置坡度角度閾值,循環依次獲取結果剖面點集數據中的三點,計算以中間點為中心的三點組成的角度大小,并將計算出的角度大小與坡度角度閾值比較,如果計算出的角度小于坡度角度閾值,則設置當前中間點為一個坡度拐點,將剖面結果點集數據以坡度拐點分段,循環執行直到結果剖面點集數據全部分段結束; 步驟6:獲取每一分段數據首尾點,用縱坐標之差與橫坐標之差的比值計算坡度角度正切值,并換算成1:X的形式作為該分段坡比,比較所有分段坡比,記錄最大坡比; 步驟7:遍歷結果剖面點集數據,獲取最深點與最高點數據; 步驟8:循環執行步驟3-步驟7,直到執行完步驟I中繪制的所有河道斷面線數據,針對每一條河道斷面線數據匯總坡比、最大坡比、最深點、最高點信息,輸出報表,繪圖。
【文檔編號】G06F17/50GK103886141SQ201410079220
【公開日】2014年6月25日 申請日期:2014年3月5日 優先權日:2014年3月5日
【發明者】許捍衛, 孫咸磊, 張明希, 錢海峰, 于艷超 申請人:河海大學