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