余詠勝,彭艷麗,高雅冰
(1.武漢市測(cè)繪研究院,湖武漢 430022;2.武漢市規(guī)劃研究院,湖武漢 430014)
基于Python的DOM質(zhì)量檢查技術(shù)研究
余詠勝1,彭艷麗2,高雅冰1

針對(duì)常規(guī)質(zhì)量檢查方式的不足,提出了檢查要素編輯和統(tǒng)計(jì)填表分離的作業(yè)模式,在Python環(huán)境下以Arcpy站點(diǎn)包和Win32com組件為基礎(chǔ)實(shí)現(xiàn)了DoM質(zhì)量檢查工作的自動(dòng)化處理,并將該成果應(yīng)用于武漢市正射影像數(shù)據(jù)生產(chǎn),提高了數(shù)據(jù)檢查的效率和準(zhǔn)確性。
DoM;質(zhì)量檢查;Python;精度檢查;自動(dòng)化
DoM的質(zhì)量檢查是正射影像數(shù)據(jù)生產(chǎn)中的一項(xiàng)重要工作內(nèi)容。近年來(lái),隨著海量遙感數(shù)據(jù)自動(dòng)處理系統(tǒng)的應(yīng)用,如像素工廠(pixel factory)、數(shù)字?jǐn)z影測(cè)量網(wǎng)格(DPGrid)等高性能數(shù)據(jù)處理平臺(tái),多核CPU和并行計(jì)算技術(shù)極大地提高了DoM數(shù)據(jù)生產(chǎn)效率,特別是Leica ADS80推掃式數(shù)字航空攝影技術(shù)的應(yīng)用使空三加密和影像鑲嵌等數(shù)據(jù)處理效率得到大幅提升,正射影像的成圖周期進(jìn)一步縮短。相比之下,DoM成果質(zhì)量檢查方式并未得到有效改進(jìn),數(shù)據(jù)檢查過(guò)程中存在人工作業(yè)量大、重復(fù)操作多等問(wèn)題,直接影響了數(shù)據(jù)生產(chǎn)和成圖效率,所以改進(jìn)現(xiàn)有的影像成果質(zhì)量檢查方式,提高影像數(shù)據(jù)的檢查效率十分迫切[1-3]。
DoM質(zhì)量檢查內(nèi)容包含兩個(gè)方面:一是一般性檢查項(xiàng)目,如影像命名、分幅、影像效果等,可以通過(guò)程序自動(dòng)檢查或目視方式檢查;二是圖面精度檢查,可以通過(guò)外業(yè)測(cè)定明顯地物點(diǎn)坐標(biāo)與影像上對(duì)應(yīng)點(diǎn)坐標(biāo)進(jìn)行比較的方式檢查,也可以利用已有的數(shù)字線劃圖與正射影像進(jìn)行矢柵疊加的方式檢查,在基礎(chǔ)地理信息數(shù)據(jù)比較豐富的前提下一般選擇第二種方式。
全要素矢量地形圖數(shù)據(jù)一般為DWG格式或DGN格式,進(jìn)行DoM數(shù)據(jù)質(zhì)量檢查時(shí)一般在AutoCAD/ Microstation環(huán)境下載入正射影像數(shù)據(jù),在正射影像和地形圖上查找明顯的同名地物點(diǎn),測(cè)量其坐標(biāo)偏差值并填寫(xiě)檢查記錄表。由于正射影像數(shù)據(jù)量較大,在CAD環(huán)境下調(diào)用效率較低,特別是載入多幅影像數(shù)據(jù)后程序響應(yīng)速度明顯延遲,對(duì)影像數(shù)據(jù)的質(zhì)量檢查速度影響較大。同時(shí),人工輸入檢查數(shù)值并計(jì)算較差和中誤差的作業(yè)方式重復(fù)工作量大、作業(yè)效率低[4-5]。按相關(guān)規(guī)范要求進(jìn)行DoM數(shù)據(jù)的檢驗(yàn)時(shí),耗時(shí)較長(zhǎng),影響項(xiàng)目周期[6-7]。針對(duì)這些問(wèn)題和不足,本文提出了數(shù)據(jù)檢查和統(tǒng)計(jì)填表分離的作業(yè)模式,采用Python自動(dòng)化處理腳本,實(shí)現(xiàn)了DoM成果質(zhì)量檢查的自動(dòng)分析與處理,提高了DoM成果質(zhì)量檢查工作的效率、準(zhǔn)確性。
2.1 DOM質(zhì)量檢查工作流程
DoM的質(zhì)量檢查主要包括影像數(shù)據(jù)格式、命名方式、影像質(zhì)量、數(shù)學(xué)基礎(chǔ)、影像分辨率、數(shù)據(jù)范圍、平面精度、接邊精度和元數(shù)據(jù)質(zhì)量等內(nèi)容,正射影像圖的一般性檢查項(xiàng)目比較容易處理,平面精度檢查則相對(duì)比較困難,也是成果質(zhì)量檢查的關(guān)鍵內(nèi)容。DoM數(shù)據(jù)精度檢查應(yīng)在一般性項(xiàng)目檢查通過(guò)的基礎(chǔ)上,在ArcGIS系統(tǒng)中對(duì)DoM原始分幅數(shù)據(jù)構(gòu)建金字塔影像,然后將矢量地形圖與正射影像數(shù)據(jù)疊加,根據(jù)矢量與柵格影像上的同名地物編輯質(zhì)量檢查要素(.shp格式)。影像質(zhì)量檢查要素處理完畢以后,Python程序根據(jù)線要素的空間地理坐標(biāo)自動(dòng)計(jì)算數(shù)據(jù)所在的圖幅編號(hào),并根據(jù)影像圖幅編號(hào)遍歷當(dāng)前圖幅內(nèi)的所有檢查要素,計(jì)算較差和中誤差。在此基礎(chǔ)上,程序通過(guò)CoM接口將檢查數(shù)值填寫(xiě)到預(yù)定義的檢查記錄表的Word文檔模板中,并將所有圖幅的質(zhì)量檢查情況匯總到Excel文檔模板中進(jìn)行精度分析和統(tǒng)計(jì)。DoM的質(zhì)量檢查流程如圖1所示。
2.2 質(zhì)量檢查要素編輯
在ArcGIS中對(duì)DoM數(shù)據(jù)進(jìn)行圖面精度檢查之前,需要對(duì)原始分幅影像數(shù)據(jù)構(gòu)建金字塔,以提高質(zhì)量檢查時(shí)ArcGIS系統(tǒng)的運(yùn)行效率。每個(gè)影像文件只需要構(gòu)建一次金字塔,以后每次訪問(wèn)該影像文件時(shí)系統(tǒng)自動(dòng)調(diào)用金字塔文件。ArcGIS的金字塔文件有兩種類(lèi)型,一種是遞減分辨率數(shù)據(jù)集.rrd文件,當(dāng)影像文件為ERDAS IMAGINE(.img)格式或在ArcGIS 10之前版本構(gòu)建的金字塔時(shí),金字塔文件以.rrd格式存儲(chǔ);另一種是.ovr文件,當(dāng)影像文件為其他數(shù)據(jù)格式或在ArcGIS 10及以后版本中構(gòu)建金字塔時(shí)以該格式保存。與.rrd文件相比,.ovr文件可以控制影像壓縮的類(lèi)型和金字塔的質(zhì)量。ArcToolbox中提供了構(gòu)建金字塔的工具Build Pyramids,可以對(duì)單個(gè)或多個(gè)影像文件進(jìn)行處理。通常情況下,系統(tǒng)會(huì)以2∶1的比例進(jìn)行縮減采樣構(gòu)建金字塔層級(jí),金字塔的最高層級(jí)為29級(jí),當(dāng)層級(jí)設(shè)定為0時(shí)則刪除影像金字塔,如果層級(jí)設(shè)定低于0或高于29系統(tǒng)將按默認(rèn)層級(jí)進(jìn)行處理。重采樣方式或壓縮方式的選擇也會(huì)影響金字塔生成的效率和顯示效果。

