亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ArcGIS、Visual C++的DEM數(shù)據(jù)接邊檢驗方法

        2016-12-28 08:46:43裴光菊唐德利魏德照
        地理空間信息 2016年12期
        關(guān)鍵詞:圖幅同名網(wǎng)點

        裴光菊,唐德利,魏德照

        (1.國家測繪地理信息局重慶測繪院,重慶 40001)

        基于ArcGIS、Visual C++的DEM數(shù)據(jù)接邊檢驗方法

        裴光菊1,唐德利1,魏德照1

        (1.國家測繪地理信息局重慶測繪院,重慶 40001)

        為提高DEM數(shù)據(jù)接邊檢驗的高效性、準確性、可靠性,比較各種檢驗方法后,本文結(jié)合ArcGIS組件,利用Visual C++開發(fā)平臺開發(fā)了一套DEM檢驗軟件,并在實際檢驗項目中驗證了該軟件的使用效果。檢驗結(jié)果表明,該軟件在DEM接邊檢驗工作中高效、準確、可靠。

        數(shù)字高程模型(DEM);數(shù)據(jù)接邊;質(zhì)量檢驗

        數(shù)字高程模型(digital elevation model,DEM)是用一組有序數(shù)值陣列形式表示地面高程的一種實體地面模型,是數(shù)字地形模型(digital terrain model,DTM)的一個分支。DEM的建立方法和存儲格式有很多種,如 ARC ASCII Grid(*.asc)、ARC Info GRID(*.grd)、ESRI FLOAT BIL(*.bil *.hdr *.blw)、DEM GB(*.dem)、GRID GB(*.grd)、DEM VZ(*.dem)等,其數(shù)據(jù)內(nèi)容的表現(xiàn)形式有兩種:規(guī)則矩形格網(wǎng)和不規(guī)則三角網(wǎng)。由于DEM描述的是地面高程信息,在測繪、水文、氣象、地貌、地質(zhì)、土壤、工程建設(shè)、通訊、氣象、軍事等國民經(jīng)濟、國防建設(shè)以及人文和自然科學領(lǐng)域都有著廣泛的應用[1-6]。因此,DEM產(chǎn)品質(zhì)量檢驗的智能化和數(shù)據(jù)拼接質(zhì)量的檢驗十分重要。

        1 DEM數(shù)據(jù)接邊及基本要求

        在地理信息數(shù)據(jù)中,DEM按國家標準經(jīng)緯度梯形分幅編號存放,其數(shù)據(jù)范圍由該梯形在高斯平面的最小外接矩形經(jīng)過一定外擴來確定,相鄰圖幅間存在重疊區(qū)域,重疊區(qū)域的同名格網(wǎng)點高程要保持一致,這就要求對圖幅數(shù)據(jù)進行接邊處理。DEM數(shù)據(jù)的質(zhì)量要素中接邊質(zhì)量要求尤為嚴格,最終成果均要求同名格網(wǎng)的高程值必須相同。生產(chǎn)過程數(shù)據(jù)接邊的同名格網(wǎng)點高程值較差不能超過兩倍高程中誤差,符合要求時,以平均值確定格網(wǎng)點高程值,如不符合要求,則要查明原因并處理后再作接邊。DEM最終成果不允許相鄰圖幅同名點高程值存在差異[2]。

        2 DEM數(shù)據(jù)接邊檢驗原理

        DEM接邊質(zhì)量檢驗就是查看相鄰圖幅DEM數(shù)據(jù)重疊部分同名格網(wǎng)點的高程值是否能達到規(guī)定要求[7]。

        在ArcGIS上打開相同投影帶中相鄰的兩幅DEM數(shù)據(jù),利用該軟件的DEM視圖功能,直接比較同名格網(wǎng)點灰度值,獲取同名格網(wǎng)點高程差值,也可以利用ArcGIS的柵格計算功能直接以同名格網(wǎng)點灰度差值顯示重疊部分視圖,以獲取同名格網(wǎng)點高程差值。若開發(fā)個人軟件實現(xiàn)接邊檢驗,則嵌入ArcGIS的COM組件同時加載相鄰兩幅DEM數(shù)據(jù),獲取重疊區(qū)域,并在重疊區(qū)域內(nèi)循環(huán)讀取同名格網(wǎng)點高程數(shù)據(jù)對,并計算較差,完成循環(huán)后計算接邊中誤差,最后輸出檢驗報表。

        跨投影帶圖幅數(shù)據(jù)接邊檢驗不能依靠手工完成,只能開發(fā)專業(yè)軟件來實現(xiàn)。由于不同投影帶下的相鄰圖幅在拼接前需要將其中一幅數(shù)據(jù)進行換帶處理,也就是需要按照很復雜的數(shù)學規(guī)則進行計算,使兩幅數(shù)據(jù)處于同一投影帶下,手工方法是不可能實現(xiàn)的,必須借助計算機程序進行批量處理。數(shù)據(jù)跨帶接邊檢驗與相同帶接邊檢驗不同,必須先把相鄰DEM數(shù)據(jù)投影到同一投影帶,然后再獲取同名格網(wǎng)點高程數(shù)據(jù)對,并計算較差,完成循環(huán)后計算接邊中誤差,最后輸出檢驗報表。

        3 DEM數(shù)據(jù)接邊檢驗方法

        現(xiàn)有的DEM數(shù)據(jù)接邊質(zhì)量檢驗方法主要有:

        1)在ArcGIS下,采用單點查詢方式檢查同名格網(wǎng)高程。

        2)在ArcGIS下,利用其柵格計算功能手工逐個文件檢查同名格網(wǎng)高程。具體方法是首先加載相鄰兩幅DEM數(shù)據(jù),加載后圖幅鄰接處如圖1。然后在Spatial Anlyst工具欄下運行Raster Calculator工具,如圖2。在彈出的對話框中選擇一個數(shù)據(jù)文件→點擊所需運算符“<>”→選擇另一數(shù)據(jù)文件→點擊Evaluate按鈕。完成后,在圖層瀏覽窗口會自動產(chǎn)生一個新的柵格圖層Calculation,并在主窗口顯示該圖層,效果如圖3。圖中亮顯的星云狀部分即為灰度值為1的格網(wǎng)點,表示這些格網(wǎng)點高程值不同。

        圖1 相鄰DEM數(shù)據(jù)加載后鄰接處

        圖2 DEM柵格疊加工具

        圖3 DEM柵格疊加計算結(jié)果

        3)在ArcGIS下,利用其卷簾功能,觀察同名格網(wǎng)點像素灰度值。

        4)在ArcGIS下利用VB進行內(nèi)嵌式編程檢查。

        5)利用ArcGIS組件,在Visual C++/Visual Basic等開發(fā)平臺下,開發(fā)獨立運行檢查軟件[3]。

        前3種方法主要是基于手工方式,只能用于相同投影帶數(shù)據(jù)檢驗,不能用于跨帶數(shù)據(jù)接邊檢驗,且不能直接形成檢驗結(jié)果統(tǒng)計報表。第4種方法可以實現(xiàn)自動,但其在運行界面、運行速度及用戶使用舒適性等方面均有一定的局限性。實際數(shù)據(jù)生產(chǎn)中,DEM數(shù)據(jù)的接邊不一致現(xiàn)象非常普遍。然而,一個圖幅范圍的DEM數(shù)據(jù)柵格有上百萬個,數(shù)據(jù)量十分龐大,接邊檢驗是一項十分繁重的任務(wù)。這種情況下,采用手工檢驗方法是不切實際的。因此,本文探討了基于ArcEngine 9.3新增的柵格數(shù)據(jù)接口,在Visual C++6.0開發(fā)平臺下實現(xiàn)DEM數(shù)據(jù)的自動接邊檢驗,并運用到實際生產(chǎn)過程中,以提高DEM接邊檢驗的工作效率。

        4 檢驗軟件的開發(fā)

        4.1 軟件功能要求

        軟件設(shè)計以方便實用、高效準確、界面友好、易于掌握為原則。這就要求軟件界面能設(shè)置用戶參數(shù)(如坐標系統(tǒng)、高程系統(tǒng)),自動搜索指定路徑下的所有DEM數(shù)據(jù)文件,自動判斷鄰接圖幅DEM數(shù)據(jù)文件名及其存在性,判斷本圖幅與鄰接圖幅是否在同一投影帶下,進行數(shù)據(jù)讀入并獲取同名格網(wǎng)點的高程值,統(tǒng)計同名格網(wǎng)點高程較差及其中誤差,輸出檢驗報表。由于DEM數(shù)據(jù)量大,往往需要較長時間的數(shù)據(jù)處理,所以還需要設(shè)計適時刷新且不會卡死的進度顯示條。

        4.2 軟件界面設(shè)計

        由于軟件要實現(xiàn)批量自動處理和結(jié)果輸出,所以,除主窗口菜單、工具條外,還需要選擇數(shù)據(jù)文件路徑界面、軟件運行進度界面、運行結(jié)束提示界面和運行結(jié)果顯示界面。

        4.3 設(shè)計框圖

        圖4 設(shè)計框圖

        4.4 核心功能實現(xiàn)

        4.4.1 導入所需ArcGIS組件

        #import文件夾所在路徑+"/com/esriGeometry.olb" raw_interfaces_only raw_native_types no_namespace named_guids;其他所需的組件同樣導入。com組件導入后,ArcGIS對象及方法才能被正常使用。

        4.4.2 自動搜索DEM文件

        自動搜索指定文件夾下的按比例尺分幅存放的DEM數(shù)據(jù)(其文件名為標準圖幅編號),并將結(jié)果存放在CStringList列表對象中。實現(xiàn)模塊為GetFileByFolder,傳遞參數(shù)為文件擴展名CString ContainFileEx,返回值為CStringList對象。關(guān)鍵代碼[5]:

        ContainFileEx.MakeUpper(); CFileFind finder;

        CString fileName,ls;

        CStringList strList,strList0; strList.AddTail(BeginFolder);

        POSITION ps=strList.GetHeadPosition();

        while(ps)

        {

        CString strName=strList.GetNext(ps);

        BOOL bWorking = finder.FindFile(strName+"\*.*");

        while(bWorking)

        {

        bWorking = finder.FindNextFile( );

        if (finder.IsDirectory()&&(!finder.IsDots()))//文件夾

        ……

        }

        }

        4.4.3 計算并搜索鄰接DEM文件

        循環(huán)讀取放在CStringList列表對象中的DEM文件,并獲取全部鄰接圖幅DEM文件名稱,驗證其存在。實現(xiàn)模塊為GetRoundNum,傳遞參數(shù)為當前DEM圖幅文件名CString strThisNum。由于不同比例尺圖幅的鄰接關(guān)系不一樣,所以編程過程中需要判斷DEM的分幅比例尺,按照國家標準分幅進行判斷和計算。

        4.4.4 加載DEM文件數(shù)據(jù)并讀取同名格網(wǎng)點高程

        加載DEM數(shù)據(jù)需要用到ArcGIS的IRaster組件接口IRasterPtr、IrasterLayer的IrasterLayerPtr接口[3]。代碼為:

        IRasterLayerPtr pRasterLayer(CLSID_RasterLayer);

        pRasterLayer->CreateFromFilePath((CComBSTR)strPath);其中,strPath是包含DEM數(shù)據(jù)的文件路徑。由于DEM采用高斯投影平面坐標系統(tǒng),涉及到投影分帶的問題,如果鄰接圖幅在不同投影帶,則需要對加載數(shù)據(jù)進行投影換帶,以保證接邊檢驗的鄰接數(shù)據(jù)在相同投影帶下。需要引入ArcGIS的ISpatialReferenceFactory3、ISpatialReference組建接口:ISpatialReferenceFactory3Ptr、ISpatialReferencePtr。代碼為:

        ipSRFactory->CreateESRISpatialReferenceFromPRJFile(str PrjP,&ipPSR);

        pRasterLayer ->putref_SpatialReference(ipPSR);

        其中,strPrjP為高斯投影坐標系統(tǒng)的定義文件(包含路徑)。注意,這里要先定義pRasterLayer的原坐標系統(tǒng),再加載DEM數(shù)據(jù),之后重定義pRasterLayer的坐標系統(tǒng)為目標系統(tǒng),實現(xiàn)跨帶轉(zhuǎn)換。讀取格網(wǎng)點高程代碼為:

        IRaster2Ptr ipRa2=ipRaster;// ipRaster為讀取的IRaster數(shù)據(jù)接口。

        IRasterCursorPtr ipRaCur;

        ipRa2->CreateCursorEx(ipPnt,&ipRaCur);// ipPnt相鄰圖幅重疊范圍IPnt接口。

        IPixelBlockPtr ipPB;

        ipRaCur->get_PixelBlock(&ipPB);

        VARIANT vtValue;

        ipPB->GetVal(0,m,n,&vtValue);//m,n為行列序號。

        4.4.5 不同格網(wǎng)間距DEM的接邊檢驗

        由于格網(wǎng)間距不同,鄰接圖幅的重疊區(qū)域就沒有明確的同名格網(wǎng)點,需要將其中一個文件的DEM數(shù)據(jù)進行雙線性內(nèi)插,以求取同名點高程值進行比較,確定拼接精度[4]。雙線性內(nèi)插數(shù)學模型為:設(shè)Q11、Q12、Q21、Q22分別為內(nèi)插點位最鄰近的4個格網(wǎng)點,其點位坐標分別為(X1,Y1) (X2,Y2)(X3,Y3)(X4,Y4),dx為橫坐標差,內(nèi)插點坐標為(xc,yc)。則插值如下。

        其中,H為最終內(nèi)插值。

        4.5 數(shù)據(jù)格式轉(zhuǎn)換

        實際應用中可能存在不同數(shù)據(jù)格式的DEM,這就需要將數(shù)據(jù)轉(zhuǎn)換為滿足程序運行要求的目標格式。在ArcMap下可以實現(xiàn)多數(shù)常用格式的轉(zhuǎn)換,也可以在VC++下進行編程處理。

        4.6 進度條的實現(xiàn)

        由于DEM數(shù)據(jù)文件較大、數(shù)量多,程序往往會運行較長時間,需要設(shè)計進度條來為用戶顯示程序處理的進度情況,這就要求進度條顯示更新與數(shù)據(jù)處理運行在不同空間。因此,該程序把DEM數(shù)據(jù)處理放在線程去運行,進度條在主進程中實時顯示刷新。代碼中用“static UINT DEMGCJD_Thread(LPVOID param)”語句申明線程,“UINT DEMJBJD_Thread(LPVOID param)”語句定義線程。所有DEM數(shù)據(jù)處理的代碼將在此線程中運行,使進度條在程序運行期間始終處于活躍更新狀態(tài),避免了程序卡死的現(xiàn)象。

        4.7 項目檢驗應用

        該程序在國家基礎(chǔ)測繪1∶50 000和地方基礎(chǔ)測繪1∶10 000、1∶5 000等比例尺的DEM數(shù)據(jù)接邊檢驗工作中得到了充分使用。例如,重慶1∶5 000數(shù)字地形測量項目中,其生產(chǎn)期持續(xù)三年多,成果包含數(shù)千幅分幅的DEM數(shù)據(jù),檢驗工作量巨大,人工檢驗不可能在期限內(nèi)完成。通過對該項目全部DEM數(shù)據(jù)進行接邊檢驗、裁切范圍檢驗,在0.5 h內(nèi)程序運行結(jié)束,以100%的準確率輸出全部數(shù)據(jù)檢驗報表。

        5 結(jié) 語

        在諸多DEM數(shù)據(jù)接邊檢驗的方法中,借助現(xiàn)行的工具軟件進行手工操作的方式只能適應極少量的數(shù)據(jù)。在面對大量數(shù)據(jù)時,通過借助ArcGIS提供的組件,結(jié)合VC++(或者VB等)程序開發(fā)工具,編寫一套程序來完成大批量數(shù)據(jù)接邊檢驗(也可以包括數(shù)據(jù)范圍檢驗),快速、高效、準確、可靠,是地理信息數(shù)據(jù)檢驗必要的方法。

        [1] 李志林,朱慶. 數(shù)字高程模型[M].武漢:武漢大學出版社,2001

        [2] CH/T 1015.2-2007.基礎(chǔ)地理信息數(shù)字產(chǎn)品1∶10 000 1∶50 000生產(chǎn)技術(shù)規(guī)程 第二部分:數(shù)字高程模型(DEM)[S].

        [3] 彭珊鸰,李軍,廖明,等.基于arcengine10的dem數(shù)據(jù)自動接邊檢查實現(xiàn)[J].科技資訊,2012,(18):9

        [4] 王佩,呂志勇.DEM產(chǎn)品質(zhì)量檢查標準研究與實現(xiàn)[J].測繪與空間地理信息,2011,34(5):280-283

        [5] 李書濤.C語言程序設(shè)計教程[M].北京:北京理工大學出版社,1993

        [6] 楊秀伶.數(shù)字高程模型DEM的構(gòu)建與應用[J].綠色科技,2014(5):315-316

        [7] 劉錦軍,鈕利平,孫穎.1∶50 000數(shù)字高程模型(DEM)的質(zhì)量控制[J].東北測繪,2002,25(2):44

        P208

        B

        1672-4623(2016)12-0084-03

        10.3969/j.issn.1672-4623.2016.12.028

        裴光菊,工程師,主要從事測繪地理信息產(chǎn)品檢驗工作。

        2015-12-15。

        猜你喜歡
        圖幅同名網(wǎng)點
        快遞網(wǎng)點進村 村民有活兒干有錢賺
        同名
        西江月(2021年3期)2021-12-21 06:34:14
        于細微之處見柔版網(wǎng)點的“真面目”
        三 人 行
        優(yōu)化內(nèi)部勞動組合 釋放網(wǎng)點營銷潛能
        基于EXCEL的地形圖圖幅號轉(zhuǎn)換查詢方法
        自然保護地(2015年3期)2015-12-03 02:29:54
        集成成像同名像點三維形貌獲取方法
        中國光學(2015年1期)2015-06-06 18:30:20
        與星星同名
        基于ArcMap的圖幅接合表快速生成方法研究
        地形圖圖幅編號規(guī)則及實現(xiàn)
        城市勘測(2014年4期)2014-06-24 14:33:27
        玖玖资源站无码专区| 国产真实乱对白精彩| 国产性一交一乱一伦一色一情| 亚洲午夜无码AV不卡| 国产亚洲一区二区三区三州| 日本一二三区免费在线 | 亚洲三区av在线播放| 国产亚洲成性色av人片在线观 | 国产成人综合日韩精品无| 在线看高清中文字幕一区| 久久精品丝袜高跟鞋| 国产99久久久久久免费看| 野外三级国产在线观看| 亚洲二区精品婷婷久久精品| 边添小泬边狠狠躁视频| 在线亚洲午夜理论av大片| 精品视频专区| 伊人狼人大香线蕉手机视频| 亚洲欧美日韩综合一区二区| 国产精品黄在线观看免费软件| 在线观看国产精品91| 亚洲av天堂一区二区| 高潮毛片无遮挡高清视频播放| 国产成人久久精品77777综合| 久久久久亚洲AV片无码乐播 | 久久精品国产亚洲av蜜桃av| 美女在线一区二区三区视频| 蜜桃视频无码区在线观看| 无码精品一区二区免费AV| 国产精品丝袜美腿诱惑| 亚洲av无码偷拍在线观看| 国产又滑又嫩又白| 亚洲综合综合在线| 野花视频在线观看免费| 无码va在线观看| 欧美成人a在线网站| 精品女同一区二区三区亚洲| 99riav国产精品视频| 无码国产激情在线观看| 亚洲双色视频在线观看| 熟女中文字幕一区二区三区 |