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