圖1 DOM質(zhì)量檢查流程
采用矢量地形圖和柵格影像疊加進(jìn)行DoM質(zhì)量檢查有兩種方式,一種是“點(diǎn)-點(diǎn)”方式,即通過(guò)影像圖和線劃圖上的同名地物點(diǎn)量測(cè)坐標(biāo)較差,如清晰可辨的房屋拐角底部、水泥路面的十字交叉口、電力桿底部、路燈桿底部以及花壇、體育場(chǎng)等拐角明顯的地物;另一種檢查方式是“邊-邊”方式,即通過(guò)影像圖和線劃圖上同名地物的邊長(zhǎng)計(jì)算較差,如影像上清晰可辨的矩形房屋的對(duì)應(yīng)邊長(zhǎng),兩房角的間距長(zhǎng)度,水泥路面、高架橋面的寬度等。DoM質(zhì)量檢查要素采用Shapefile線要素文件保存,“點(diǎn)-點(diǎn)”檢查采用兩點(diǎn)線段方式存儲(chǔ),“邊-邊”檢查通過(guò)兩條兩點(diǎn)線段組合方式存儲(chǔ)。在ArcMAP中操作時(shí),只需要先選擇影像檢查線段,再選擇地形圖檢查線段,通過(guò)Merge工具就可以實(shí)現(xiàn)兩線段的合并。為減少檢查時(shí)人工編輯的工作量,線要素所有屬性采用缺省值,不進(jìn)行任何字段的輸入。
根據(jù)相關(guān)規(guī)范要求,每幅正射影像圖內(nèi)的檢查數(shù)量一般不得少于20個(gè),特殊情況下,如圖幅不滿(mǎn)幅、圖內(nèi)存在大面積水域、林地、草地等單一紋理以及存在大范圍云塊與云影難以獲取明顯地物點(diǎn)位置等情況時(shí),圖幅內(nèi)檢查數(shù)量可適當(dāng)減少,但應(yīng)在精度檢查表中對(duì)該情況進(jìn)行說(shuō)明備注。
2.3 質(zhì)量檢查結(jié)果輸出
在ArcGIS中完成DoM數(shù)據(jù)檢查的線要素編輯之后,接著對(duì)線要素對(duì)象進(jìn)行預(yù)處理,計(jì)算線要素所在的圖幅編號(hào)。1∶2 000比例尺圖幅號(hào)計(jì)算相對(duì)簡(jiǎn)單,一般采用圖幅西南角坐標(biāo)的整公里數(shù)字按X坐標(biāo)在前、Y坐標(biāo)在后的方式命名(如380525),1∶5 000比例尺的圖幅號(hào)計(jì)算也是采用西南角坐標(biāo)方式命名,但由于其分幅采用2 km×2 km,圖幅號(hào)計(jì)算方式略有不同,其計(jì)算公式如下:

