999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ArcGIS 的ArcPy 開發處理地理信息數據應用研究實踐

2020-02-06 09:08:46秦榮波QINRongbo
價值工程 2020年35期
關鍵詞:數據處理功能

秦榮波QIN Rong-bo

(貴州省第一測繪院,貴陽550000)

0 引言

在數據建庫過程中,常常會面臨著收集到來自多個部門的數據,這些數據格式種類繁多,需要按照入庫要求制作成具有統一字段,或者統一刪除某個不符要求值情況,而野外采集用于內業處理的數據需要制作為統一規格,滿足規定格式的數據。在這些實際數據生產過程,無論是地理信息系統開發人員,還是測繪數據生產人員都免不了數據批處理。過去憑借大量人力的數據生產模式逐漸被計算機批量處理所代替。借助于ArcGIS Desktop 桌面軟件提供的ArcPy 腳本開發,可滿足日常地理信息數據批量數據處理。

1 ArcPy 開發簡介

1.1 ArcPy 功能

ArcPy 是用pyhon 語言封裝的處理地理數據站點包,分有類和函數[1]。ArcPy 提供了訪問與處理空間數據,地圖制圖模塊,具有處理矢量與柵格數據,執行處理任務接口,有制圖、網絡分析、空間分析等功能。ArcPy 遵循python 語言語法,開發人員可使用ArcGIS Desktop 自帶開發環境,或者將站點包導入到第三方python 程序編輯器對ArcPy進行開發。

1.2 ArcPy 開發現狀

Esri 公司開發的ArcGIS Desktop 軟件提供一系列開發接口,可供使用人員依據實際項目需要定制數據處理功能,有多種計算機語言開發接口支持,主要為C#、python。在日常開發中基于C#開發主要表現在ArcEngine 二次開發,基于Addin 插件開發,而python 則表現在ArcPy 開發。雖然利用C#語言開發,可提供了豐富的二次開發接口,但需要使用者事先掌握C#語言。相比較而言,python 語言易于學習,使用python 的ArcPy 開發容易入門。ArcPy 提供一系列和ArcToolBox 類似功能的地理信息數據處理接口,能快速滿足功能實現。憑借ArcPy 自身特點,ArcPy 已經用于全國國土三調與地理國情項目[2,3],也可以實現TPK地圖數據包批量制作[4]。

2 ArcPy 開發應用

2.1 需求分析

在測繪地理信息各種項目實施過程中,數據往往會遇到這樣的特點。一是數據量大,重復工作。在國土三調項目中,以縣為單位進行數據處理,會有遇到將全縣各個區域分幅影像合并或者按照全縣各個行政村裁剪影像的應用場景。人工的對數據量龐大影像合并或者裁剪可借助ArcGIS Desktop 提供的影像融合或者裁剪工具一一按照要求,重復點擊工具,最后處理成達到目標要求的數據,但這面臨著機械重復同一工作的問題。二是批量數據處理功能需求往往不太復雜,工作簡單。從批量的影像裁剪或者融合情景可以看得出,只是調用ArcPy 提供的裁剪或者融合函數即可。再如在其他場景有這樣的應用,從讀取csv格式經緯度坐標數據,利用ArcPy 創建帶有空間參考的shapefile 矢量點數據文件。同時也會出現結合excel 提取報表數據,利用ArcPy 將屬性值添加到shapefile 中??傮w來說,功能需求不太復雜,結合ArcPy 提供的接口能滿足需求。

2.2 ArcPy 編寫方式

依據日常測繪地理信息數據批處理的特點,可以選擇python 作為編程語言開發相應的功能。Esri 公司提供多種基于python 開發模式。①使用模型構建器的功能實現。由ArcGIS Desktop 軟件界面的地理工具欄選擇模型構建器,選擇提供的for,while,要素選擇、行選擇、表、工作空間等迭代器,設置輸入參數變量、數據類型等。同時,可以將ArcToolbox 工具箱中的工具直接拖拽至模型編輯面板作為需要開發功能的一部分或者全部,經過一系列組裝以及模型驗證后,基于模型構建器開發模式就完成功能編寫。該種開發模式可直接拖拽模型,相對而言比較簡單,但對于要求比較靈活的功能而言,不易于實現。②基于ArcGIS自帶的Python Shell 編輯ArcPy 腳本。在Shell 開發編輯器可以直接調用開發接口,開發人員根據列出開發接口直接選擇ArcPy 函數。但在開發界面不易于腳本編寫,初學者往往容易在編寫腳本過程中出現錯誤。③使用添加腳本方式。編寫代碼使用Shell 界面或者其他編輯工具來編寫。代碼編寫完成之后,當腳本功能中有參數時可從ArcGIS Desktop 添加腳本,同時設置相應參數類型等信息即可。④通過pycharm 或者vscode 等工具編寫腳本。該種方式利用第三方開發編輯器,便于代碼編寫。如使用pycharm 來編寫ArcPy 腳本可在ArcGIS Desktop 右側目錄中選擇腳本開發所在的目錄,新建python 工具箱,軟件自動創建pyt后綴文件。如圖1 所示,最后利用pycharm 導入pyt 后綴文件,編寫輸入參數以及執行函數,就完成了整個ArcPy 腳本開發。該開發方式較為直觀,符合一般計算機軟件開發習慣。用戶可以根據自己的開發特點選擇合適開發方式。

圖1 pycharm 的ArcPy 開發環境

2.3 實際功能實現

