• 
    

    
    

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

      ?

      基于Arcpy的影像地圖自動處理技術(shù)研究

      2015-02-19 02:27:37余詠勝彭艷麗尹言軍黃兵杰
      測繪通報(bào) 2015年3期
      關(guān)鍵詞:圖面制圖頁面

      余詠勝,彭艷麗,尹言軍,黃兵杰

      (1. 武漢市測繪研究院,湖北 武漢 430022; 2. 武漢市規(guī)劃研究院,湖北 武漢 430014)

      Research on Photographic Map Automatic Processing Technology

      Based on Arcpy

      YU Yongsheng,PENG Yanli,YIN Yanjun,HUANG Bingjie

      ?

      基于Arcpy的影像地圖自動處理技術(shù)研究

      余詠勝1,彭艷麗2,尹言軍1,黃兵杰1

      (1. 武漢市測繪研究院,湖北 武漢 430022; 2. 武漢市規(guī)劃研究院,湖北 武漢 430014)

      Research on Photographic Map Automatic Processing Technology

      Based on Arcpy

      YU Yongsheng,PENG Yanli,YIN Yanjun,HUANG Bingjie

      摘要:針對影像地圖的制作過程中存在重復(fù)作業(yè)、效率不高等問題,采用基于Arcpy站點(diǎn)包實(shí)現(xiàn)了影像地圖的自動處理,該方法通過地圖模板制作影像地圖標(biāo)準(zhǔn)文件,在此基礎(chǔ)上進(jìn)行圖面要素和注記信息的自動處理,實(shí)現(xiàn)無用戶參與情況下高效地制作影像地圖。

      關(guān)鍵詞:Arcpy;影像地圖;地圖模板;自動制圖

      一、引言

      影像地圖是以數(shù)字正射影像圖(DOM)為基礎(chǔ),根據(jù)一定的數(shù)學(xué)規(guī)則、按照一定的比例尺將基礎(chǔ)地理信息和地圖專題信息以符號、注記等形式綜合表示在圖面上的一種地圖形式。影像地圖既包含豐富的影像信息內(nèi)容,又能保證地形圖的整飾和幾何精度,在城市規(guī)劃、國土資源管理、環(huán)境保護(hù)和重大工程建設(shè)等領(lǐng)域得到了廣泛應(yīng)用。

      目前生產(chǎn)單位制作影像地圖主要通過人工方式采用計(jì)算機(jī)輔助制圖模式進(jìn)行,利用具備強(qiáng)大圖形編輯、文字處理和符號制作功能的軟件如CorelDRAW、Adobe Illustrator等完成影像及相關(guān)專題地圖的制作。這類制圖軟件雖然具有豐富的地圖符號、注記和色彩表現(xiàn)等功能,但由于軟件沒有地理坐標(biāo)的概念,圖形圖像要素不能與地理信息關(guān)聯(lián),導(dǎo)致生產(chǎn)中作業(yè)效率不高、準(zhǔn)確率難以保證,而且存在重復(fù)作業(yè)、自動化程度低等問題。本文針對這些問題,在影像地圖的制作技術(shù)、規(guī)范化、標(biāo)準(zhǔn)化方面進(jìn)行了探索和試驗(yàn),提出了基于Arcpy的影像地圖自動處理技術(shù)并在生產(chǎn)中得到實(shí)際應(yīng)用。

      二、Arcpy與影像地圖模板

      1. Arcpy站點(diǎn)包

      Python是一種通用的開源編程語言,易于學(xué)習(xí)和使用,在ArcGIS地理處理中用作腳本語言,在ArcGIS 9.3版本以前使用Python腳本擴(kuò)展地理處理框架(GP,GeoProcessing),需要引用arcgisscripting,通過其提供的方法、屬性和函數(shù)完成自定義的GP開發(fā)與定制,而在ArcGIS 10中則不需要引用arcgisscripting命名空間,而是采用新的Arcpy命名空間,通過引用Arcpy站點(diǎn)包可以直接調(diào)用其提供的一系列方法、類和模塊。

      Arcpy主要由制圖模塊、數(shù)據(jù)訪問模塊、空間分析模塊及擴(kuò)展模塊和基本函數(shù)功能組成。通過Arcpy可以訪問并使用來自多個不同領(lǐng)域的GIS專業(yè)人員和程序員開發(fā)的大量Python模塊,用戶可以在交互式環(huán)境中快速創(chuàng)建腳本原型并進(jìn)行測試,通過Arcpy訪問地理處理工具和其他函數(shù)、類和模塊,可以快速地創(chuàng)建各種簡單或大型應(yīng)用程序,靈活高效地實(shí)現(xiàn)各類業(yè)務(wù)邏輯。在Python腳本中引用Arcpy的方式如下:

      import arcpy

      需要注意的是,Arcpy作為地理處理框架的一部分,旨在作為自動化處理工具,而不是自定義應(yīng)用程序框架,Arcpy設(shè)計(jì)的出發(fā)點(diǎn)并不是用來代替ArcObject,因此不能通過Arcpy定義ArcGIS用戶界面的按鈕、對話框、菜單選項(xiàng)等功能,訪問的對象和函數(shù)也是有限制的,如不能通過Arcpy新建地圖文檔或更改地圖文檔的頁面大小和方向,這些功能必須通過ArcObject來實(shí)現(xiàn)。

      2. Arcpy制圖模塊和影像地圖模板

      Arcpy制圖模塊(arcpy.mapping)提供了對AO的高級封裝,通過一系列方法實(shí)現(xiàn)地圖范圍、比例尺、符號化、圖廓整飾等要素的修改,完成自動化的地圖打印或?qū)С觯茍D模塊設(shè)計(jì)側(cè)重于修改已有的地圖文檔或圖層文件中的現(xiàn)有元素,不允許新建地圖文檔,因此在實(shí)現(xiàn)影像地圖自動處理之前必須先在ArcGIS中創(chuàng)建一個包含相應(yīng)元素的影像地圖模板,然后再通過arcpy.mapping操作相關(guān)要素和內(nèi)容。

      影像地圖模板是一個Esri MXD文件,其目的在于方便Python腳本程序處理實(shí)現(xiàn)制圖處理的自動化。模板可以包含底圖圖層,也可以創(chuàng)建各種常用的頁面布局。創(chuàng)建地圖模板前應(yīng)先確定地圖投影,然后按照設(shè)計(jì)要求設(shè)置紙張大小、確定制圖比例尺、圖名、圖例、坐標(biāo)格網(wǎng)、指北針等一系列制圖要素的放置。

      下面以A3幅面圖廓為例,簡述建立影像地圖模板的過程:在頁面布局視圖將頁面尺寸設(shè)置為42 cm×29.7 cm,將數(shù)據(jù)框的尺寸設(shè)置為39 cm×26.7 cm,然后按照文獻(xiàn)[2]設(shè)置圖名、圖廓線、指北針、圖例和注記等要素的位置、規(guī)格和顏色。圖式中一般情況下線劃粗細(xì)為0.15 mm,ArcGIS中線寬設(shè)置的默認(rèn)尺寸單位為磅(1磅=1 mm×2.845),線寬數(shù)值應(yīng)輸入0.427磅。創(chuàng)建的影像地圖模板如圖1所示,其中外圍黑線為頁面尺寸范圍,內(nèi)圖廓矩形為數(shù)據(jù)框范圍。

      圖1 影像地圖模板

      三、影像地圖自動處理的實(shí)現(xiàn)

      1. 研究方法和技術(shù)路線

      影像地圖一般以真彩色航空或衛(wèi)星數(shù)字正射影像圖為基礎(chǔ),輔助符號和注記要素進(jìn)行圖面表達(dá)。本文以ArcGIS為平臺,保證影像底圖和矢量數(shù)據(jù)的準(zhǔn)確疊加,結(jié)合頁面布局技術(shù)制作標(biāo)準(zhǔn)化的影像地圖模板,通過注記模板完成圖面內(nèi)容及標(biāo)注的設(shè)計(jì),根據(jù)數(shù)據(jù)框?qū)ο笠蕴囟ǖ睦L圖順序和地圖投影顯示影像和矢量圖層,并控制制圖比例尺和輸出范圍,最后根據(jù)制圖需要處理圖廓要素并輸出處理成果。影像地圖表達(dá)應(yīng)注重影像和地圖符號層的視覺層次關(guān)系,本文主要涉及影像地圖的自動化處理,符號和注記的形式和色彩設(shè)計(jì)不是本文研究的重點(diǎn)。影像地圖自動處理技術(shù)流程如圖2所示。

      圖2 影像地圖自動處理技術(shù)流程

      2. 影像底圖和圖面注記

      影像底圖數(shù)據(jù)應(yīng)根據(jù)制圖的用途、精度等要求,盡可能地選擇時相最合適、波段最理想的數(shù)字正射影像圖作為影像底圖資料。作為底圖的遙感影像應(yīng)注重處理的視覺效果,而不一定是解譯效果。通常影像數(shù)據(jù)組織包括影像數(shù)據(jù)的分幅處理、影像文件的標(biāo)準(zhǔn)化命名和影像數(shù)據(jù)的存儲方式。影像文件存儲可以按文件方式保存,也可以在ArcGIS中通過柵格數(shù)據(jù)集和柵格目錄兩種方式存儲和管理,柵格數(shù)據(jù)集表現(xiàn)為連續(xù)的單幅影像數(shù)據(jù),而柵格目錄則是多個柵格數(shù)據(jù)的集合。無論影像數(shù)據(jù)以何種方式組織,在Arcpy中處理的方式類似,以下代碼是影像圖層的處理,其中cPath為影像文件路徑名,cName為影像文件名:

      lay.replaceDataSource(cPath,"RASTER_WORKSPA

      CE", cName) # 重定義圖層數(shù)據(jù)源

      lay.name=cName# 重定義圖層名稱

      圖面注記是影像地圖必不可少的內(nèi)容,在成圖過程中占用較大的制圖工作量。圖面注記一般通過標(biāo)注(Label)方式實(shí)現(xiàn),在Label Manager中進(jìn)行統(tǒng)一管理。Label對象是一種動態(tài)標(biāo)注,可以自動調(diào)整標(biāo)注位置、解決壓蓋沖突等問題,但Label對象會隨圖面顯示內(nèi)容不同發(fā)生變化,考慮到固定比例尺制圖的需要,應(yīng)在完成字體大小、顏色和方向等屬性設(shè)置后將動態(tài)Label對象轉(zhuǎn)換為該比例尺下的Annotation對象。Annotation是固定比例尺下靜態(tài)標(biāo)注對象,以數(shù)據(jù)庫方式保存,系統(tǒng)會在數(shù)據(jù)庫中創(chuàng)建一個地圖注記類保存靜態(tài)標(biāo)注的Annotation對象。由于地形地物的特殊性和復(fù)雜性,局部區(qū)域注記密集和壓蓋等的問題,仍需要通過人工方式進(jìn)行局部修改。影像地圖的圖面注記具有可重用性,多數(shù)情況下不同時期的影像地圖注記可以略作修改或不需修改直接利用,需要對標(biāo)注字體大小、顏色、方向等參數(shù)修改時,只需對注記模板進(jìn)行適當(dāng)?shù)恼{(diào)整。

      3. 圖面要素處理

      影像地圖圖面要素處理主要包括數(shù)據(jù)框操作、書簽要素生成和圖廓要素編輯等內(nèi)容,圖面要素不能在數(shù)據(jù)視圖中操作,需要切換到布局頁面中完成。

      (1) 文檔對象的設(shè)置

      首先應(yīng)設(shè)置文檔對象,通過文檔對象才能處理地圖屬性,處理完畢后應(yīng)保存并刪除文檔對象,解除文檔鎖定,釋放系統(tǒng)資源,避免不同地圖文檔引用可能引起的錯誤。根據(jù)Arcpy使用原則,用戶只能處理當(dāng)前文檔或已有文檔,而不能通過Python腳本新建MXD文檔。打開MXD模板文檔的相關(guān)代碼如下,其中pMXD為模板文檔的路徑全名:

      mxd=arcpy.mapping.MapDocument(pMXD)

      (2) 數(shù)據(jù)框?qū)ο蟮奶幚?/h3>

      數(shù)據(jù)框?qū)ο笫茿rcpy制圖模塊的重要對象,一幅地圖文檔必須至少包含一個數(shù)據(jù)框?qū)ο?,如果文檔存在圖中圖或圖外圖的情況,則可以創(chuàng)建多個數(shù)據(jù)框?qū)ο?。?shù)據(jù)框具有定義顯示和使用其包含數(shù)據(jù)上下文的屬性,在數(shù)據(jù)視圖中顯示窗口即為數(shù)據(jù)框,系統(tǒng)根據(jù)圖層列表從下往上的順序顯示活動數(shù)據(jù)框的圖層。影像地圖模板中的數(shù)據(jù)框?qū)ο筇幚碇饕强刂频貓D范圍,當(dāng)頁面上數(shù)據(jù)框大小保持不變時,縮放地圖會導(dǎo)致地圖范圍發(fā)生變化。以下代碼是根據(jù)影像文件名cName設(shè)置數(shù)據(jù)框顯示范圍:

      df=arcpy.mapping.ListDataFrames(mxd)[0]

      cx, cy=cName[3:6], cName[0:3]

      ext=df.extent

      ext.XMin, ext.XMax=int(cx)*1000, (int(cx)+1)*1000

      ext.YMin, ext.YMax=int(cy)*1000, (int(cy)+1)*1000

      df.extent=ext

      (3) 書簽對象的操作

      ArcGIS通過書簽對象標(biāo)識要保存和引用的特定地理位置,當(dāng)用戶進(jìn)行平移或縮放操作時,可以通過書簽快速返回該研究區(qū)域。書簽對象必須在MXD模板中建立,然后才能通過制圖模塊進(jìn)行操作,每個數(shù)據(jù)框?qū)ο蠖加凶约旱臅灹斜怼R韵麓a是根據(jù)影像文件名cName設(shè)置書簽范圍,注意書簽對象可以直接修改屬性,而數(shù)據(jù)框顯示范圍只能通過范圍對象賦值:

      ext=arcpy.mapping.ListBookmarks(mxd, "", df)[0].extent

      ext.XMin, ext.XMax=int(cx)*1000, (int(cx)+1)*1000

      ext.YMin, ext.YMax=int(cy)*1000, (int(cy)+1)*1000

      (4) 圖廓要素的操作

      影像地圖圖廓要素操作通過頁面布局元素對象來實(shí)現(xiàn),頁面對象類型包括:數(shù)據(jù)框、文本、圖形、圖像、圖例和其他六大類,不同的圖廓要素分屬不同的圖廓頁面對象類別,但操作方式類似。下面簡述影像地圖圖廓要素的指北針、圖例和圖面注記的位置操作方式,相關(guān)代碼如下:

      # 設(shè)定指北針位置

      nArrow=arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT")[0]

      nArrow.elementPositionX=df.elementPositionX + df.elementWidth-10

      nArrow.elementPositionY=df.elementPositionY + df.elementHeight-10

      # 設(shè)定圖例位置

      legend=arcpy.mapping.ListLayoutElements(mxd, "GRAPHIC_ELEMENT")[0]

      legend.elementPositionX=df.elementPositionX + df.elementWidth

      legend.elementPositionY=df.elementPositionY

      # 設(shè)定圖面注記內(nèi)容和位置

      txt=arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT")[0]

      txt.text="標(biāo)題"

      txt.elementPositionX=df.elementPositionX + df.elementWidth/2.0

      txt.elementPositionY=df.elementPositionY + df.elementHeight + 10

      4. 自動化處理和輸出

      ArcGIS的地圖輸出方式有3種:第1種是輸出到位圖,第2種是輸出到PDF文件,第3種是通過ArcPress直接打印??紤]到實(shí)際生產(chǎn)中可能會用到專業(yè)的柵格化打印軟件,這里采用直接輸出為JPEG成果文件。通過Arcpy輸出JPEG成果文件的代碼如下:

      arcpy.mapping.ExportToJPEG(mxd, jpgPathName, "PAGE_LAYOUT", 4200, 2970, 254)

      自動化處理的關(guān)鍵是影像文件的遍歷,程序自動根據(jù)數(shù)字正射影像的范圍信息載入影像地圖模板文件,修改坐標(biāo)標(biāo)注及結(jié)合表信息,更新圖面注記內(nèi)容,實(shí)現(xiàn)了影像地圖處理的自動化操作。圖3是程序自動生成的影像地圖成果數(shù)據(jù)。

      圖3 影像地圖自動處理成果

      四、結(jié)束語

      本文在頁面布局技術(shù)的基礎(chǔ)上完成了影像地圖的創(chuàng)建,通過Arcpy方式實(shí)現(xiàn)了影像地圖制圖與輸出處理的自動化,同時采用地圖模板方式實(shí)現(xiàn)了影像地圖處理的標(biāo)準(zhǔn)化和規(guī)范化,使得影像地圖的制圖更加方便快捷,在很大程度上提高了生產(chǎn)作業(yè)效率。同時, 本文通過Python開發(fā)模式實(shí)現(xiàn), 最終處

      理程序以腳本文件方式提供使用,具有較好的可擴(kuò)展性和移植性。

      參考文獻(xiàn):

      [1]龐小平,趙羲,高峰,等. 真彩色城市影像地圖統(tǒng)一協(xié)調(diào)性研究[J]. 武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2006,31(6):481-488.

      [2]中國國家標(biāo)準(zhǔn)化管理委員會.GB/T 20257.1—2007國家基本比例尺地圖圖式 第1部分:1∶500 1∶1000 1∶2000地形圖圖式[S].北京:中國標(biāo)準(zhǔn)出版社,2007.

      [3]劉艷,關(guān)雷,韓冬,等. ArcGIS環(huán)境下數(shù)據(jù)裁切技術(shù)研究[J]. 測繪與空間地理信息,2012(5):108-113.

      [4]黃昌勝,姜圓盈. 基于ArcGIS的專題圖制作[J]. 城市勘測,2012(2):28-30.

      [5]徐穎,趙萍,黃亞萍. 基于ArcGIS標(biāo)準(zhǔn)分幅裁切新方法[J]. 現(xiàn)代測繪,2006(3):43-45.

      [6]劉云彤,黃鐵成,吳焱. ArcGIS制圖技術(shù)在森林分類經(jīng)營中的應(yīng)用——以喀什地區(qū)地方公益林區(qū)劃定界為例[J]. 新疆師范大學(xué)學(xué)報(bào):自然科學(xué)版,2011(6):9-12.

      引文格式: 余詠勝,彭艷麗,尹言軍,等. 基于Arcpy的影像地圖自動處理技術(shù)研究[J].測繪通報(bào),2015(3):82-85.DOI:10.13474/j.cnki.11-2246.2015.0083

      作者簡介:余詠勝(1979—),男,碩士,主要研究方向?yàn)楹綔y遙感數(shù)字影像處理、海量數(shù)據(jù)的集成應(yīng)用與開發(fā)工作。E-mail:104680040@qq.com

      收稿日期:2014-02-25

      中圖分類號:P28

      文獻(xiàn)標(biāo)識碼:B

      文章編號:0494-0911(2015)03-0082-04

      猜你喜歡
      圖面制圖頁面
      大狗熊在睡覺
      刷新生活的頁面
      無聲手槍如何消音?
      帶狀地形圖斷面數(shù)據(jù)采集的程序化實(shí)現(xiàn)
      基于生產(chǎn)實(shí)踐若干需求完善大比例尺地形圖圖面表達(dá)方式的探討
      專題地圖圖面要素自動配置方法的研究
      測繪工程(2017年10期)2017-08-31 14:32:01
      二向反射模型在土地覆被制圖中的應(yīng)用
      工程制圖課程教學(xué)改革探析
      建筑工程制圖與識圖專業(yè)人才培養(yǎng)的探討
      河南科技(2014年3期)2014-02-27 14:06:14
      同一Word文檔 縱橫頁面并存
      台江县| 汾阳市| 株洲市| 宣恩县| 牡丹江市| 台南县| 拉孜县| 太保市| 石河子市| 隆化县| 昌邑市| 庆阳市| 长沙市| 许昌市| 徐水县| 大新县| 贵溪市| 曲阳县| 聊城市| 邵东县| 镇康县| 务川| 嵊州市| 朔州市| 宜宾县| 云浮市| 栾川县| 山阳县| 桑植县| 博爱县| 林甸县| 重庆市| 子长县| 昌乐县| 鹿邑县| 北宁市| 葵青区| 泽库县| 伊宁市| 嘉兴市| 锡林郭勒盟|