• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)據(jù)處理方面應(yīng)用程序的開發(fā)與應(yīng)用

      2014-11-14 00:44:00袁紅張文朗
      經(jīng)緯天地 2014年4期
      關(guān)鍵詞:應(yīng)用程序要素程序

      □ 袁紅 張文朗

      (國家測繪地理信息局第四地形測量隊,黑龍江哈爾濱150025)

      引言

      地理國情監(jiān)測項目,產(chǎn)品成果數(shù)據(jù)較以前測繪項目種類較多,主要是數(shù)據(jù)庫格式的。過程生產(chǎn)根據(jù)工藝的要求,需要按分幅或在單景正射影像鑲嵌線范圍內(nèi)來制作生產(chǎn),最終成果數(shù)據(jù)以行政單元匯總提交,這就帶來了成果數(shù)據(jù)庫的拼合、裁切、數(shù)據(jù)庫格式的來回轉(zhuǎn)換。處理這些類似的問題一般的操作是將原始數(shù)據(jù)的每一個層的要素通過ArcMap加載,利用ArcToolBoxd工具在編輯狀態(tài)下進(jìn)行要素的復(fù)制與粘貼、裁切,包括數(shù)據(jù)庫格式的轉(zhuǎn)換也是逐層完成的。地理國情監(jiān)測項目每一個成果數(shù)據(jù)庫都有幾十個層,通過手工操作實現(xiàn),帶來很大的工作量,且容易出現(xiàn)漏錯。然而通過計算機(jī)語言,開發(fā)應(yīng)用程序,可以將這些一系列機(jī)械性的重復(fù)工作,以托管的方式,交給計算機(jī)處理,既省時、又省力,提高準(zhǔn)確度。因此需要探討與研究在數(shù)據(jù)庫處理方面應(yīng)用程序的開發(fā)與應(yīng)用。

      1.程序設(shè)計

      1.1 需求分析

      為了全面掌握我國地理國情現(xiàn)狀,滿足經(jīng)濟(jì)社會發(fā)展和生態(tài)文明建設(shè)的需要,提高測繪地理信息服務(wù)保障能力,更好地服務(wù)于我國經(jīng)濟(jì)建設(shè)工作,國務(wù)院下發(fā)通知,決定開展地理國情監(jiān)測項目。該項目綜合運用多種現(xiàn)代高新技術(shù),包括衛(wèi)星定位系統(tǒng)(GNSS)、航空航天遙感技術(shù)(RS)、地理信息系統(tǒng)技術(shù)(GIS)。主要成果數(shù)據(jù),包括國情要素數(shù)據(jù)、地表覆蓋數(shù)據(jù)內(nèi)業(yè)都是在高分正射遙感影像上采集的,成果數(shù)據(jù)多且主要是數(shù)據(jù)庫形式,整個生產(chǎn)過程都需要借助計算機(jī)來完成。計算機(jī)軟件利用的程度決定著生產(chǎn)的進(jìn)度,因此迫切需要開發(fā)出一些應(yīng)用程序,對一些重復(fù)性的、繁瑣的、有規(guī)律可循的人工操作讓計算機(jī)來自動來完成。比如開發(fā)衛(wèi)星遙感影像自動解譯軟件可以快速完成地表覆蓋分類;開發(fā)一些質(zhì)量監(jiān)督檢查軟件,可有效的控制產(chǎn)品質(zhì)量。

      1.2 可行性分析

      對于一些數(shù)據(jù)重復(fù)、批量處理的工序,純手工操作,無疑是一個技術(shù)含量低、耗時量大的任務(wù),當(dāng)我們能利用一些其他手段,能快速、準(zhǔn)確的解決問題,毫無疑問在質(zhì)和量上都能提高一定的高度,減少一些不必要的重復(fù)工作量。

      在地理國情監(jiān)測項目中,由于遙感影像需要二次糾正,我們需要將按圖幅號劃分的數(shù)據(jù)庫統(tǒng)一進(jìn)行合并,并將其按鑲嵌線的面元裁成對應(yīng)景號的各個子庫。當(dāng)我們需將大批量的數(shù)據(jù)進(jìn)行合并時,通常需要逐一將每一個子庫的對應(yīng)層進(jìn)行合并,一般情況下,我們可以通過ArcMap的追加工具,或者通過加載數(shù)據(jù)逐一層的復(fù)制粘貼數(shù)據(jù),這樣必然使得工作繁瑣、工作量大。

      按景號裁庫主要是將合并的大庫,按每一個鑲嵌線面元的范圍裁成對應(yīng)的小庫,一般情況下,我們需要按照景號建立對應(yīng)的數(shù)據(jù)庫,并將該景號范圍的要素裁剪到對應(yīng)的要素層。針對影像二次糾正的數(shù)據(jù)準(zhǔn)備,若以手工方式操作,投入較大,而且容易出錯。涉及到數(shù)據(jù)結(jié)構(gòu)的變化,在各個工序生產(chǎn)過程中,由于軟件的不兼容性,對讀取的數(shù)據(jù)格式有限制,經(jīng)常需要對MDB格式的數(shù)據(jù)庫和GDB格式的數(shù)據(jù)庫進(jìn)行轉(zhuǎn)換。對于大的行政單元,要實現(xiàn)數(shù)據(jù)格式的互換,通過程序設(shè)計達(dá)到批量處理既快速又準(zhǔn)確。

      1.3 程序開發(fā)環(huán)境

      程序主要是以VS2010為平臺,VB.NET為基本編程語言,C#為輔助編程語言?;贏rcObject的二次開發(fā),對以開發(fā)語言的選擇,正常C#最優(yōu),但由于初學(xué)C#,主語言主要以VB.NET為主。

      2.代碼設(shè)計

      通過分析問題,找出解決問題的辦法,設(shè)計程序算法。在保證質(zhì)量的前提下,尋找合適的解決方法,并在一定的程度上進(jìn)行代碼優(yōu)化,提高程序的穩(wěn)定性,以及程序的運行速率。

      批量合庫程序的設(shè)計,主要是在VB.NET+AO環(huán)境下設(shè)計。由于合并的數(shù)據(jù)庫數(shù)量多,為了保證合并過程中要素類中不丟要素,以及要素不丟屬性信息,設(shè)計思路主要是將文件夾下的所有數(shù)據(jù)庫往排序第一的數(shù)據(jù)庫中,以要素重構(gòu)的方式合并到第一個庫中;為了提高程序運行的速率,以遍歷第一個庫下的要素類的方式,將其他庫中同名的要素類中的要素在第一個庫中的要素類中重構(gòu)。

      要素重構(gòu)的主要代碼如下:

      WhileNotpFeatCopyIsNothing

      DimpFeatZTAsIFeature=pFeatureClass.

      CreateFeature

      pFeatZT.Shape=pFeatCopy.Shape

      Forj=0TopFeatZT.Fields.FieldCount-1

      DimpFieldNAsString=pFeatZT.Fields.

      Field(j).AliasName

      IfpFieldN<>“OBJECTID”AndpFieldN<>

      “SHAPE”AndpFieldN<>“SHAPE_Length”

      AndpFieldN<>“SHAPE_Area”Then

      Fork=0TopFeatCopy.Fields.FieldCount-1

      DimpFCNAsString=pFeatCopy.Fields.

      Field(k).AliasName

      IfpFCN=pFieldNThen

      pFeatZT.Value(j)=pFeatCopy.Value(k)

      ExitFor

      EndIf

      Next

      EndIf

      按景號裁庫程序設(shè)計的思路是通過遍歷所使用的鑲嵌線圖層中的要素,根據(jù)該要素的景號字段值,建立裁切后的子庫,然后將要素復(fù)制到裁切后子庫中的CQ層,調(diào)用C#編譯的ClipDo.dll的裁切函數(shù),以CQ為裁切范圍,將大庫每一層要素裁切到子庫中,最后刪除子庫中的CQ層。

      Dim pXKY AsString=System.Windows.Forms.Application.StartupPath+“”&pDH&“.gdb”

      DimpNameAsString

      DimpXKAsString=“”

      Fori=0TopFeature.Fields.FieldCount-1

      IfpFeature.Fields.Field(i).AliasName=“景號”Then

      pName=pFeature.Value(i)

      pXK=pPathXk+“”&pName&“.gdb”

      DimpChFoldAsFileSystemObject=New FileSystemObject

      IfpChFold.FolderExists(pXK)=TrueThen

      pChFold.DeleteFolder(pXK)

      EndIf

      DimpFileOAsFileSystemObject=New FileSystemObject

      DimpSfoAsScripting.Folder=pFileO.GetFolder(pXKY)

      DimpSflAsScripting.File

      ForEachpSflInpSfo.Files

      DimpOldAsString=pXKY+“”&pSfl.Name

      DimpNewAsString=pXK+“”&pSfl.Name

      My.Computer.FileSystem.CopyFile(pOld,pNew,F(xiàn)ileIO.UIOption.AllDialogs,F(xiàn)ileIO.UICancelOption.DoNothing)

      裁庫主要通過調(diào)用C#編寫的ClipDO.Dll。

      數(shù)據(jù)轉(zhuǎn)換的設(shè)計思路是將需轉(zhuǎn)格式數(shù)據(jù)庫的要素在另一種格式的數(shù)據(jù)庫中以重構(gòu)的方式轉(zhuǎn)換,通過數(shù)據(jù)屬性一一對應(yīng)寫入要素屬性表,避免了由于數(shù)據(jù)結(jié)構(gòu)變化導(dǎo)致的丟屬性的現(xiàn)象。

      3.程序?qū)崿F(xiàn)

      在VS2010平臺下,運用內(nèi)置打包發(fā)布工具,把設(shè)計的代碼生成可安裝的窗體交互式應(yīng)用程序,這種二次開發(fā)的應(yīng)用程序優(yōu)點在于提高程序的可讀性、可移植性和可維護(hù)性。操作界面簡單,運行時點擊窗口命令按鈕即可,使得程序簡單易操作;在合庫程序界面,只需按照提示信息選擇需要合并的庫所在的文件夾,然后點擊運行即可;在按景號裁庫的程序界面,根據(jù)命令按鈕提示信息,選擇要裁切的大庫、鑲嵌線文件、中央經(jīng)線、以及放子庫的文件夾即可;在GDB轉(zhuǎn)MDB格式的數(shù)據(jù)庫相互轉(zhuǎn)換的程序中,只需將要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)庫放入對應(yīng)的文件夾中,然后分別選擇需要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)庫所在的文件夾和放入轉(zhuǎn)換后數(shù)據(jù)庫的文件夾。

      4.程序測試

      硬件方面,當(dāng)前市場上常用的計算機(jī)硬件配置都能滿足所需要的運行環(huán)境;系統(tǒng)方面,對于XP以上的操作系統(tǒng)都可以運行。較高的計算機(jī)配置,程序運行速度相對較快,對于面積較大的行政單元數(shù)據(jù)庫不用分批次操作,一次性可讀取,完成對成果數(shù)據(jù)庫的合并、裁切、數(shù)據(jù)庫格式的轉(zhuǎn)換。在DELL系列,7010型配置的計算機(jī)上批量合庫程序可一次性讀取300個文件(以5萬圖幅為單位),能正常運行,30分鐘執(zhí)行完畢。裁庫程序可對一個行政單元的數(shù)據(jù)庫一次性裁切出400個子庫,需要運行近2個小時。對于不同格式的數(shù)據(jù)庫進(jìn)行轉(zhuǎn)換處理起來較快,一般一個行政單元的數(shù)據(jù)庫(按圖幅計算)幾分鐘就運行完畢。

      5.程序的應(yīng)用

      按照工序的要求,前期國情數(shù)據(jù)采集和地表覆蓋分類都是在初糾正的影像上進(jìn)行的,外業(yè)獲取像控點成果后,對遙感影像進(jìn)行了二次糾正。這就需要對前期生產(chǎn)的矢量數(shù)據(jù)套合正射攝影進(jìn)行二次糾正。這就需要利用合庫程序先把子數(shù)據(jù)庫(一般一幅5萬圖為一個數(shù)據(jù)庫)拼合到一起,利用裁庫程序以遙感影像鑲嵌線為范圍創(chuàng)建一個面元,按其景號字段值建立數(shù)據(jù)庫,然后利用面元范圍裁切大庫。在成果提交時,是按行政單元,也可以利用合庫程序把所有子庫合并成一個數(shù)據(jù)庫。包括中間數(shù)據(jù)庫格式的反復(fù)轉(zhuǎn)換都可以使用轉(zhuǎn)換程序來實現(xiàn)。目前,新開發(fā)的這幾個程序,在新疆測區(qū)、內(nèi)蒙測區(qū)、西藏測區(qū)已經(jīng)推廣使用。經(jīng)過實踐證明,和人工操作對比,大大節(jié)省時間,提高數(shù)十倍的效率。

      6.結(jié)束語

      基于ArcObject開發(fā)的批量合庫、裁庫、數(shù)據(jù)庫格式轉(zhuǎn)換應(yīng)用程序在幾個測區(qū)中的應(yīng)用,既省時又省力,準(zhǔn)確無誤地完成了對3個測區(qū)海量數(shù)據(jù)的處理。在生產(chǎn)過程中針對某些問題,尤其在后期質(zhì)量控制檢查方面,要多開發(fā)應(yīng)用程序,能夠提高工作效率,解決時間緊、任務(wù)重的問題。地理國情監(jiān)測項目的成果數(shù)據(jù)較多,且都是數(shù)據(jù)庫形式的,因此多開發(fā)一些數(shù)據(jù)庫方面的應(yīng)用程序尤為重要。

      【1】地理信息系統(tǒng)開發(fā)—ArcObjects方法[M].武漢大學(xué)出版.

      【2】GIS程序設(shè)計.基于ArcEngine的C#開發(fā)實例.浙江大學(xué)出版社.

      【3】基于遙感與GIS的城市總體規(guī)劃信息工程[J].測繪學(xué)報.

      【4】地理信息系統(tǒng)理論與應(yīng)用叢書.ArcGIS開發(fā)寶典.科學(xué)出版社.

      【5】張富強(qiáng).GIS中多維點數(shù)據(jù)的誤差區(qū)間分析法研究[J].測繪與空間地理信息,2010,33(2):65-68.

      猜你喜歡
      應(yīng)用程序要素程序
      掌握這6點要素,讓肥水更高效
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      試論我國未決羈押程序的立法完善
      觀賞植物的色彩要素在家居設(shè)計中的應(yīng)用
      “程序猿”的生活什么樣
      論美術(shù)中“七大要素”的辯證關(guān)系
      英國與歐盟正式啟動“離婚”程序程序
      也談做人的要素
      山東青年(2016年2期)2016-02-28 14:25:36
      創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      灌南县| 台南市| 德格县| 宁强县| 平潭县| 涿鹿县| 稷山县| 习水县| 灵寿县| 汤阴县| 呼伦贝尔市| 德令哈市| 仙居县| 恭城| 宿州市| 临汾市| 岳西县| 长顺县| 那曲县| 泸西县| 呼和浩特市| 上林县| 景谷| 克山县| 永福县| 积石山| 宁都县| 博罗县| 曲水县| 樟树市| 龙山县| 洛扎县| 溆浦县| 临高县| 梁平县| 惠安县| 合川市| 荃湾区| 五家渠市| 康乐县| 霍州市|