?

基于最短路徑分析的無名河流水系實體化算法

2020-01-14 06:55栗敏光許慶領申朝永
城市勘測 2019年6期
關鍵詞:實體化匯水河網

栗敏光,許慶領,申朝永

(1.自然資源部重慶測繪院,重慶 401120; 2.貴州省第三測繪院,貴州 貴陽 550004)

1 引 言

水系是一種重要的自然地理要素,被喻為地形的骨架[1]。水系數據是基礎地理信息數據和地理國情普查數據的重要組成部分[2,3]。水系實體化是推行河長制,開展水文分析、水災監測、水路交通管理和流域生態環境管理等深層應用的基礎[4]。水系的構成主體是河流。水系實體化的核心是河流實體化。由有名河流組成的水系的實體化易于根據名稱屬性結合空間連通性加以實現。由無名河流組成的水系的實體化則無法借助屬性,而只能依據其自身的空間特征和一定的準則來進行。在空間結構上,河流水系通常由多重干流與支流所組成[5],具有顯著的層級特征。在幾何形態上,雖然河流水系可以表現為復雜多樣的類型[5],卻具有網絡連通的共性特征。綜合來看,河流水系可以抽象為由從高到低各個層級的干流所組成的網絡體系(終極支流亦可理解為最低層級的獨立干流)。由此,無名河流水系的實體化可以解析為從高到低確定各個層級干流對象的過程[6]。許多學者基于這一思路針對這一問題進行了卓有成效的研究。由采用人工方式或單純依據長度(河段長度和最大)準則[7],到角度(干流與支流夾角最小)與級數(河段層級數量最多)準則的結合[8],再到長度與角度、級數、落差(水位高差最大)、面積(集水面積最大)等多個準則綜合[6,9],干流對象的確定策略獲得了不斷優化,然而這些研究成果都僅僅支持無環路(樹狀)拓撲結構的水系,且未考慮同一水系存在多個匯水點的情況。

作為GIS空間分析技術的重要組成部分,GIS網絡分析是一種通過將數據建立為網絡模型并依據網絡模型的拓撲關系(弧段與弧段之間、弧段與結點之間、結點與結點之間的聯結關系)對網絡模型的特征與性能進行計算和分析的技術[10]。GIS網絡分析的基礎與核心是最短路徑分析[11,12]。

本文依據干流對象確定準則中運用最為廣泛的長度準則,援引GIS網絡分析中的最短路徑分析技術并加以逆向運用,設計了一種無名河流水系實體化算法,基于FME軟件平臺加以實現,利用模擬數據和地理國情普查監測成果深化應用——全國水網數據優化處理項目生產數據驗證了其合理性。

2 算法設計

河流水系在拓撲結構上可以建立為網絡模型,因而具備應用GIS網絡分析技術的基礎和條件。實現無名河流水系實體化的核心是確定干流對象,且通常采用長度準則(亦即所謂源頭唯遠、流程唯長的原則)。于是無名河流水系的實體化就歸結為在河流網絡中尋找從各個源頭到匯水點的最長流徑的問題,這正是GIS網絡分析技術中的最短路徑分析所要解決的問題。只不過經典的最短路徑分析技術以路徑最短為取向,本文命題須要對其加以逆向運用。從具體操作的意義上講,河流水系實體化的實質就是為一個將構成同一河流的各條河段的標識實體的屬性賦予相同屬性值[13],也就是說,提取出的河流水系實體需要加以實體化標記或者編碼才算實現完整意義上的河流水系實體化。同時不難發現,要實現整個河流水系的實體化,實際上需要完成一個從高到低確定各個層級干流對象的不斷循環往復的過程[6]。

基于以上分析構建本文算法的基本思路,具體可以分解為以下幾個步驟。

第一步是構建流徑分析因子。以獲取道路網絡中起點與終點之間的最短路徑為目標的經典最短路徑分析是以路段長度作為分析因子的,欲同樣運用最短路徑分析技術獲得河流網絡中各個源頭點到匯水點的最長流徑則需以河段長度倒數為分析因子。通過提取以河段長度倒數為因子的最短流徑來逆向獲得以河段長度為度量的最長流徑。

第二步是劃分河網體系,即將整個區域水系根據連通性特征劃分為內部貫通且彼此獨立的不同河流網絡體系,進而對每個獨立的河網體系實施分析。

