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

基于Python的ArcGIS(Arcpy)數據檢查技術應用

2021-07-15 08:23:02趙軍鵬
河北林業科技 2021年2期
關鍵詞:進程一致性

趙軍鵬,劉 軍

(河北省林業和草原調查規劃設計院,河北 石家莊050051)

地理空間數據質量的檢查一般包括兩種:數據拓撲關系檢查和數據邏輯一致性檢查。數據拓撲關系檢查既包括單個圖層的拓撲檢查也包括多個圖層之間的拓撲檢查;數據邏輯一致性檢查主要是根據屬性表中各字段本身或相互之間的各種邏輯關系,檢查各項數據是否正確。檢查的方法有很多,對于大批量的數據,通常使用兩種方法:單進程和多進程批量處理。這里以河北省森林資源調查數據為例,介紹使用Arcpy對數據進行檢查的方法。

1 Python及Arcpy簡介

Python程序設計語言的設計哲學是“簡單”、“明確”、“優雅”,它既有簡單腳本語言和解釋型程序語言的易用性,也擁有傳統編譯型程序語言所有強大通用的功能,另外它還是一種解釋型的、面向對象的、帶有動態語義的高級程序設計語言。Python語法嚴格、可讀性強、易于學習,提供了非常完善的基礎代碼庫,同時又擁有大量的第三方庫用來實現各種功能,具有很強的移植性,使它成為很多軟件平臺上開速編寫腳本的理想語言。

作為ArcGIS自帶的Python站點包,ArcPy降低了ArcGIS開發的門檻,面向的是廣泛的應用GIS的專業人員,在ArcToolbox、Model Builder和Desktop定制插件中涌現了眾多的腳本,ArcPy成為ArcGIS應用人員擴展自定義功能的首選工具。

ArcPy是一個以arcgisscripting模塊為基礎并繼承了arcgisscripting功能進而構建而成的站點包。目的是為以實用高效的方式通過Python執行地理數據分析、數據轉換、數據管理和地圖自動化創建基礎。Arcpy分為大模塊,數據訪問模塊,制圖模塊,Network Analyst模塊,Spatial Analyst模塊,時間模塊。用ArcPy編寫的ArcGIS應用程序可以使用多個不同領域的GIS專業人員和程序員組成的眾多Python小群體開發的附加模塊。

2 任務分析

河北省森林資源調查數據的基礎數據包括兩個矢量圖層:小班層和林帶層。由于具有拓撲信息的矢量數據對GIS中的網絡分析以及空間關系分析非常重要,所以必須對矢量圖層進行拓撲關系檢查。拓撲關系檢查需要對小班層和林帶層分別建立拓撲關系,小班層需要檢查各個小班是否有重疊,是否存在空隙;林帶層只檢查是否有重疊。數據邏輯一致性檢查要根據《河北省森林規劃調查技術細則》,檢查屬性表中二十幾個字段的值是否正確及字段間邏輯關系是否一致;小班層和林帶層還要檢查在森林面積統計中是否存在重復部分。

3 任務實現

3.1 數據拓撲關系檢查

空間數據檢查的流程如下:

新建一個文件地理數據庫(GDB)→新建一個要素數據集(需要選擇投影坐標系)→導入要檢查的矢量數據→新建拓撲(在選擇拓撲目標時選擇上一步導入的數據)→添加拓撲規則→驗證拓撲→在ArcGIS軟件中顯示所有錯誤并修改→小班和林帶相交檢查→導出矢量數據。完整的技術路線如圖1所示。

圖1 空間數據檢查技術路線

3.2 數據邏輯一致性檢查

游標(Cursor)是包括表格或要素類中的一行或多行數據的內存對象,每一行都包含數據源中每個字段的屬性和每個要素的幾何特征。

數據邏輯一致性檢查的方法是使用游標對屬性表逐行檢查,根據表中各列之間的邏輯關系判斷是否存在錯誤,并把錯誤原因寫到“錯誤”字段中。

新建“錯誤”字段→更新面積(對面積小于667m2的小班歸并到臨近小班)→查看字段是否存在→判斷地類的值是否正確→清洗數據,清除某些地類中一些字段的多余值→根據邏輯關系逐行查錯→統計錯誤數量并報告→修改錯誤,并再次檢查,直到錯誤統計為0。完整的技術路線圖如圖2所示。

圖2 數據邏輯一致性檢查技術路線

3.3 大量數據邏輯一致性檢查的實現方法

3.3.1 使用單進程批量處理 在ArcMap中將所有需要進行邏輯一致性檢查的數據放到mxd文檔中,在工具箱中創建腳本,數據類型選擇“ArcMap文檔”,運行腳本時選擇mxd文檔,即可實現對文檔內所有圖層的批量處理。

編寫腳本時,首先導入ArcPy、os模塊及相關附屬工具,并對工作環境進行初始化設置,核心代碼如下:

#-*-coding:utf-8-*-

import sys,os,arcpy

reload(sys)

sys.setdefaultencoding(′utf-8′)

arcpy.env.overwriteOutput=True

