亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ArcGIS 的ArcPy 開發(fā)處理地理信息數(shù)據(jù)應(yīng)用研究實(shí)踐

        2020-02-06 09:08:46秦榮波QINRongbo
        價(jià)值工程 2020年35期
        關(guān)鍵詞:數(shù)據(jù)處理功能

        秦榮波QIN Rong-bo

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

        0 引言

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

        1 ArcPy 開發(fā)簡介

        1.1 ArcPy 功能

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

        1.2 ArcPy 開發(fā)現(xiàn)狀

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

        2 ArcPy 開發(fā)應(yīng)用

        2.1 需求分析

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

        2.2 ArcPy 編寫方式

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

        圖1 pycharm 的ArcPy 開發(fā)環(huán)境

        2.3 實(shí)際功能實(shí)現(xiàn)

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

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

        圖2 批量裁剪影像工具

        2.4 應(yīng)用分析

        使用ArcPy 開發(fā)出的工具與ArcGIS Desktop 桌面軟件緊密結(jié)合,即便不了解開發(fā)的數(shù)據(jù)生產(chǎn)者只需要將開發(fā)代碼文件拷貝到特定目錄即可運(yùn)行使用。項(xiàng)目應(yīng)用了某縣行政區(qū)域矢量數(shù)據(jù)與影像實(shí)現(xiàn)一鍵成果正確輸出,省去測繪室內(nèi)重復(fù)工作,減少人工干預(yù),提高工作效率。

        3 總結(jié)

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

        猜你喜歡
        數(shù)據(jù)處理功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
        ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達(dá)功能
        MATLAB在化學(xué)工程與工藝實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
        Matlab在密立根油滴實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        辨證施護(hù)在輕度認(rèn)知功能損害中的應(yīng)用
        久久99精品久久久久久野外| 国产精品偷窥熟女精品视频| 精品视频无码一区二区三区| 亚洲一区二区观看播放| 精品一区二区三区在线观看l| 伊人精品成人久久综合97| 狠狠色丁香婷婷综合潮喷| 无码国产午夜福利片在线观看| 亚洲最大无码AV网站观看| 国产在线视频一区二区三区| 无套熟女av呻吟在线观看| 精品人妻人人做人人爽夜夜爽| 日日爽日日操| 精品不卡视频在线网址| 亚洲av无码精品色午夜app| 蜜桃成人无码区免费视频网站| 国产尤物二区三区在线观看| 中文字幕高清视频婷婷| 99久热在线精品视频观看| 亚洲va欧美va国产综合| 亚洲无码美韩综合| 久久国产成人午夜av免费影院| 草草浮力影院| 一级做a爰片久久毛片| 国产精品亚洲在钱视频| 香蕉视频在线观看亚洲| 波多野结衣乳巨码无在线| 久久与欧美视频| 国产亚洲精品一区在线| 久久青青草原亚洲av无码麻豆| 97视频在线播放| 羞涩色进入亚洲一区二区av| 人妻中文字幕乱人伦在线| 欧美 国产 日产 韩国 在线| 久九九久视频精品网站| 国产av天堂亚洲av刚刚碰| 精品无码人妻一区二区三区不卡| 国产免费网站看v片元遮挡| 在线视频自拍视频激情| 国产日韩精品欧美一区喷水| 84pao强力打造免费视频34|