唐佑輝,許成義,趙云昌
(山東省國(guó)土測(cè)繪院,山東 濟(jì)南 250013)
水下地形測(cè)量是新型基礎(chǔ)測(cè)繪的重要組成部分[1],分為常規(guī)模式和自動(dòng)化模式。常規(guī)模式采用GNSS方法測(cè)量測(cè)點(diǎn)平面位置,用測(cè)深桿、測(cè)深錘測(cè)量水深;自動(dòng)化模式采用無(wú)人測(cè)量船測(cè)量,無(wú)人測(cè)量船集成了GNSS、姿態(tài)儀、單波束測(cè)深儀或者多波束測(cè)深儀,能夠同步采集測(cè)點(diǎn)平面位置和水深數(shù)據(jù)[2-4]。水下地形測(cè)量具有隱蔽性,無(wú)法像陸上地形測(cè)繪一樣,可以自主選擇地形特征點(diǎn),只能通過(guò)布設(shè)一定數(shù)量的主測(cè)線獲取測(cè)線上一定間隔的水下點(diǎn)信息。水下地形測(cè)量的隱蔽性,決定了其無(wú)法像陸地地形檢查那樣,通過(guò)實(shí)地測(cè)點(diǎn)來(lái)衡量地形測(cè)量成果質(zhì)量。《水利水電工程測(cè)量規(guī)范》規(guī)定,應(yīng)布設(shè)一定數(shù)量的測(cè)深檢查線,且檢查線宜垂直于測(cè)深線,通過(guò)對(duì)比圖上1mm范圍內(nèi)水深點(diǎn)的深度來(lái)衡量水下地形測(cè)量的精度[5]。因此準(zhǔn)確、高效的對(duì)比統(tǒng)計(jì)距離限差范圍的水深點(diǎn)的深度誤差及各項(xiàng)檢驗(yàn)參數(shù)在水下地形測(cè)量質(zhì)量中至關(guān)重要。
水下地形測(cè)量是指利用測(cè)繪手段,獲取水下點(diǎn)定位、水深及高程信息。水下點(diǎn)定位通常采用GNSS接收機(jī),通過(guò)CORS獲取水下定位點(diǎn)對(duì)應(yīng)的水面點(diǎn)X、Y、Z坐標(biāo)。水深值通過(guò)單波束或多波束測(cè)深系統(tǒng)獲取。通過(guò)水面點(diǎn)大地高和水深值可獲得水下測(cè)量點(diǎn)的大地高,利用區(qū)域似大地水準(zhǔn)面模型轉(zhuǎn)換可獲得水下測(cè)量點(diǎn)的正常高[6-7]。
水深測(cè)量主要利用了回聲測(cè)距原理,發(fā)射換能器向水下發(fā)射一個(gè)脈沖超聲波信號(hào),在水中向下傳播,遇到密度不同的水底介質(zhì)時(shí)發(fā)生反射,反射后的聲脈沖被水面的接受換能器所接收。根據(jù)聲脈沖在水中往返的時(shí)間及聲脈沖在水中的傳播速度,即可計(jì)算出換能器至水底的直線距離。由于換能器底面距離水面有一定距離,用于計(jì)算水深的聲速與實(shí)際聲速不同,導(dǎo)致回聲測(cè)深儀測(cè)得的觀測(cè)水深并非實(shí)際水深。要獲得實(shí)際水深要經(jīng)過(guò)吃水改正、聲速改正,吃水改正可以輸入船體吃水深度進(jìn)行實(shí)時(shí)改正,聲速改正可以根據(jù)測(cè)得實(shí)際聲速進(jìn)行后期改正[8-9]。實(shí)際水深獲取流程如圖1所示。
圖1 實(shí)際水深獲取流程圖
水下地形測(cè)量的誤差來(lái)源主要包括測(cè)點(diǎn)平面位置誤差及水深測(cè)量誤差[10-13]。測(cè)點(diǎn)定位采用GNSS實(shí)時(shí)動(dòng)態(tài)差分定位,影響測(cè)點(diǎn)平面定位精度的主要因素為接收衛(wèi)星的狀況、電離層影響、多路徑效應(yīng)等。水深測(cè)量誤差主要包括聲波回聲誤差、船舶姿態(tài)變化引起的誤差、船舶動(dòng)態(tài)吃水引起的誤差等。水下地形測(cè)量主要目的是獲取水底地形點(diǎn)的高程信息,GNSS實(shí)時(shí)動(dòng)態(tài)差分獲取的大地高誤差及區(qū)域似大地水準(zhǔn)面精化模型轉(zhuǎn)換誤差也會(huì)影響水下地形測(cè)量成果的質(zhì)量。
水下地形測(cè)量的質(zhì)量檢查主要通過(guò)在水域布設(shè)一定數(shù)量的檢查線,比對(duì)檢查線和主測(cè)線相交處一定距離的測(cè)點(diǎn)水深差值來(lái)實(shí)現(xiàn)。水下地形測(cè)量數(shù)據(jù)檢查的參數(shù)較多,包括主測(cè)線總長(zhǎng)度、檢測(cè)線總長(zhǎng)度、檢測(cè)線長(zhǎng)度占主測(cè)線長(zhǎng)度比、對(duì)比樣本點(diǎn)個(gè)數(shù)、不符值個(gè)數(shù)、不符值比例、各深度區(qū)間檢測(cè)中誤差、各深度區(qū)間超限點(diǎn)個(gè)數(shù)等,需要計(jì)算統(tǒng)計(jì)的項(xiàng)目較多,單純依靠人工尋找檢測(cè)比對(duì)點(diǎn)難度較大,因此設(shè)計(jì)開(kāi)發(fā)一套水深比對(duì)檢測(cè)系統(tǒng)很有必要。
外業(yè)數(shù)據(jù)采集前,需要事先收集水域主測(cè)線的方向、主測(cè)線長(zhǎng)度、水域面積等信息。按照《水利水電工程測(cè)量規(guī)范》規(guī)定,測(cè)深檢查線宜垂直于主測(cè)線方向,其長(zhǎng)度不宜小于測(cè)深線總長(zhǎng)度的5%。檢查線的布設(shè)應(yīng)分布均勻,為了兼顧水域重點(diǎn)部位(如水庫(kù)主壩前)的精度,適當(dāng)在特殊部位增設(shè)檢查線。檢查線上測(cè)點(diǎn)間隔應(yīng)不低于測(cè)線施測(cè)的測(cè)點(diǎn)間隔。系統(tǒng)設(shè)定主測(cè)線文件和檢查線文件為CASS格式,測(cè)點(diǎn)高程為正常高,進(jìn)行檢查線施測(cè)時(shí)應(yīng)采用RTK獲取水面正常高,用以計(jì)算各測(cè)點(diǎn)的水深區(qū)間。在數(shù)據(jù)采集過(guò)程中,由于水流速度、波浪大小、船行速度等因素影響,會(huì)造成吃水深度不同程度的改變,從而影響檢測(cè)數(shù)據(jù)質(zhì)量。無(wú)人船采集數(shù)據(jù)時(shí),將其自動(dòng)模式可有效保證船行速度且能保證按照設(shè)定的測(cè)線方向運(yùn)行,在浪高大于0.4m時(shí)應(yīng)停止采集數(shù)據(jù),從而提高檢測(cè)數(shù)據(jù)采集質(zhì)量。
系統(tǒng)模塊包括打開(kāi)文件、參數(shù)設(shè)置、統(tǒng)計(jì)結(jié)果展示及比對(duì)詳細(xì)結(jié)果展示模塊。
(1)打開(kāi)文件模塊:設(shè)定檢測(cè)線和主測(cè)線數(shù)據(jù)文件的格式,本系統(tǒng)可以讀取CASS格式及東北高(空格分割)模式的數(shù)據(jù)文件。
(2)參數(shù)設(shè)置模塊:需要設(shè)置圖上檢查線和主測(cè)線比對(duì)范圍、成圖比例尺(通過(guò)比對(duì)范圍和成圖比例尺確定實(shí)地檢測(cè)數(shù)據(jù)比對(duì)范圍)、測(cè)量時(shí)的水面高程(用以計(jì)算測(cè)點(diǎn)水深)、測(cè)區(qū)名稱、各區(qū)間深度限差要求(本系統(tǒng)中將測(cè)深區(qū)間設(shè)定為0~5m、5~10m、10~20m、20m以上4個(gè)區(qū)間)。
(3)統(tǒng)計(jì)結(jié)果展示模塊:展示的統(tǒng)計(jì)結(jié)果包括主測(cè)線長(zhǎng)度、檢查線長(zhǎng)度、檢測(cè)線長(zhǎng)度占主測(cè)線長(zhǎng)度的百分比、各區(qū)間深度超限點(diǎn)個(gè)數(shù)及超限比例、檢測(cè)比對(duì)的樣本數(shù)、總的不符值個(gè)數(shù)和比例另外還計(jì)算了比對(duì)的總的中誤差(僅供參考使用,在導(dǎo)出的統(tǒng)計(jì)結(jié)果中按照深度區(qū)間分別計(jì)算中誤差)。
(4)對(duì)比詳細(xì)結(jié)果:詳細(xì)展示了比對(duì)的檢測(cè)線測(cè)點(diǎn)坐標(biāo)及相匹配的主測(cè)線測(cè)點(diǎn)坐標(biāo)、測(cè)點(diǎn)間距、水底高程差值、檢測(cè)水深值等信息。
水深比對(duì)算法有最近點(diǎn)法、交叉點(diǎn)法、DEM法[14-15]。本系統(tǒng)采用最近點(diǎn)法進(jìn)行開(kāi)發(fā)。按照《水利水電工程測(cè)量規(guī)范》規(guī)定檢測(cè)線與主測(cè)線相交處,圖上1mm范圍內(nèi)進(jìn)行比對(duì)。為加快比對(duì)速度,首先對(duì)主測(cè)線文件縮小范圍,通過(guò)計(jì)算出檢測(cè)線文件的最大坐標(biāo)值和最小坐標(biāo)值,將主測(cè)線文件提取出檢測(cè)線文件所在區(qū)域的坐標(biāo)數(shù)據(jù)。檢測(cè)線某一測(cè)點(diǎn)數(shù)據(jù)可能在圖上1mm范圍內(nèi)存在多個(gè)與之相匹配的主測(cè)線測(cè)點(diǎn),通過(guò)篩選出距離最近的主測(cè)線測(cè)點(diǎn)作為比對(duì)測(cè)點(diǎn)數(shù)據(jù)。在統(tǒng)計(jì)分析階段根據(jù)水深值進(jìn)行區(qū)間劃分,對(duì)符合限差范圍的測(cè)點(diǎn)文件和超限測(cè)點(diǎn)文件進(jìn)行計(jì)數(shù)。比對(duì)的具體設(shè)計(jì)如圖2所示。
圖2 水深比對(duì)算法流程圖
本系統(tǒng)采用Python語(yǔ)言,基于PyQt5包的方式進(jìn)行開(kāi)發(fā)。Python是一種面向?qū)ο蟮慕忉屝透呒?jí)編程語(yǔ)言,相較于C、C++等編譯型語(yǔ)言來(lái)說(shuō)具有簡(jiǎn)單易學(xué)、編寫效率高等特點(diǎn)[16-20]。Qt是一個(gè)跨平臺(tái)C++開(kāi)發(fā)庫(kù),能夠開(kāi)發(fā)出界面更加美觀的圖形用戶界面應(yīng)用程序。PyQt5是Python與Qt結(jié)合的產(chǎn)物,它既可以利用Python語(yǔ)言強(qiáng)大而又簡(jiǎn)潔的語(yǔ)法,又可以利用Qt強(qiáng)大的功能。PyQt5由一些列的python模塊組成,擁有超過(guò)620個(gè)類和6000個(gè)函數(shù)及方法[2]。PyQt5的模塊包括QtCore、QtGui、QtWidgets、QtMultimedia、QtBluetooth、QtNetwork、QtPositioning等15個(gè)模塊。
系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)功能主要包括:
(1)通過(guò)導(dǎo)入檢測(cè)線文件和主測(cè)線文件,根據(jù)設(shè)計(jì)好的圖上比對(duì)范圍,進(jìn)行水深比對(duì)計(jì)算,計(jì)算出測(cè)點(diǎn)匹配數(shù)據(jù)及各項(xiàng)檢驗(yàn)參數(shù)。
(2)實(shí)現(xiàn)水深檢測(cè)原始記錄表和水深檢測(cè)統(tǒng)計(jì)記錄表的自動(dòng)生成,生成的格式為excel格式。
(3)自動(dòng)繪制主測(cè)線和檢測(cè)線走向示意圖,展示主測(cè)線和檢查線方向及測(cè)點(diǎn)數(shù)據(jù)范圍。
為檢驗(yàn)系統(tǒng)的運(yùn)行效率,選取山東省濟(jì)南市某小型水庫(kù)作為樣例進(jìn)行檢測(cè)。該水庫(kù)主測(cè)線文件包含4萬(wàn)多條測(cè)點(diǎn)數(shù)據(jù),檢測(cè)線文件包含2900多條測(cè)點(diǎn)數(shù)據(jù)。測(cè)線數(shù)據(jù)格式為CASS模式,水面高程為310.38m。打開(kāi)系統(tǒng)選擇檢測(cè)線文件和主測(cè)線文件,輸入水面高程及測(cè)區(qū)名稱,設(shè)置各區(qū)間中誤差,點(diǎn)擊比對(duì)計(jì)算按鈕,在控制臺(tái)窗口中將顯示程序執(zhí)行的進(jìn)度,具體執(zhí)行過(guò)程如下圖3所示。
圖3 水深比對(duì)系統(tǒng)運(yùn)行圖
本項(xiàng)目比對(duì)計(jì)算執(zhí)行時(shí)間為19.4s。系統(tǒng)執(zhí)行完比對(duì)計(jì)算后,將在詳細(xì)結(jié)果窗口中展示對(duì)比的具體信息,點(diǎn)擊導(dǎo)出原始記錄按鈕將導(dǎo)出具體的比對(duì)數(shù)據(jù),點(diǎn)擊導(dǎo)出統(tǒng)計(jì)結(jié)果按鈕將導(dǎo)出各區(qū)間深度中誤差計(jì)算統(tǒng)計(jì)表并在程序主界面對(duì)比結(jié)果中展示各深度區(qū)間超限點(diǎn)數(shù)、超限比例等計(jì)算指標(biāo)。圖4為程序運(yùn)行完成后展示的對(duì)比結(jié)果,圖5為生成的主測(cè)線與檢測(cè)線方向示意圖,可方便瀏覽主測(cè)線和檢查線方向,圖6為生成的水深比對(duì)統(tǒng)計(jì)表,表格中將對(duì)比的各項(xiàng)參數(shù)結(jié)果進(jìn)行了展示。
圖4 水深比對(duì)計(jì)算結(jié)果
圖5 檢測(cè)線與主測(cè)線方向示意圖
圖6 水深比對(duì)統(tǒng)計(jì)表
(1)本文敘述了目前水下地形測(cè)量的方法主要分為常規(guī)模式和自動(dòng)化模型,水下地形測(cè)量質(zhì)量檢查與陸上地形圖質(zhì)量檢查的不同點(diǎn)。簡(jiǎn)要回顧了水下地形測(cè)量的原理及水下地形測(cè)量的誤差來(lái)源。
(2)本文針對(duì)水下地形測(cè)量質(zhì)量檢查需要檢查的參數(shù)較多,檢測(cè)數(shù)據(jù)量大的特點(diǎn),設(shè)計(jì)了一套水深比對(duì)檢測(cè)系統(tǒng),從水下地形測(cè)量檢測(cè)要求、系統(tǒng)模塊、比對(duì)算法等方面進(jìn)行設(shè)計(jì)。
(3)本文結(jié)合Python語(yǔ)言具有開(kāi)發(fā)速度快、開(kāi)發(fā)效率高的顯著優(yōu)勢(shì)及PyQt5作為圖形界面程序(GUI)開(kāi)發(fā)的工具包的優(yōu)點(diǎn),利用python語(yǔ)言和PyQt5工具開(kāi)發(fā)了一套水深比對(duì)檢測(cè)系統(tǒng),實(shí)現(xiàn)了對(duì)水下測(cè)量檢測(cè)線和主測(cè)線測(cè)深數(shù)據(jù)的自動(dòng)比對(duì),自動(dòng)計(jì)算統(tǒng)計(jì)各項(xiàng)檢查參數(shù)、生成檢測(cè)線和主測(cè)線走向示意圖等功能。在山東省某水庫(kù)的水下地形測(cè)量質(zhì)量檢查中得到了應(yīng)用,取得了較好的效果。
(4)本系統(tǒng)在設(shè)計(jì)時(shí)兼容了CASS格式和東北高(空格分割)模式的檢測(cè)數(shù)據(jù),提高了對(duì)檢測(cè)數(shù)據(jù)格式的適用性。測(cè)線里程計(jì)算根據(jù)相鄰兩點(diǎn)之間距離進(jìn)行累計(jì)計(jì)算得來(lái),如對(duì)測(cè)線數(shù)據(jù)進(jìn)行隨意排序?qū)?huì)影響里程計(jì)算,可通過(guò)在CASS中進(jìn)行展點(diǎn)計(jì)算其測(cè)線里程。