陳建城
(寧夏水利水電勘測設計研究院有限公司,寧夏 銀川 750004)
數字高程模型(Digital Elevation Model,DEM)作為一種反映地表起伏形態的精細基礎測繪成果,它在城鎮化建設、數字城市、軍事等領域均扮演著極其重要的角色[1-6]。我國山區面積相對遼闊,有山之處必有江河。然而,水域DEM的生產在整個DEM的制作過程中是非常煩瑣的,它需滿足質量檢查中的兩個基本要求:1)水域與其周邊地貌過渡的一致性,高程異常不可過大;2)在水域DEM內部,面狀斑塊水域應高程統一,水面平整,帶狀水域表面要自然平滑過渡[7-10]。傳統生產模式中,水域部分是在最后DEM的基礎上,對水域進行DEM編輯與重置,小面積的塊狀水域,其高程為一固定值,做單一水面置平處理即可,制作相對簡單,而帶狀、長距離的河流,則具有一定的高差,要保證其從上游至下游水域表面自然平滑過渡,是極其困難的,需要參與大量的手工操作與細致化處理,生產效率低下,嚴重制約了DEM數字化成果生產的進度。本研究基于機載LiDAR點云原始數據,通過分析點云數據相對空間位置結構,著重探討了水域邊界線的程序自動識別、水域內部點云修復的處理方案,最后通過對某4.6 km長的河流進行了測試,在帶狀水域點云修復與DEM的生成中,獲得了較好的測試效果,大大提高了帶狀水域DEM的制作效率。
如上所述,水域DEM部分的最終質量需滿足如下兩個基本要求[11-12]:一是水域與其周邊地貌過渡的一致性,高程異常不可過大;二是在水域DEM內部,帶狀水域表面需做到自然平滑過渡。在長距離的河流區域,其上游與下游高程差異非常明顯,要滿足帶狀水域DEM表面自然平滑,需內插、修復高程數據,即在生成DEM之前,對原始點云的帶狀河流區域內,進行點云修復。當然,若提高生產效率,應通過算法、程序完成。該過程涉及兩個獨立處理環節:一是原始點云中快速完成對數據的搜索,并識別水域,提取水域邊界線;二是對水域邊界范圍內進行點云修復處理。其綜合處理算法與流程如下所示。
針對原始點云數據,快速識別其中水域邊線,是后期進行點云修復的第一步,因此,如圖1所示,水域邊界線的提取方案如下:

1)獲取原始點云LAS數據,對原始數據標記點云識別碼并進行備份,用于后期的數據替換,把其中一份原始點云數據進行零高程面投影,投影后構建不規則TIN三角網,如圖2(a)所示。
2)針對投影后構建的TIN三角網,計算各三角形外接圓半徑,并賦值唯一標識碼“unvisitied”,由于水體對機載激光信號具有較強的吸收作用,因此機載LiDAR在水域中并無點云數據存在,所以,根據三角形外接圓半徑的大小不同,以區分地表點與水域空洞,即當TIN三角網外接圓半徑大于初始閾值時,則判為水域,此時該三角網保留并重新進行編號,編號示意如圖2(b)所示,反之,判定為普通地表、地物點,同時更改三角網屬性標記“unvisitied”為“visitied”。
3)判斷是否存在標識碼“unvisitied”,若有,則重復第2)步,若無,則進行下一步。
4)對上述步驟識別后的水域三角網進行合并處理,設定合并后的多邊形編號。
5)記錄水域多邊形各個節點識別碼,根據此識別碼提取備份數據中對應點云,串聯點云形成水域多邊形邊界線(如圖2(c)所示),同時提取各節點高程值Hi。如為塊狀水域,則對其內部進行點云內插,內插值統一為邊界節點最低高程值,如圖2(d)所示。
在帶狀水域點云修復環節中,主要分為兩個處理步驟:一是對具有范圍邊界線的帶狀水域提取中心線;二是依據流向中心線內插、修復高程點,具體修復方法如下:
1)依據上述帶狀水域多邊形邊界線,提取帶狀水域中心線。首先,根據水域邊界點云數據構建TIN三角網,如圖3(a)所示。
2)采用“TIN中點法”計算其中心點坐標。如圖3(b)所示,三角形ABC,3個頂點坐標分別為A(xa,ya),B(xb,yb),C(xc,yc),計算、對比3條三角形邊長,確定最短邊長BC,取其中點L1(x1,y1),由L1(x1,y1)及其對角點A(xa,ya)解算中線AL1中點O1,以此類推,遍歷所有水域范圍內Delaunay三角網,計算各短邊中線中點坐標Oi(xi,yi)。
3)按一定順序連接各中心點Oi(xi,yi),形成帶狀水域中心線,如圖3(c)所示。
4)依據水域中心線,進行分段內插高程點。根據圖3(c)各三角網短邊對應中心點,布設中線分段內插種子,如圖4(a)所示,點云修復時,計算水域多邊形邊界點距各種子的距離,以種子為中心形成聚類分區,其效果如圖4(b)所示,每種顏色區塊代表一個聚類分區,其高程決定于該分區邊界高程最小值的點云數據,取該最小值作為該分塊區域的水面高程值。
5)至此生成的帶狀水域DEM為階梯狀帶狀DEM,若要做到水域內部自然平滑過渡,則需對每相鄰兩塊點云高程作“高斯加權平滑處理”。即計算每個點云一定鄰域范圍內的高程值的反距離加權平均值作為該點的高程。
為了測試本研究帶狀水域點云修復方法的效果,我們對寧夏某河流進行了實地數據采集,河流寬約160 m,測試距離約4.6 km,機載LiDAR點云采集的數學基準為:中央子午線105°,平面坐標為CGCS2000坐標系,高程采用1985國家高程基準。數據采集航高200 m,共飛行5架次,采集點云3 262 681個?;诒狙芯繋钏螯c云修復算法,借助C語言,編制了水域邊界線快速識別、邊界范圍線內部點云清除、河流中心線提取以及點云修復程序。效果如圖5所示,圖5(a)為邊界線提取效果,圖中多邊形紅色為帶狀水域邊界線,圖5(b)為測試河流水面點云修復效果,圖5(c)為測區DEM成果,同時,為了更為直觀的檢查河流水面的修復質量,我們對其中心線做了剖面處理,如圖5(d)所示,直觀的顯示出,河流中心上游至下游河流水面的高程變化趨勢,為線性遞減,很好地表現了水面自然平滑過渡的狀態,圖5(e)為測區點云修復后側視圖效果,地形、修復點云等場景表現更為直觀。

因此,從本次測試案例中可以得知,基于本研究帶狀水域點云快速修復方案,大大提高了DEM的生產效率,質量上亦滿足了DEM相關質量檢驗規范要求,獲得了一次較好的應用效果。

通過探討機載LiDAR點云數據的空間數據結構,引用、改進了帶狀水域點云快速識別與修復方法,然而,需要說明的是,由于水面時而存在漂浮物,在數據采集時,掃到漂浮物后會形成激光點數據,因此在對水域進行點云修復前,需對水域多邊形邊界內的點云做刪除處理;同時,前期在對點云構建TIN三角網前,需將所有點云進行“零”高程面處理,是避免高植被點與附近地面點形成較大三角網,致使其外接圓半徑大于設定閾值,被誤認為水域邊界,此外,構建TIN三角網前不做點云分類處理,若只用地面點,則原有建筑物、構筑物、高密度植被等所有位置均為點云空洞,同樣會被程序誤認為水域。本研究通過實測案例,對本研究方案進行了測試,獲得了較好的測試效果,同時,在該方案的使用中亦獲取了如下兩點認識:
1)在初始設定三角網外接圓半徑時,應根據實際點云密度而定,閾值設定過大,導致水域邊界粗糙,忽略拐點角度過大的水域三角網;閾值設定過小,可將地面TIN誤認為水域要素,致使程序識別精細度降低。因此,應根據實際采集點云密度及其空間間距,科學、合理地確定三角網外接圓半徑閾值。
2)為確保帶狀水域修復后的DEM表面滿足“自然平滑過渡”這一質檢要求,則需提高前期水域中線種子布設密度,否則會導致水域DEM表面形成不平滑臺階狀。
地表江河眾多,其形狀、特征各異,若使本研究探討方案能夠應對所有帶狀水域,則需后期對其進行大量的測試與驗證,以逐步改進、完善該帶狀水域DEM點云修復方案。