然后定義一個函數AttributeChecking(fc),作為數據檢查的主函數,在主函數下建立若干個子函數分別實現創建字段,計算面積,補全字段,數據清洗,邏輯檢查等功能,在main函數下引用此函數。批處理的核心代碼如下:

mxd0=arcpy.mapping.MapDocument(′CURRENT′)

df=arcpy.mapping.ListDataFrames(mxd0,"")[0]

inlayer=arcpy.mapping.ListLayers(mxd0,"",df)

for fc in inlayer:

AttributeChecking(fc)

3.3.2 使用多進程處理 首先把所有的shapefile文件放到一個文件夾中。然后在python中新建一個列表,把所有文件的路徑全部放到列表中shape-FileList,核心代碼如下:

Import os,arcpy,multiprocessing

arcpy.env.workspace="D:\H"

shapeFileList=[]

featureclasses=arcpy.ListFeatureClasses()

for file in featureclasses:

fullpath=os.path.join("D:\H\",file)

再建立進程池,使用異步非阻塞的方式處理數據。

MyGPool=multiprocessing.Poo(l)

# 多進程并行處理

for sf in shapeFileList:

MyGPool.apply_async(AttributeChecking,(sf,))

MyGPool.close()

MyGPool.join()

4 運行環境

以上計算基于如下運行環境:

1) 中央處理器 CPU Intel(R)Xeon E5507(2.26GHz/4M)

2)內存:32G

3)操作系統:Win7 64bit操作系統

4)應用軟件:ArcGIS 10.2,Python2.7.3,Pycharm 2019

5 結束語

Python語言作為一種面向對象的、開放的解釋型腳本語言,功能強大而又易于學習,基于其開發的Arcpy站點包與ArcGIS系統實現的高度集成。利用ArcPy對數據整理檢查能提高工作效率,減輕工作量,且能保證計算準確。對于大量數據的計算或檢查,使用多進程能充分發揮電腦的機器性能,節省時間,但如果少量數據的話,單進程批量處理速度更快。

猜你喜歡
進程一致性
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
注重教、學、評一致性 提高一輪復習效率
對歷史課堂教、學、評一體化(一致性)的幾點探討
IOl-master 700和Pentacam測量Kappa角一致性分析
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
ONVIF的全新主張:一致性及最訪問控制的Profile A
基于事件觸發的多智能體輸入飽和一致性控制
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
男女平等進程中出現的新矛盾和新問題
主站蜘蛛池模板: 国产毛片基地| 丁香婷婷在线视频| 亚洲男人的天堂视频| 欧美狠狠干| 国产偷国产偷在线高清| 国产精品19p| 波多野结衣亚洲一区| 狠狠色香婷婷久久亚洲精品| 亚洲成人网在线观看| 激情六月丁香婷婷| 精品亚洲麻豆1区2区3区| 国产粉嫩粉嫩的18在线播放91 | 中文字幕在线视频免费| 欧美视频免费一区二区三区| 无码免费的亚洲视频| 高清码无在线看| 亚洲综合亚洲国产尤物| 色屁屁一区二区三区视频国产| 毛片在线看网站| 日本三级欧美三级| Jizz国产色系免费| 国产成人1024精品| 国产精品免费电影| 国产96在线 | 国产精品99在线观看| 国产丝袜精品| 一区二区在线视频免费观看| 久久国产黑丝袜视频| 国产在线观看高清不卡| 亚洲天堂在线免费| 国产综合亚洲欧洲区精品无码| 中文字幕无码电影| 国产真实自在自线免费精品| 国产精品人莉莉成在线播放| 三区在线视频| 国产aaaaa一级毛片| 亚洲美女一区| 四虎永久在线精品国产免费| 91热爆在线| 精品久久久久久久久久久| 亚洲视频免| 国内精品九九久久久精品| 一级一级一片免费| 天堂久久久久久中文字幕| 夜色爽爽影院18禁妓女影院| 色综合狠狠操| 中文字幕2区| 色综合网址| 综合社区亚洲熟妇p| 精品国产香蕉在线播出| 国产美女免费| a级毛片视频免费观看| 久久99国产综合精品1| 免费无码网站| 91免费片| 亚洲天堂高清| 久久无码高潮喷水| 88国产经典欧美一区二区三区| 欧美不卡在线视频| 亚洲乱码在线播放| 国产肉感大码AV无码| 免费国产高清视频| 亚洲无码高清一区| 久久黄色一级视频| 午夜福利在线观看入口| 亚洲欧美成人网| 国产成人综合亚洲欧洲色就色| 国产原创第一页在线观看| 国产精品视频第一专区| 午夜限制老子影院888| 久久久久青草线综合超碰| 在线a网站| 色老二精品视频在线观看| 日本不卡在线| 国产福利一区视频| 日韩av手机在线| 欧美日韩国产在线人成app| 特级aaaaaaaaa毛片免费视频 | 亚洲日韩图片专区第1页| 中国一级特黄大片在线观看| 欧美国产日韩另类| 亚洲国产日韩欧美在线|