• 
    

    
    

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

      基于Python的空間數(shù)據(jù)批處理在編制土地利用現(xiàn)狀圖中的應(yīng)用

      2014-12-12 08:17:08管莉莉
      江蘇水利 2014年11期
      關(guān)鍵詞:符號化批量腳本

      張 靜 管莉莉 周 赟

      (江蘇省工程勘測研究院有限責任公司,江蘇揚州 225002)

      0 引言

      土地利用現(xiàn)狀圖是土地利用調(diào)查的重要成果之一,是土地利用現(xiàn)狀的直觀表現(xiàn),是應(yīng)用最廣泛、最頻繁的成果。其中,鄉(xiāng)鎮(zhèn)土地利用現(xiàn)狀圖件應(yīng)當反映鄉(xiāng)鎮(zhèn)土地利用的空間分布特征,給水利和國土等相應(yīng)部門提供輔助決策和實施管理功能的依據(jù)。土地利用現(xiàn)狀圖的編制及數(shù)據(jù)庫的建設(shè)主要在ARCGIS 中實現(xiàn),應(yīng)用ARCGIS 的數(shù)據(jù)編輯、空間處理和制圖模塊可以有效地進行土地利用現(xiàn)狀圖的編制,而采用Python 腳本的地理處理工具在ARCGIS 中能更加方便地集成各種數(shù)據(jù)處理操作,自動完成鄉(xiāng)鎮(zhèn)土地利用現(xiàn)狀圖的數(shù)據(jù)庫建立,最后采用標準符號化模板進一步完成圖件的符號化工作。

      1 ARCGIS 中Python 腳本的運用

      Python 是ESRI 支持的腳本語言之一,是一種開源的、編譯性的、動態(tài)類型的、面向?qū)ο蟮哪_本語言之一。Python 包含在ArcGIS 9 中,典型安裝時與其他組件一起安裝。這種腳本語言特別強調(diào)開發(fā)速度和代碼的清晰程度。它可以用來開發(fā)各種程序,從簡單的腳本任務(wù)到復(fù)雜的、面向?qū)ο蟮膽?yīng)用程序都有很好的應(yīng)用。Python還被當作一種入門程序員最適合掌握的優(yōu)秀語言,因為它免費、面向?qū)ο髲V、擴展性強,同時執(zhí)行嚴格的編碼標準。Python 作為目前ArcGIS 主要支持的腳本語言,功能強大,簡單易學,用它來編寫腳本程序是解決批量處理行之有效的方法[1]。Python 創(chuàng)建腳本工具可方便地集成操作使用ArcGIS 里眾多的地理處理工具。

      用Python 編寫腳本程序不需要掌握太多的組件、函數(shù),它主要是通過Geoprocessor 對象的方法、屬性來實現(xiàn)數(shù)據(jù)處理的。生成Geoprocessor 對象變量有兩種方式:一種是導(dǎo)入COM 接口。該方式僅能在WINDOWS 平臺下調(diào)用,例如:import win32com.client#導(dǎo)入win32com.client 模塊gp=win32com.client.Dispatch(“esriGeoprocessing.GpDis-patch.1”);生成一個Geoprocessor變量。另一種方式是導(dǎo)入ArcGISScripting模塊。該模塊從9.2 版本開始提供,可跨平臺調(diào)用,是目前最常用的方式[2]。

      2 土地利用現(xiàn)狀數(shù)據(jù)庫批量處理方法

      ArcGIS 平臺中的ArcToolbox 工具箱本身具備批量處理功能。在ArcToolbox 工具箱中的各個工具上單擊右鍵,選擇“BATCH”,即可調(diào)出批量處理對話框。該模式為ArcGIS平臺批量處理的通用模式,要求所有需要處理的數(shù)據(jù)都必須存放在同一目錄下,而且數(shù)據(jù)處理成果的命名也自動設(shè)置相同,日常的數(shù)據(jù)處理工作大都不滿足這樣的條件。因此,二次開發(fā)是解決批量處理更有效的方法。

      2.1 Python 腳本批量處理的優(yōu)點

      在大批量生產(chǎn)過程中,利用ArcGIS 的ArcToolbox 工具箱來實現(xiàn)分鎮(zhèn)裁切和數(shù)據(jù)入庫,需要分別打開多個ArcToolbox 工具,對工具中的各個參數(shù)分別賦值,并且需要建立多個Personal GeoDatabase 數(shù)據(jù)庫將裁切出來的數(shù)據(jù)圖層分別導(dǎo)入,操作十分繁瑣,而且會產(chǎn)生大量的shapefile 中間文件,分割不同圖層產(chǎn)生的數(shù)據(jù)文件名稱相同,也需要重命名。為了提高工作效率,筆者設(shè)計了基于Python語言的腳本工具,是可以集成多個GIS 空間數(shù)據(jù)處理功能的工具,只需要操作一次,方便快捷。與VB、VC 等高級編程語言進行二次開發(fā)不同,用Python 編寫腳本程序不需要掌握太多的組件、函數(shù),它主要是通過Geoprocessor 對象的方法、屬性來實現(xiàn)數(shù)據(jù)處理[3]。

      2.2 處理的流程

      處理方法的思路是利用行政區(qū)圖層的鎮(zhèn)界對年度變更后的土地利用數(shù)據(jù)庫進行裁切處理,并將同一個鎮(zhèn)區(qū)的數(shù)據(jù)圖層導(dǎo)入到相應(yīng)的鎮(zhèn)區(qū)數(shù)據(jù)庫中。批處理工具是將這一系列的地理處理功能集成到一個工具中,實現(xiàn)一體化處理,如圖1 所示。

      2.3 創(chuàng)建Python 腳本工具

      圖1 處理流程

      在ARCGIS 里創(chuàng)建一個ArcToolbox工具,載入Python 語言編制的批處理腳本文件,形成一個可視化、可選參數(shù)的地理處理工具,方便用戶操作不同的GIS 數(shù)據(jù)庫,選擇成果放置的目錄。首先需要設(shè)計工具的參數(shù)設(shè)置,在ArcToolbox 里選添加->scripts,在屬性里設(shè)置相應(yīng)的輸入、輸出參數(shù),如圖2 所示。

      圖2 工具的參數(shù)設(shè)置

      批處理算法的主要代碼如下:

      程序的運行有2 種方式:一是可以啟動IDLE,也就是Python 的GUI。在Python Shell 中可以通過打開后綴為py(py 是Python 腳本的標準文件擴展名)的程序文件來執(zhí)行。二是通過Python(Command Line)命令窗口來執(zhí)行[4]。

      我們需要將腳本加進工具(Making a script into a tool),ArcToolbox 或ModelBuilder 或Command line 中使用。在ArcCatalog 里,定位到Python腳本保存的文件夾,最好和數(shù)據(jù)在一個盤里,右鍵->新建toolbox,在toolbox里,右鍵toolbox,選添加->scripts,依次導(dǎo)入腳本文件,如圖3 所示。

      圖3 工具里加載Python 文件

      完成后保存,雙擊工具,分別導(dǎo)入原始土地利用現(xiàn)狀數(shù)據(jù)庫和行政區(qū)圖層,選擇裁切字段為行政區(qū)代碼(XZQDM),運行后的成果即各個鎮(zhèn)區(qū)的土地利用現(xiàn)狀數(shù)據(jù)庫,運行效果如圖4 所示。

      圖4 工具運行界面

      3 鄉(xiāng)鎮(zhèn)土地利用現(xiàn)狀圖的編制及符號化

      鄉(xiāng)鎮(zhèn)土地利用現(xiàn)狀圖主要包含數(shù)學基礎(chǔ)、圖廓內(nèi)地理要素和整飾要素三大內(nèi)容。數(shù)學基礎(chǔ)主要是公里網(wǎng)及注記;圖廓內(nèi)地理要素包括地類圖斑、線狀地物、權(quán)屬界線、行政區(qū)界線、行政區(qū)、宗地等;整飾要素有圖框、圖名、指北針、比例尺、圖例、坐標系及制圖單位名稱和日期等文字注釋。

      鄉(xiāng)鎮(zhèn)土地利用現(xiàn)狀圖需采用規(guī)范的符號和圖面整飾,為了方便快速完成多幅分鎮(zhèn)圖件的符號化,筆者采用已有的標準規(guī)范的土地利用現(xiàn)狀圖中的圖層符號化樣式,制作成現(xiàn)狀圖模板,即將已符號化的現(xiàn)狀圖的圖層分別導(dǎo)出另存為模板圖層,此時模板圖層已帶有符號化系統(tǒng),只要目標圖層的屬性字段和模板圖層的符號化字段相匹配,即可根據(jù)該字段自動進行符號渲染。新建一個mxd,加載土地利用現(xiàn)狀圖數(shù)據(jù),然后分別通過在圖層屬性symbolgy 里導(dǎo)入已有模板圖層的符號系統(tǒng),如圖5 所示,即可自動完成現(xiàn)狀圖數(shù)據(jù)符號化。

      圖5 現(xiàn)狀圖圖層符號庫導(dǎo)入

      4 結(jié)語

      利用Python 語言編寫程序可以簡化手工操作的步驟,對于大批量流程作業(yè)將大幅提高工作效率。通過使用Python 語言可輕松實現(xiàn)ArcGIS 的各項功能,實現(xiàn)批量地理空間數(shù)據(jù)的自動化處理,對我們的日常數(shù)據(jù)處理工作有很大的幫助。

      通過Python 工具化生產(chǎn)鄉(xiāng)鎮(zhèn)土地利用現(xiàn)狀數(shù)據(jù)庫及結(jié)合現(xiàn)狀圖符號化模板的一次性導(dǎo)入,可使得鄉(xiāng)鎮(zhèn)土地利用現(xiàn)狀圖的編制過程更加便捷,大大提高批量生產(chǎn)土地利用現(xiàn)狀圖的效率。

      [1]彭海波,向洪普.基于Python 的空間數(shù)據(jù)批量處理方法[J].測繪與空間地理信息,2011,34(4):81-87.

      [2]湯安國,楊昕.ArcGIS 地理信息系統(tǒng)空間分析實驗教程[M].北京:科學出版社,2006:466-467.

      [3]葉寶瑩,楊農(nóng).利用ArcGIS 構(gòu)建地形圖分幅空間數(shù)據(jù)庫[J].測繪科學,2008,33(3):207-209.

      [4]戴立乾,高鵬.淺析Python 語言在縣級坡度分級圖制作中的應(yīng)用[J].安徽農(nóng)業(yè)科學,2009,37(23):11324-11325,11327.

      猜你喜歡
      符號化批量腳本
      酒駕
      小學數(shù)學教學中滲透“符號化”思想的實踐研究
      批量提交在配置分發(fā)中的應(yīng)用
      科學家(2021年24期)2021-04-25 12:55:27
      安奇奇與小cool 龍(第二回)
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      關(guān)于一階邏輯命題符號化的思考
      快樂假期
      中學生(2017年19期)2017-09-03 10:39:07
      現(xiàn)代流行服飾文化視閾下的符號化消費
      淺議高校網(wǎng)銀批量代發(fā)
      基于AUTOIT3和VBA的POWERPOINT操作題自動批量批改
      威海市| 蒙城县| 凤山县| 综艺| 噶尔县| 习水县| 裕民县| 手游| 融水| 屏东县| 静安区| 梨树县| 扎赉特旗| 安溪县| 射阳县| 清流县| 康马县| 陕西省| 德令哈市| 卓尼县| 施秉县| 德保县| 方城县| 嵊泗县| 体育| 大足县| 石城县| 衡水市| 安多县| 乐安县| 新竹市| 荣昌县| 板桥市| 汕尾市| 永嘉县| 广安市| 吉林市| 云阳县| 沿河| 横峰县| 双桥区|