根據項目需要,利用pycharm 搭建ArcPy 開發環境,直接接入ArcPy 接口。本次實現的功能是遍歷shapefile 每一條面記錄,逐條讀出每個面數據,通過面數據與影像數據利用裁剪函數進行裁剪,最后得到經過shapefile 記錄中與面相交裁剪后的多個裁切影像。編碼之前,首先需要配置好pycharm 下ArcPy 站點包開發環境,在ArcGIS Desktop 目錄連接腳本目錄所在位置,創建好python 工具箱,之后就可編寫腳本代碼。腳本主體需要利用到屬性遍歷函數,裁切函數。主要功能代碼如下所示:

依據功能需求,在構造裁剪函數時,需要特別注意裁剪區域。裁剪的面不規則,故需要按照幾何圖形進行裁剪。pycharm 完成主體代碼編寫后,封裝為一個完整功能函數。在pyt 文件中編寫好參數的顯示名稱、參數數據類型等,在執行函數中可調用封裝好的功能函數。在ArcGIS Desktop 引用代碼文件,工具界面如圖2 所示。為了便于工具功能說明清晰明了,可以在ArcGIS Desktop 中編輯工具的子項描述,依據需要對工具名稱、參數描述、參考代碼進行編寫具體說明。最后該工具可以用于將shapefile 矢量面數據逐條讀取,將每條數據與tif 格式影像相交并裁剪出相交區域,用該條記錄設置的某一個字段的對應字段值作為影像數據的文件名稱實現成果輸出。

圖2 批量裁剪影像工具

2.4 應用分析

使用ArcPy 開發出的工具與ArcGIS Desktop 桌面軟件緊密結合,即便不了解開發的數據生產者只需要將開發代碼文件拷貝到特定目錄即可運行使用。項目應用了某縣行政區域矢量數據與影像實現一鍵成果正確輸出,省去測繪室內重復工作,減少人工干預,提高工作效率。

3 總結

本文介紹了ArcPy 基本概念與目前在測繪地理信息數據生產過程中批量開發應用,指出基于ArcPy 開發特點,說明了ArcPy 編寫方式,用戶根據實際需要選擇開發模式。同時使用一個例子說明Arcpy 開發應用,從中可以發現基于ArcPy 在地理信息數據處理中的開發的是重新整合開發接口與實際項目邏輯。雖然ArcPy 在地理信息數據批量處理過程中有著不可替代作用,但也存在著不利于界面交互,接口細粒度遠不如基于C#的ArcGIS 開發的不足。在地理信息數據處理中目前主流的ArcPy 開發是基于ArcGIS10.X Desktop 系列,封裝的站點包使用了python2,而ArcGIS Pro 提供的ArcPy 開發接口使用python3 封裝,相比ArcGIS10.X 的ArcPy 而言,ArcGIS Pro 提供了更加豐富的開發接口,因此這需要使用者去深入學習與了解,并加以應用。

猜你喜歡
數據處理功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
MATLAB在化學工程與工藝實驗數據處理中的應用
Matlab在密立根油滴實驗數據處理中的應用
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 凹凸国产分类在线观看| 久草网视频在线| 五月婷婷丁香色| 精品人妻一区二区三区蜜桃AⅤ | 欧美亚洲国产精品久久蜜芽| 欧美97欧美综合色伦图| 在线精品视频成人网| 欧美激情第一欧美在线| 亚洲一区二区黄色| 国产精品福利在线观看无码卡| 国产精品分类视频分类一区| 欧美日韩成人| 国产浮力第一页永久地址| 中国一级特黄视频| 亚洲天堂成人在线观看| 亚洲午夜国产精品无卡| 色播五月婷婷| 国产成人精品免费视频大全五级| 欧美成人精品一级在线观看| 不卡的在线视频免费观看| 亚洲国产精品美女| 亚洲一级毛片| av无码久久精品| 中文字幕乱码中文乱码51精品| 国产一区三区二区中文在线| 亚洲人成网站日本片| 九色综合伊人久久富二代| 国产欧美综合在线观看第七页| 国产乱子伦视频在线播放| 视频二区国产精品职场同事| 亚洲精品福利视频| av大片在线无码免费| 国产三级韩国三级理| 欧美亚洲第一页| 91蜜芽尤物福利在线观看| 中文字幕丝袜一区二区| 在线观看亚洲天堂| 中文成人在线| 国产美女无遮挡免费视频| 国产福利免费视频| av性天堂网| 亚洲性色永久网址| 欧美激情第一区| 久久久亚洲色| 国产精品高清国产三级囯产AV| 米奇精品一区二区三区| 91色国产在线| 男女男精品视频| 亚洲国产黄色| 精品国产香蕉伊思人在线| 欧美日在线观看| 91青青草视频| 国产剧情一区二区| 精品自拍视频在线观看| 亚洲综合片| 欧美狠狠干| 99在线视频免费| 午夜视频日本| Aⅴ无码专区在线观看| 国产综合色在线视频播放线视| 人妻夜夜爽天天爽| 特级毛片8级毛片免费观看| 欧美不卡二区| 国模极品一区二区三区| 欧美黄色a| 欧美日韩激情在线| 亚洲日韩精品综合在线一区二区| 无码aaa视频| 日本一本在线视频| 久久久久久久久久国产精品| 国产无码精品在线播放| 欧美成人手机在线视频| 欧美在线黄| 香蕉色综合| 亚洲人人视频| 欧美亚洲网| 青草午夜精品视频在线观看| 国产幂在线无码精品| 欧美丝袜高跟鞋一区二区| 欧美人与性动交a欧美精品| 日韩欧美国产另类| 色爽网免费视频|