式中,cx、cy為線要素或組合要素的中心點(diǎn)坐標(biāo),該數(shù)值可以通過(guò)要素屬性項(xiàng)獲取;//為取整除后的整數(shù)商;%為取整除后的整數(shù)余數(shù)。完成圖幅號(hào)計(jì)算后,可根據(jù)圖幅號(hào)遍歷該圖幅內(nèi)的所有檢查要素,根據(jù)兩點(diǎn)線段長(zhǎng)度值或組合線段長(zhǎng)度差值計(jì)算檢查較差,并將較差值填入預(yù)定義的質(zhì)量檢查記錄表Word模板。
在Python環(huán)境下操作Shape線要素可以通過(guò)Arcpy站點(diǎn)包進(jìn)行處理,Arcpy提供了SearchCursor游標(biāo)函數(shù)用于遍歷所有要素對(duì)象并提取幾何或?qū)傩詳?shù)值,如要素長(zhǎng)度、中心點(diǎn)坐標(biāo)等。Word文檔模板的操作需要通過(guò)Win32com組件實(shí)現(xiàn),模板操作的核心在于檢查記錄表格的填寫(xiě),不同類(lèi)型的線要素填寫(xiě)的內(nèi)容和較差計(jì)算方式不同,圖幅內(nèi)檢查要素遍歷完成后可根據(jù)填寫(xiě)的較差值計(jì)算中誤差,再填寫(xiě)圖幅號(hào)、比例尺、作業(yè)員、作業(yè)日期、檢查員、檢查日期等相關(guān)檢查信息。數(shù)字正射影像圖質(zhì)量檢查記錄表的主要內(nèi)容如表1所示,表中“點(diǎn)-點(diǎn)”較差值為兩點(diǎn)線段長(zhǎng)度,“邊-邊”較差值為底圖距離與檢查距離的差值。
2.4 質(zhì)量檢查情況統(tǒng)計(jì)
質(zhì)量檢查情況統(tǒng)計(jì)是在單幅正射影像質(zhì)量檢查記錄表的基礎(chǔ)上進(jìn)行匯總生成,匯總后的檢查統(tǒng)計(jì)表可以方便地掌握各圖幅的中誤差、檢查個(gè)數(shù)以及各區(qū)間的質(zhì)量分布情況,快速了解DoM數(shù)據(jù)的整體質(zhì)量狀況。正射影像質(zhì)量檢查統(tǒng)計(jì)表采用Excel文檔模板方式填寫(xiě),同樣需要通過(guò)Win32com組件實(shí)現(xiàn)文檔的處理。Excel文檔模板處理的主要代碼如下:
import win32com.client

