• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種點之記快速制作方法

    2020-03-31 02:15:30
    礦山測量 2020年1期
    關(guān)鍵詞:刺點類庫外業(yè)

    張 龍

    (甘肅省地圖院,甘肅 蘭州 730000)

    像控點測量是指根據(jù)像片上內(nèi)業(yè)的布點方案,在實地根據(jù)影像的灰度和形狀找到并確定像控點的位置,測量并記錄該點平面坐標(biāo)及其高程。

    在經(jīng)濟(jì)飛速發(fā)展的今天,航測數(shù)字化成圖已成為我國城市測繪的一種主要手段,而隨著航空攝影測量在各個測繪應(yīng)用領(lǐng)域的普及,關(guān)于影像像控點的測量任務(wù)在各生產(chǎn)單位也日趨增多。像控點之記成果作為影像處理所需的重要參考資料,其內(nèi)容的準(zhǔn)確性及制作效率直接影響到后續(xù)生產(chǎn)進(jìn)度,空三轉(zhuǎn)刺像控點的精度、效率,繼而影響到測繪4D產(chǎn)品的生產(chǎn)精度和效率。目前不少單位在外業(yè)像控點測量時,仍舊是由作業(yè)人員拿著紙質(zhì)相片到野外根據(jù)設(shè)計的位置選點、測量,然后在相片上刺點,并在相片反面繪制點位略圖和點位說明。這樣的工作模式不僅會增加成本,還會使影像細(xì)節(jié)常常難以辨認(rèn),影響刺點精度,甚至導(dǎo)致返工。在接下來的成果整理時,由于點之記的內(nèi)容屬性眾多,加之在測繪項目中所需像控點數(shù)量較多,人工完成點之記成果文件的制作,耗時較長且容易出錯[1-4]。

    針對上面問題,本文通過引入個人數(shù)字助理終端(Personal Digital Assistant,PDA)解決像控點導(dǎo)航和外業(yè)刺點問題,再引入Word類庫通過C#語言編程開發(fā)了點之記自動生成的程序,能夠?qū)⑽淖峙c圖片等對象自動化寫入點之記模板并批量輸出,大大提高了工作效率和準(zhǔn)確率。

    1 設(shè)計思路

    本文介紹的方法設(shè)計流程圖如圖1所示,設(shè)計思路總共分為三個階段。

    圖 1 設(shè)計流程圖

    1.1 數(shù)據(jù)準(zhǔn)備

    利用已有資料如像控點成果或者DLG、DOM通過影像匹配技術(shù)或者光速法平差技術(shù)將航攝區(qū)影像納入坐標(biāo)系中。這一過程要盡可能的保證幾何精度,以便提高外業(yè)使用PDA導(dǎo)航找點的效率。然后在該影像上規(guī)劃刺點區(qū)域并命名,刺點區(qū)域應(yīng)合理分布整個測區(qū),如圖2圖中綠色區(qū)域所示。最后將影像和刺點區(qū)域?qū)隤DA外業(yè)調(diào)繪軟件中,如圖3所示。

    1.2 外業(yè)測量

    利用PDA外業(yè)調(diào)繪軟件的導(dǎo)航定位和影像自由縮放功能,快速準(zhǔn)確地找到預(yù)選刺點區(qū)域,確定好點位后便可架設(shè)儀器施測,在PDA上將該點的實際位置準(zhǔn)確地刺在相對應(yīng)的影像位置上,并將其記錄在外業(yè)調(diào)繪軟件中預(yù)先建立好的實測點SHP圖層,同時將點號、刺點者、作業(yè)日期、檢查者、所在地、點位描述等屬性信息填寫到屬性表中,可按照如表1所示的格式記錄。

    圖 2 預(yù)處理影像規(guī)劃刺點區(qū)域

    圖 3 PDA

    表 1 點位文件屬性表

    1.3 程序處理

    圖4為像控點之記快速制作工具的主界面,下面著重介紹開發(fā)環(huán)境和點之記生成要點。

    圖 4 像控點之記快速制作工具界面

    1.3.1 開發(fā)環(huán)境

    采用C#語言,在VS2010平臺上添加Microsoft.Office.Interop.Word和Microsoft.Office.Interop.Excel的引用和ArcEngine10.1類庫。

    1.3.2 點之記生成

    點之記文件的生成主要有以下幾個關(guān)鍵點:

    (1)以模板word為基礎(chǔ),創(chuàng)建點之記文檔

    以模板文件為基準(zhǔn),創(chuàng)建word文檔,其主要實現(xiàn)方式是對_Document類的操作,其個數(shù)要與像控點個數(shù)一致。關(guān)鍵代碼如下:

    //oFileName為模板word路徑,打開點之記word模板,保證格式一致。

    oDoc = oWord.Documents.Open(ref oFileName, ref oMissing, ref oReadOnly, ref oMissing, ref oMissing,ref oMissing, ref oMissing, ref oMissing, ref oMissing,ref oMissing,ref oMissing,ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

    //獲取模板word對象

    word.Table nowTable = oDoc.Tables[1];

    //獲取模板word文檔X行Y列的單元格的值:nowTable.Cell(X,Y).Range.Text

    打開模板后,可以用程序?qū)懭雮€像控點的屬性信息和點位影像,保存成與點名一致的word文件即可。關(guān)鍵代碼如下:

    //每個像控點填完信息后批量保存。

    Object saveChanges=word.WdSaveOptions.wdPromptToSaveChanges;

    oWord.ActiveDocument.SaveAs(ref odocpath,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing);

    oWord.ActiveDocument.Close(ref saveChanges, ref oMissing, ref oMissing);

    (2)采用ArcEngine類庫裁切點位影像

    需要外業(yè)PDA中記錄點位的SHP文件,可將影像底圖按1:500比例尺裁切作為點位略圖,按1:1 500比例尺裁切作為概略點位影像,這里的影像是PDA中的影像底圖。關(guān)鍵代碼如下:

    //獲取指定比例尺的影像分辨率。

    pActiveView.FocusMap.MapScale = double.Parse(comboBoxScale.Text);

    int pResolution = (int)pActiveView.ScreenDisplay.DisplayTransformation.Resolution;

    private void ExportMapToImage(IActiveView pView, tagRECT ptagRECT, IEnvelope pEnv, string path, int Resolution)

    {IExport pExporter = new ExportPNGClass();//裁切影像的主要對象

    IEnvelope pEnvelope = new EnvelopeClass();

    pEnvelope.PutCoords(ptagRECT.left, ptagRECT.bottom, ptagRECT.right, ptagRECT.top);

    ITrackCancel pTrackCancel = new CancelTrackerClass();

    IExportImage pExportType = pExporter as IExportImage;

    pExportType.ImageType = esriExportImageType.esriExportImageTypeTrueColor;

    pExporter.Resolution = Resolution;

    pExporter.ExportFileName = path;

    pExporter.PixelBounds = pEnvelope;//根據(jù)分辨率、長和寬計算出的待裁切區(qū)域的空間范圍。

    //裁切影像,并輸出到指定的路徑中。

    pView.Output(pExporter.StartExporting(),Resolution, ref ptagRECT, pEnv, pTrackCancel);

    pExporter.FinishExporting();pExporter.Cleanup();}

    (3)屬性信息讀寫

    ArcEngine類庫讀取點位SHP文件屬性表中的點名和點之記描述;Excel類庫讀取像控點解算XLS文件中外業(yè)測量的控制點解算出的東坐標(biāo)、北坐標(biāo)和正常高。兩者文件中記錄的點名必須一一對應(yīng)。關(guān)鍵代碼如下:

    將雙創(chuàng)教育與專業(yè)教育有機(jī)融合,全過程滲透,培養(yǎng)學(xué)生的創(chuàng)造性思維,提升學(xué)生的開拓進(jìn)取能力和鍥而不舍的態(tài)度,避免雙創(chuàng)教育和專業(yè)教育的相對獨立及脫節(jié)問題,這才是雙創(chuàng)教育的根本目的。

    //oExcelName為像控點Excel解算文件路徑,打開它獲取每個像控點結(jié)算后的空間坐標(biāo)。

    wb=app.Workbooks.Open(oExcelName,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,

    Nothing,Nothing,Nothing);

    //獲取Excel對象

    excel.Worksheet s=(excel.Worksheet)wb.Worksheets[1];

    //獲取Excel文件中某一單元格的值(X為Excel表格中的行號,Y為Excel表格中的列號):((excel.Range)s.Cells["X", "Y"]).Text

    //讀取SHP文件

    IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();

    IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pFolder, 0);

    IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;

    IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass(pFileName);

    //讀取SHP文件字段值。

    string pvalue = pFeat.get_Value(indexv).ToString();

    (4)插入圖片

    Word文檔中存儲的圖片包括Shape和Inlineshapes兩種,本文中使用的是Inlineshapes。嵌入文本中的圖片可以在table對象中的Range的Inlineshapes集合中獲取。圖片名稱應(yīng)與點名保持一致。

    //圖片插入第X行第Y列

    newTable.Cell(X,Y).Select();

    object LinkToFile = false;

    object SaveWithDocument = true;

    object Anchor = WordDoc.Application.Selection.Range;

    WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(ImagePath , ref LinkToFile, ref SaveWithDocument, ref Anchor);

    (5)內(nèi)存處理

    在處理過程中發(fā)現(xiàn),雖然程序已經(jīng)關(guān)閉了Word和Excel對象,但其對應(yīng)的后臺進(jìn)程仍在運行,隨著數(shù)據(jù)處理數(shù)量的增加,這些進(jìn)程越來越多,占用了大量的內(nèi)存,計算機(jī)反應(yīng)速度越來越慢,會出現(xiàn)黑屏現(xiàn)象。經(jīng)研究,需增加關(guān)閉Word和Excel后臺進(jìn)程的功能。關(guān)鍵代碼如下:

    //關(guān)閉Word后臺進(jìn)程

    Process myProcess = new Process();Process[]wordProcess = Process.GetProcessesByName("WINWORD");

    Try {foreach (Process pro in wordProcess)

    {IntPtr ip = pro.MainWindowHandle;

    string str = pro.MainWindowTitle;

    if(string.IsNullOrEmpty(str)) {pro.Kill();}}}

    //關(guān)閉Excel后臺進(jìn)程

    private void KillOffice(excel.Application pp)

    {IntPtr t = new IntPtr(pp.Hwnd);int k = 0;

    GetWindowThreadProcessId(t, out k);Process p = Process.GetProcessById(k);p.Kill();}

    以點之記模板文件為基準(zhǔn),通過以上五步完成對點之記成果文件的制作,如表2所示。

    表2點之記模板

    2 應(yīng)用情況

    選取甘南藏族自治州合作市縣1:1 000基礎(chǔ)測繪項目作為試驗區(qū)域,對比分析使用該工具與傳統(tǒng)方法在制作無人機(jī)像控點之記成果上的優(yōu)劣性。

    測區(qū)位于甘南高原的合作市區(qū)境內(nèi),群山環(huán)繞,平均海拔2 700 m以上。項目采用無人機(jī)航攝,設(shè)計地面分辨率0.1 m,航攝面積大約30 km2,共有24條航線,1 926張航片。為了達(dá)到生產(chǎn)要求,野外平均每隔3條基線布設(shè)一個像控點,共布設(shè)了478個像控點。

    表3為兩種方法制作相同數(shù)量點之記成果所使用的時間和錯誤率統(tǒng)計情況??梢钥闯觯合啾葌鹘y(tǒng)方法,使用該工具后制作相同數(shù)量點之記成果時花費的時間減少了約90%,生產(chǎn)速度提高的效果顯著;準(zhǔn)確率能達(dá)到100%,極大提高了控制成果的可靠性。

    表 3 成果制作時間和錯誤率統(tǒng)計表

    3 結(jié) 語

    本文提出了一種全新的點之記快速制作的方法,既有前期的規(guī)劃設(shè)計要求,又引入了PDA輔助外業(yè)測量,后期數(shù)據(jù)整理時,又開發(fā)了基于Word文檔自動化操作的處理程序,能夠?qū)崿F(xiàn)點之記成果的快速準(zhǔn)確高效制作。通過多種測量項目實踐證明,應(yīng)用該工具之后,點之記成果的制作效率大大提高,能在減輕數(shù)據(jù)處理人員工作量的同時,提高了數(shù)據(jù)成果的準(zhǔn)確率,并且大大減少該環(huán)節(jié)時間成本的投入,完全達(dá)到了提質(zhì)增效的目的,獲得了比較好的效果,可以在基礎(chǔ)測繪、國情普查和三調(diào)等各種像控點數(shù)據(jù)采集項目中推廣應(yīng)用。

    猜你喜歡
    刺點類庫外業(yè)
    基于移動 GIS 的公路工程外業(yè)調(diào)查系統(tǒng)研究
    用Java編寫客戶機(jī)/服務(wù)器端應(yīng)用程序
    淺析攝影對生命延續(xù)的有限性
    西部論叢(2019年9期)2019-03-20 05:18:04
    Python在數(shù)據(jù)可視化中的應(yīng)用
    盛世的刺點
    戲劇之家(2018年27期)2018-12-10 11:21:56
    基于市政管線外業(yè)采集命名規(guī)則和輔助軟件開發(fā)
    淺析《明室》中的攝影觀點
    數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
    軟件工程(2017年12期)2018-01-29 17:35:55
    天津市第一次全國地理國情普查外業(yè)調(diào)繪核查
    數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計與實現(xiàn)
    虎林市| 小金县| 望江县| 聊城市| 宜川县| 吉林市| 武强县| 蓝山县| 吐鲁番市| 垦利县| 赫章县| 芷江| 东乡| 苍梧县| 敖汉旗| 浑源县| 浙江省| 民和| 石门县| 调兵山市| 英德市| 昌平区| 石家庄市| 闽侯县| 南和县| 封丘县| 罗山县| 开鲁县| 定兴县| 堆龙德庆县| 肥乡县| 随州市| 信阳市| 丹巴县| 贵溪市| 平昌县| 武胜县| 花莲市| 灵璧县| 梧州市| 怀仁县|