第三步是以河網體系為單元構建源匯點向量,又分解為三小步。第一小步是提取河網各條河段的起點和終點(亦即有向線段的首末節點)。第二小步是河網所有河段端點疊加,通過重疊數提取其中的懸掛點。其中懸掛的起點即為河網源頭點,懸掛的終點即為河網匯水點。第三小步是以河網為單元構建各個源頭點與各個匯水點的兩兩組合,亦可理解為河網所有源頭點到所有匯水點的向量。

第四步是河網各個源匯點向量對應最長流徑提取。給定一個源匯點向量,利用最短路徑分析技術即可獲取從源頭點出發流經河網體系各條河段到達匯水點的最長流徑。

第五步是所有河網當前層級最長流徑提取,通過計算第四步提取出的各個河網各個源匯點向量對應最長流徑的長度并加以統計分析即可完成。

第六步是所有河網當前層級最長流徑實體化編碼,即對所有河網當前層級最長流徑所包含河段賦予相同的實體編碼而將其標識為同一條河流實體。

第七步是對未完成實體化編碼的河網河段返回第二步,循環執行第二步至第六步的操作,直至所有河網所有河段全部完成實體化編碼。

算法流程如圖1所示。

3 程序實現

基于FME軟件平臺,調用其函數庫提供的豐富的轉換器,定制可視化工作流實現上述算法。首先從函數庫中搜索恰當的轉換器匹配算法流程中的每一項操作(其中關鍵操作與轉換器對照表如表1所示),然后運用固有轉換器構建自定義轉換器,實現單個河網某一層級最長流徑的實體化編碼子過程(如圖2所示),最后在主程序中循環調用單個河網某一層級最長流徑實體化編碼自定義轉換器,結合其他固有轉換器,搭建整個區域河流水系的實體化編碼流程。最終設計完成的FME程序如圖3所示。

圖1 算法流程圖

算法流程關鍵操作與FME轉換器對照表 表1

圖2 單個河網某一層級最長流徑實體化編碼自定義轉換器

圖3 整個區域河流水系實體化編碼主程序

4 數據試驗

分別利用模擬數據和部分生產數據開展了試驗。其中,模擬數據囊括了單匯水點、多匯水點、樹狀、網狀等不同拓撲結構類型水系,生產數據為地理國情普查監測成果深化應用——全國水網數據優化處理項目云南、西藏、新疆國際河流諸河流域5級以下2個水網300余條河段。算法程序實體化編碼的結果與人工按照逐一統計、累加河段長度——比較、篩選每個河網當前層級最長河徑——最長河徑所含各條河段相同編碼賦值的步驟輪回進行實體化編碼的結果進行比對,吻合率100%。無論常規的只有唯一匯水點的水系還是同時具有多個匯水點或者具有入河點、入湖點、斷頭點等多種類型匯水點的水系,無論支流與干流具有多對一關系的樹狀水系還是支流與干流具有多對多關系的網狀水系,無論單個水系還是多個水系,實體化編碼結果均嚴密地遵循了源頭唯遠、流程唯長的原則(部分實體化編碼結果如圖4所示)。試驗證明,本文算法程序不僅正確合理,具有廣泛適用性,而且在效率上具有手動實體化編碼作業方式所無法比擬的優勢。

圖4 試驗數據實體化結果

5 結 語

本文算法突破了現有相關研究成果研究對象和適用范圍的局限性,是GIS網絡分析技術在水系數據處理中的一個有效應用,為無名河流水系的實體化提供了有力的工具,為水系數據建庫等進一步深加工處理奠定了堅實的基礎。

猜你喜歡
實體化匯水河網
宿遷宿城區推進鄉鎮安委辦(消委辦)實體化運作 落實基層監管責任
匯水盆地算法的研究與實現
徐州市推進網格“實體化”布密風險“感應器”
昆山市平原河網地區活水暢流工程方案設計和效果
淺議綠色基礎設施海綿城市建設
——以長春市天安第一城海綿城市專項為例
匯水系統綠地雨洪調蓄研究
——以武漢港西匯水系統為例
基于DEM數據與GIS技術方法的水文信息提取研究
——以蓮花縣為例
基于Arcgis-python斷面匯水面積批量提取方法研究
基于PSR模型的上海地區河網脆弱性探討
我國實體化電子商務的區域發展問題及策略探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合