表1 DOM質(zhì)量檢查記錄表/m
ExcelApp = win32com.client.Dispatch("Excel. Application")
wBook = ExcelApp.Workbooks.open(xlsPathName)
wSheet = wBook.Worksheets(1)
for i, rms in enumerate(lst):
wSheet.Cells(i+3, 1).Value =rms[0]
wSheet.Cells(i+3, 2).Value =rms[1]
其他單元格賦值代碼省略
wSheet.Cells(i+3, 11).Value =’%.1f’%(rms[10])
其中,lst變量存儲(chǔ)了圖幅號(hào)、檢查個(gè)數(shù)、中誤差以及各區(qū)間點(diǎn)數(shù)和占比等統(tǒng)計(jì)數(shù)值。經(jīng)程序處理后的DoM質(zhì)量檢查統(tǒng)計(jì)表的主要內(nèi)容如表2所示。

表2 DOM質(zhì)量檢查統(tǒng)計(jì)表
通過(guò)表2中質(zhì)量檢查統(tǒng)計(jì)結(jié)果,可以快速查找和定位檢查中存在問(wèn)題的圖幅。如果檢查個(gè)數(shù)少于20個(gè),可以根據(jù)該圖幅號(hào)檢查圖幅內(nèi)是否存在不滿(mǎn)幅、大面積落水等特殊情況,如不滿(mǎn)足條件則應(yīng)按規(guī)定增加檢查數(shù)量;當(dāng)中誤差或各區(qū)間檢查要素超限,可返回該圖幅查看是檢查要素選擇不當(dāng)還是圖幅本身存在質(zhì)量問(wèn)題。質(zhì)量檢查統(tǒng)計(jì)表結(jié)果經(jīng)復(fù)核無(wú)誤后,檢查記錄表和檢查統(tǒng)計(jì)表可作為最終檢查資料提交。
為驗(yàn)證本文提出的基于Python的DoM質(zhì)量檢查方法的效率和可靠性,本文以武漢市2014年1∶5 000比例尺衛(wèi)星正射影像圖質(zhì)量檢查工作為例進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)區(qū)總面積約900 km2,涉及圖幅數(shù)量為240幅。為方便程序使用,本文通過(guò)wxPython工具包編寫(xiě)了GUI圖形用戶(hù)界面,wxPython是Python語(yǔ)言的一個(gè)開(kāi)源GUI工具箱,具有較強(qiáng)的跨平臺(tái)能力,可在多種平臺(tái)上高效運(yùn)行。DoM精度檢查與統(tǒng)計(jì)圖形用戶(hù)界面如圖2所示。

