溫玉維 鄭 晶 曾德培 翁向陽(yáng) 周 翔
1中國(guó)能源建設(shè)集團(tuán)湖南省電力設(shè)計(jì)院有限公司,湖南 長(zhǎng)沙,410007
像控點(diǎn)之記成果作為航空攝影測(cè)量數(shù)據(jù)處理的重要基礎(chǔ)資料,對(duì)內(nèi)業(yè)刺點(diǎn)和4D產(chǎn)品的生產(chǎn)精度和效率具有重要影響。傳統(tǒng)方法是由作業(yè)人員找到像控點(diǎn)所在航片,采用Adobe Photoshop軟件手工進(jìn)行像片刺點(diǎn)和整飾,并將數(shù)據(jù)整理成像控點(diǎn)之記Word文檔,或者在AutoCAD插入影像圖再畫圖編輯成點(diǎn)之記。特別是低空攝影測(cè)量中需要大量的像控點(diǎn),?依靠手工刺取像控點(diǎn),并人工完成點(diǎn)之記成果文檔的制作是一件費(fèi)時(shí)費(fèi)力的工作,不僅效率低且錯(cuò)誤率高[1]。
針對(duì)上述問(wèn)題,姚文龍等[2]研究了Word格式點(diǎn)之記成果的自動(dòng)化讀取與輸出,實(shí)現(xiàn)現(xiàn)有點(diǎn)之記成果的批量修改、批量轉(zhuǎn)刺。何云貴等[3]介紹了點(diǎn)之記的制作方法,并研究了所用照片的批處理及點(diǎn)之記文檔的部分自動(dòng)化處理。謝飛等[4]利用點(diǎn)之記模板實(shí)現(xiàn)無(wú)人機(jī)像控點(diǎn)之記Word文檔的快速制作。鄧軍[5]利用Word郵件合并功能將Excel數(shù)據(jù)制作成點(diǎn)之記電子文檔。以上研究都從不同的角度一定程度上解決了點(diǎn)之記成果文件制作過(guò)程中的困難,提高了生產(chǎn)效率。
本文基于C#編程語(yǔ)言,通過(guò)引入GDAL、NPOI等開源庫(kù)開發(fā)航測(cè)像控點(diǎn)之記自動(dòng)生成系統(tǒng),采用共線方程解算航片的覆蓋范圍,實(shí)現(xiàn)像控點(diǎn)所在航片的自動(dòng)化選取,輔助完成刺點(diǎn)片點(diǎn)位的選擇并自動(dòng)生成像控點(diǎn)點(diǎn)位圖片,最終實(shí)現(xiàn)點(diǎn)之記電子文檔的自動(dòng)化生成,大幅減少人工重復(fù)作業(yè)量和錯(cuò)誤率,提高作業(yè)效率。
由于低空飛行器航片像幅小,航片數(shù)量是非常龐大的,人工快速找到像控點(diǎn)所在的航片并完成位置標(biāo)注是不現(xiàn)實(shí)的,特別是航測(cè)后期補(bǔ)測(cè)的像控點(diǎn)更不容易尋找。本程序可以根據(jù)航空攝影測(cè)量獲取的POS數(shù)據(jù)、飛行參數(shù)和相機(jī)參數(shù)計(jì)算出每幅航片的地面覆蓋范圍,自動(dòng)查找到覆蓋控制點(diǎn)的航片并標(biāo)繪像控點(diǎn)的預(yù)測(cè)位置,輔助作業(yè)人員完成像控點(diǎn)位置標(biāo)注。
航空攝影測(cè)量需要大量的像控點(diǎn)實(shí)現(xiàn)高精度空三解算,本程序可以根據(jù)作業(yè)人員標(biāo)注的像控點(diǎn)航片及位置信息自動(dòng)生成點(diǎn)位略圖(50%)、點(diǎn)位圖(100%)略圖和點(diǎn)位詳圖(200%),也可以自定義點(diǎn)位圖縮放比率,并結(jié)合點(diǎn)號(hào)、直角坐標(biāo)等控制點(diǎn)基本信息和比例尺、時(shí)間等航測(cè)信息,同時(shí)交互提交現(xiàn)場(chǎng)照片和相關(guān)文字說(shuō)明,提取點(diǎn)之記成果所需的信息,最終自動(dòng)生成固定樣式的點(diǎn)之記成果Word文檔。
航測(cè)像控點(diǎn)之記自動(dòng)生成系統(tǒng)的工作流程如圖1所示,主要包括新建工程、參數(shù)解算、像控點(diǎn)位置標(biāo)注、信息錄入和文檔生成。
圖1 系統(tǒng)作業(yè)流程圖Fig.1 Flow Char of System Operation
新建工程主要完成相機(jī)參數(shù)、POS數(shù)據(jù)和航片數(shù)據(jù)的導(dǎo)入和存儲(chǔ),系統(tǒng)支持文本格式的POS數(shù)據(jù)導(dǎo)入,也可以自動(dòng)讀取大疆無(wú)人機(jī)航片內(nèi)的POS信息;參數(shù)解算主要根據(jù)POS數(shù)據(jù)和相機(jī)參數(shù)計(jì)算每幅航片的地面覆蓋范圍;像控點(diǎn)位置標(biāo)注主要由作業(yè)人員采用人機(jī)交互的方式在航片上標(biāo)注每個(gè)像控點(diǎn)的位置;信息錄入主要是在完成像控點(diǎn)位置標(biāo)注后錄入像控點(diǎn)的基本信息(如像控點(diǎn)位置描述等);文檔生成是根據(jù)像控點(diǎn)的相關(guān)信息,批量完成像控點(diǎn)之記信息提取與匯總,并自動(dòng)化完成點(diǎn)之記成果文檔的制作。
共線方程是指中心投影的構(gòu)像方程,見式(1),地面攝影測(cè)量坐標(biāo)系D-xyz和像空間輔助坐標(biāo)系S-uvw的坐標(biāo)軸彼此平行,在攝影成像過(guò)程中,攝影中心S、像點(diǎn)a、及其對(duì)應(yīng)的地面點(diǎn)A位于一條直線上。航片地面覆蓋范圍可以由式(1)的逆運(yùn)算求得,見式(2)。
式中,x、y為像點(diǎn)的像平面坐標(biāo);X、Y、Z為對(duì)應(yīng)地面點(diǎn)的坐標(biāo);x0、y0、f為航片的內(nèi)方位元素;X S、YS、ZS為投影中心的地面坐標(biāo);ai、bi、ci(i=1、2、3)是航片旋轉(zhuǎn)矩陣的方向余弦,可以根據(jù)滾動(dòng)角、俯仰角和翻轉(zhuǎn)角求得,計(jì)算公式為:
本系統(tǒng)使用C#語(yǔ)言編程,采用面向?qū)ο蟮姆椒ㄟM(jìn)行開發(fā)。系統(tǒng)界面設(shè)計(jì)采用DevExpress控件,利用Sharp Map庫(kù)實(shí)現(xiàn)各類GIS數(shù)據(jù)的渲染,基于輕量級(jí) 空 間 數(shù) 據(jù) 庫(kù)Spatialite[6,7]存 儲(chǔ) 空 間 數(shù) 據(jù) 和 屬 性 數(shù)據(jù),SpatiaLite是一個(gè)SQLite的開源擴(kuò)展庫(kù),是支持OGC標(biāo)準(zhǔn)的完整空間數(shù)據(jù)庫(kù)管理系統(tǒng),GDAL/OGR庫(kù)實(shí)現(xiàn)對(duì)空間數(shù)據(jù)的讀取、寫入和分析等操作[8],采用NPOI實(shí)現(xiàn)對(duì)Word文檔的讀寫操作。系統(tǒng)全部采用開源庫(kù)進(jìn)行開發(fā),客戶機(jī)無(wú)需安裝任何第三方軟件平臺(tái),提高了系統(tǒng)的實(shí)用性與便捷性。
低空航空攝影測(cè)量采集的航片數(shù)據(jù)量大、測(cè)量像控點(diǎn)多,一個(gè)航測(cè)項(xiàng)目的點(diǎn)之記很難一次性準(zhǔn)確完成,因此系統(tǒng)采用工程的方式存儲(chǔ)項(xiàng)目信息和作業(yè)人員的操作信息。創(chuàng)建工程時(shí)可導(dǎo)入相機(jī)參數(shù)、POS數(shù)據(jù)、航片和像控點(diǎn)等信息,系統(tǒng)支持大疆無(wú)人機(jī)航片POS數(shù)據(jù)信息的自動(dòng)提取和POS數(shù)據(jù)的導(dǎo)入功能,導(dǎo)入的POS數(shù)據(jù)可以是大地坐標(biāo)或投影直角坐標(biāo),系統(tǒng)會(huì)自動(dòng)將其投影或反投影到設(shè)置的工程坐標(biāo)系下。
系統(tǒng)支持人機(jī)交互的方式輔助完成像控點(diǎn)位置標(biāo)注(見圖2),作業(yè)人員在控制點(diǎn)編輯面板中選中一個(gè)像控點(diǎn)后,系統(tǒng)根據(jù)航片地面覆蓋范圍自動(dòng)檢索當(dāng)前像控點(diǎn)所在航片,并依據(jù)像控點(diǎn)在航片中的預(yù)測(cè)位置排序顯示在左側(cè)圖像列表框中(離航片中間位置越近的在前),作業(yè)人員選中航片后系統(tǒng)會(huì)計(jì)算出像控點(diǎn)的預(yù)測(cè)位置(圖2中藍(lán)色十字絲位置),可以更加高效地找到像控點(diǎn)的真實(shí)位置,并進(jìn)行標(biāo)注(圖2中綠色十字絲位置),如果系統(tǒng)無(wú)法找到合適的航片或者作業(yè)人員對(duì)系統(tǒng)選出的航片不滿意,也可以手動(dòng)打開一個(gè)航片并完成標(biāo)注。在窗口適度放大影像圖,采用自定義圖標(biāo)標(biāo)識(shí)像控點(diǎn),該放大比率作為點(diǎn)位詳圖放大比率。點(diǎn)位圖放大比率越大,圖標(biāo)線越小而細(xì),點(diǎn)位圖放大比率越小,圖標(biāo)線越大而粗,方便點(diǎn)位標(biāo)識(shí)準(zhǔn)確,避免后期轉(zhuǎn)刺偏差。
圖2 像控點(diǎn)位置標(biāo)注Fig.2 Mark the Position of Image Control Points
點(diǎn)之記不僅包括不同放大比率的點(diǎn)位圖,還有其他屬性信息,本系統(tǒng)也支持像控點(diǎn)屬性信息的編輯錄入,作業(yè)人員可以在像控點(diǎn)之記編輯頁(yè)面為像控點(diǎn)添加點(diǎn)位文字描述、現(xiàn)場(chǎng)圖片以及刺點(diǎn)人員、檢查人員,測(cè)量單位等其他信息,這些信息也都會(huì)一起導(dǎo)出到固定格式的點(diǎn)之記成果中,使得點(diǎn)之記成果更加完整、詳細(xì)、具體。
系統(tǒng)實(shí)現(xiàn)點(diǎn)之記成果Word文檔的自動(dòng)生成,點(diǎn)之記一般包括點(diǎn)號(hào)、坐標(biāo)系、三維坐標(biāo)、點(diǎn)位略圖、點(diǎn)位說(shuō)明、現(xiàn)場(chǎng)照片刺點(diǎn)和檢查者及其日期等內(nèi)容,系統(tǒng)根據(jù)像控點(diǎn)位置標(biāo)注的航片和位置對(duì)圖片進(jìn)行裁剪和標(biāo)注生成點(diǎn)位略圖(50%)、點(diǎn)位圖(100%)略圖和點(diǎn)位詳圖(標(biāo)識(shí)時(shí)放大的比率),并將點(diǎn)之記相關(guān)信息自動(dòng)輸出為點(diǎn)之記成果文檔。
本文采用Sharp Map等開源庫(kù)建立了一個(gè)桌面版地理信息系統(tǒng),航測(cè)像控點(diǎn)之記自動(dòng)生成系統(tǒng)可以實(shí)現(xiàn)像控點(diǎn)所在航片檢索、像控點(diǎn)位置輔助標(biāo)注、點(diǎn)位圖自動(dòng)生成、點(diǎn)之記信息自動(dòng)提取和點(diǎn)之記成果自動(dòng)輸出,作業(yè)人員可以在一款軟件中完成點(diǎn)之記成果制作的全部工作,有效地提高了航測(cè)項(xiàng)目像控點(diǎn)之記成果的制作效率,為后續(xù)航測(cè)4D產(chǎn)品的順利生產(chǎn)提供保障。