張學(xué)儀
(四川中水成勘院測(cè)繪工程有限責(zé)任公司,成都 610072)
DEM生產(chǎn)是測(cè)繪地理信息專業(yè)領(lǐng)域最重要的業(yè)務(wù)之一??偨Y(jié)了DEM生產(chǎn)項(xiàng)目經(jīng)驗(yàn),針對(duì)流域規(guī)劃、水域分析和河湖劃界等解決DEM生產(chǎn)中的實(shí)際問(wèn)題,經(jīng)過(guò)試驗(yàn)和調(diào)整,提出了一套較完整的解決方案。流程如圖1所示。
圖1 DEM生產(chǎn)解決方案圖Fig.1 Conceptual drawing of DEM production
DEM生產(chǎn)方法很多,本研究主要分析其中兩種,即利用激光點(diǎn)云生成DEM,在地形圖中提取高程點(diǎn)及等高線生成DEM。提取基礎(chǔ)數(shù)據(jù)后,利用Arcpy開(kāi)發(fā)程序集,對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行質(zhì)量檢查,分析基礎(chǔ)數(shù)據(jù)質(zhì)量,對(duì)有問(wèn)題的數(shù)據(jù)進(jìn)行整改。數(shù)據(jù)檢查包括以下內(nèi)容:等高線高程點(diǎn)屬性字段檢查,如是否有低點(diǎn)、錯(cuò)點(diǎn)或等高線錯(cuò)值與非整數(shù)值等;處理等高線自相交、相交與水系相交;穿雙線水域等高線兩邊拉直,不要有弧度;池塘等高線下水處理、水域遇涵洞與閉合圈處理、房區(qū)周圍等高線處理、特征點(diǎn)(鞍部、閉合圈等)處理。
針對(duì)DEM生成和后期水面改正,開(kāi)發(fā)了DLG質(zhì)檢程序集,如圖2所示,主要用于檢查基礎(chǔ)數(shù)據(jù)資料質(zhì)量。
圖2 DLG質(zhì)檢工具集Fig.2 DLG quality control tool set
TIN的全稱是Triangulated Irregular Network,即“不規(guī)則三角網(wǎng)”,也是一種數(shù)字模型。TIN文件可表達(dá)高程的數(shù)字模型,與DEM的區(qū)別是矢量,而DEM是柵格。矢量的高程點(diǎn)和等高線轉(zhuǎn)換為連續(xù)面狀DEM高程數(shù)據(jù)模型則需要插值完成。而插值過(guò)程不能直接將矢量插值轉(zhuǎn)化為柵格數(shù)據(jù),應(yīng)先插值生成TIN模型,再將其轉(zhuǎn)化為柵格數(shù)字高程模型DEM文件。
雖然通過(guò)特征點(diǎn)線建構(gòu)TIN生產(chǎn)的DEM質(zhì)量很高,但TIN數(shù)據(jù)中通常存在平三角(三角形3個(gè)頂點(diǎn)高程相等)。平三角在局部地形,特別是山脊和山谷會(huì)出現(xiàn)一些不合理的平坦區(qū)域,在DEM反生等高線與已有圖進(jìn)行套合比對(duì)時(shí),兩者差異會(huì)出現(xiàn)不符合規(guī)范要求的情況,因此需要利用程序來(lái)解決。圖3是平三角處理前后反生等高線套合的結(jié)果,圖4是TIN編輯處理效果對(duì)比圖。
圖3 平三角處理前后反生等高線套合情況Fig.3 Inversion contour nesting before and after flat triangulation
圖4 TIN編輯處理效果Fig.4 TIN editing treatment effect
激光點(diǎn)云生成DEM的過(guò)程中,由于一般水面對(duì)激光的反射信號(hào)很弱,導(dǎo)致水面上沒(méi)有激光點(diǎn),因此生成的DEM上會(huì)出現(xiàn)空洞。由于水中有沙灘和漂浮物等,會(huì)使激光雷達(dá)在水面上的激光點(diǎn)有誤差,令生成的DEM水面變得很粗糙。而由等高線和高程點(diǎn)生產(chǎn)的DEM,在水面區(qū)域也會(huì)出現(xiàn)類似問(wèn)題。
對(duì)于DEM水面改正這一問(wèn)題提出微分階梯法,即將水面微分為一段很小的面,認(rèn)為此水面是水平的,由一個(gè)個(gè)小平面模擬構(gòu)成水面。但在實(shí)施中發(fā)現(xiàn),微分法會(huì)產(chǎn)生很多小面,數(shù)據(jù)量非常大,即使河流微分化再小,實(shí)際水面仍是不連續(xù)的階梯平面。
針對(duì)此問(wèn)題提出一種新方法,即斜面法,將河流進(jìn)行分段處理。河流一般都很長(zhǎng),如果不分段處理,其數(shù)據(jù)量非常大,程序運(yùn)行效率很低。且一條大河流在不同區(qū)域的特性有差異,分段化是為了區(qū)分河流的變化。分段處理完成以后,將分段河流看做是三維空間的一個(gè)斜面,在流向方向一直遞增或遞減,使其更符合河流的特性,更切合實(shí)際,如表1所示。
表1 算法設(shè)計(jì)對(duì)比Tab.1 Comparison of algorithm design
DEM水面改正程序采用斜面法模型,將流域內(nèi)水面微分成指定間距的一個(gè)個(gè)斜面,為保持河流特性,在斜面相交的地方用小三角形斜面連接,用小三角形進(jìn)行過(guò)渡,以解決因不同斜面不共面而造成的誤差及河流倒流等情況,通過(guò)斜面方程重新計(jì)算流域內(nèi)水面的格網(wǎng)高程,完成水面改正并計(jì)算中誤差。通過(guò)參考三維空間的高程數(shù)據(jù),計(jì)算出該斜面的方程。算法模型概念設(shè)計(jì)如圖5所示。
圖5 算法模型概念設(shè)計(jì)示意Fig.5 Schematic map of the conceptual designof the algorithm model
斜面法模型方程為Z=Ax+By+C,主要由離散點(diǎn)擬合平面,利用超定方程:
由BX=L,其最小二乘解為X=(BTB)-1BTL。
程序功能:一是生成斜面。將河流分段,通過(guò)用戶采集的水邊線和激光點(diǎn)云,對(duì)河流進(jìn)行分段處理。二是計(jì)算斜面參數(shù)。在生成斜面后,根據(jù)激光點(diǎn)云,生成斜面參數(shù),利用該參數(shù)計(jì)算斜面內(nèi)任意一點(diǎn)的高程。三是利用斜面修改DEM。根據(jù)計(jì)算的斜面參數(shù),對(duì)DEM進(jìn)行修正,將DEM中的水面高程進(jìn)行修改,計(jì)算并輸出DEM成果,如圖6所示。
圖6 水面改正程序?qū)崿F(xiàn)和運(yùn)行Fig.6 Implementation and operation of water surface correction program
基于Arcpy程序開(kāi)發(fā),解決了DEM生產(chǎn)過(guò)程中的水域問(wèn)題,運(yùn)行效果如圖7所示。
圖7 DEM水面改正效果圖Fig.7 DEM water surface correction effect
經(jīng)過(guò)TIN編輯、平三角處理和DEM水面改正,將TIN轉(zhuǎn)換為成果DEM,再進(jìn)行相關(guān)柵格計(jì)算和分幅裁剪,輸出規(guī)范的DEM成果。
DEM生產(chǎn)是測(cè)繪地理信息中的基礎(chǔ)工作之一,為了高質(zhì)量、高效率地生產(chǎn)DEM,通過(guò)生產(chǎn)項(xiàng)目實(shí)踐,利用ArcGIS和Arcpy程序開(kāi)發(fā),針對(duì)實(shí)際問(wèn)題,提出了解決方案。