圖2 DOM精度檢查與統(tǒng)計(jì)的GUI圖形用戶(hù)界面
程序的GUI界面主要用于交互指定DoM質(zhì)量檢查文件、質(zhì)量檢查記錄表、質(zhì)量檢查統(tǒng)計(jì)表的輸出路徑,以及質(zhì)量檢查記錄表相關(guān)項(xiàng)目填寫(xiě)內(nèi)容等參數(shù)。實(shí)驗(yàn)區(qū)的影像數(shù)據(jù)采用1∶5 000比例尺WorldView-2、WorldView-3衛(wèi)星影像數(shù)據(jù),影像輸出分辨率為0.5 m,影像分幅方式采用2 km×2 km矩形分幅,總數(shù)據(jù)量約11.2 GB,參考1∶2 000比例尺地形圖數(shù)據(jù)共920幅,數(shù)據(jù)文件為AutoCAD DWG格式。正射影像質(zhì)量檢查的作業(yè)環(huán)境為ArcGIS 10,按本文方法生成Shapefile線要素文件,經(jīng)過(guò)程序自動(dòng)生成精度檢查表和精度統(tǒng)計(jì)表。實(shí)驗(yàn)區(qū)DoM數(shù)據(jù)檢查共投入檢查人員4人,所有檢查及統(tǒng)計(jì)工作在5個(gè)工作日內(nèi)全部完成,平均每個(gè)人每天完成12幅左右。如果采用常規(guī)邊檢查邊填表的檢查方式,根據(jù)圖面檢查內(nèi)容的難易程度不同,相同作業(yè)人員每天只能完成8~10幅左右的檢查工作。相比之下,本文方法在DoM質(zhì)量檢查的作業(yè)效率上得到了較大提升。
本文以Arcpy站點(diǎn)包和Win32com組件為基礎(chǔ)實(shí)現(xiàn)了DoM質(zhì)量檢查工作的標(biāo)準(zhǔn)化和自動(dòng)化處理,該方法在ArcGIS環(huán)境下生成DoM質(zhì)量檢查線要素文件,該文件經(jīng)過(guò)程序處理后自動(dòng)生成質(zhì)量檢查記錄表和質(zhì)量檢查統(tǒng)計(jì)表,實(shí)現(xiàn)了DoM數(shù)據(jù)質(zhì)量檢查的快速處理。與常規(guī)影像質(zhì)量檢查方式相比,本文方法通過(guò)構(gòu)建影像金字塔提高了質(zhì)量檢查操作過(guò)程中程序的響應(yīng)速度,同時(shí)將精度檢查和統(tǒng)計(jì)填表工作分離,避免了質(zhì)量檢查作業(yè)時(shí)在不同應(yīng)用程序間頻繁切換,提高了檢查工作的效率。經(jīng)程序處理后的所有檢查表格和統(tǒng)計(jì)表格結(jié)構(gòu)相同,實(shí)現(xiàn)了數(shù)據(jù)處理的標(biāo)準(zhǔn)化,檢查效率較之前得到了較大提高。本文方法已經(jīng)在武漢市DoM數(shù)據(jù)生產(chǎn)中得到廣泛應(yīng)用,程序穩(wěn)定、可靠,為DoM的質(zhì)量檢查工作探索了一條行之有效的技術(shù)路線。
[1] 程滔,郭雅琳,周旭,等.面向大規(guī)模數(shù)字正射影像的質(zhì)量檢查方法[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(7):816-819
[2] 白丹. 數(shù)字正射影像的制作及質(zhì)量檢查方法的探討[J].測(cè)繪與空間地理信息,2013(7):215-216
[3] 位魯青,于延文,徐寧. 1∶2 000數(shù)字正攝影像質(zhì)量檢查方法探討[J].測(cè)繪技術(shù)裝備,2006(2):27-29
[4] 余詠勝,羅名海,吳克友,等.基于FME的地理國(guó)情覆蓋要素提取技術(shù)探討[J].地理空間信息,2014,12(5):1-3
[5] 張桂英. 基于地理國(guó)情監(jiān)測(cè)項(xiàng)目DoM檢查的研究[J].經(jīng)緯天地,2014(2):56-60
[6] 李宇新,姜波,李東海. 哈爾濱市1∶2 000數(shù)字正射影像圖質(zhì)量控制標(biāo)準(zhǔn)及方法[J].城市勘測(cè),2006 (4):24-26
[7] 劉東麗,李趙,龔家玉,等. DEM/DoM成果質(zhì)量檢查研究[J].測(cè)繪,2011(4):175-177
P237
B
1672-4623(2016)08-0014-03
10.3969/j.issn.1672-4623.2016.08.005
余詠勝,高級(jí)工程師,注冊(cè)測(cè)繪師,主要從事遙感數(shù)字圖像處理、GIS數(shù)據(jù)應(yīng)用研究與開(kāi)發(fā)工作。
2015-05-13。
項(xiàng)目來(lái)源:精密工程與工業(yè)測(cè)量國(guó)家測(cè)繪地理信息局重點(diǎn)實(shí)驗(yàn)室開(kāi)放基金資助項(xiàng)目(PF2013-14)。