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

一種基于Python與arcpy的批量圖形文件轉(zhuǎn)換方法

2016-03-21 21:40:24劉桂英
科技資訊 2015年31期

劉桂英

摘 要:在基于ARCGIS的地理信息系統(tǒng)的開發(fā)中,有時(shí)需要把MDB空間數(shù)據(jù)庫文件轉(zhuǎn)換為shp格式文件,傳統(tǒng)調(diào)用工具箱進(jìn)行轉(zhuǎn)換的方法在轉(zhuǎn)換量較多的時(shí)候顯得十分麻煩。該文設(shè)計(jì)了一種使用Python腳本和arcpy庫,實(shí)現(xiàn)對(duì)MDB空間數(shù)據(jù)庫文件的批量轉(zhuǎn)換方法,有效減輕人工轉(zhuǎn)換的工作量,又省去學(xué)習(xí)AO接口的麻煩。

關(guān)鍵詞:arcpy Python 批量轉(zhuǎn)換

中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2015)11(a)-0001-02

在基于ARCGIS的地理信息系統(tǒng)的開發(fā)中,人們?cè)诤芏嗟胤较螺d或是地圖數(shù)據(jù)交換的時(shí)候,通常是以單一文件MDB的格式操作,因?yàn)閱我晃募_實(shí)更方便發(fā)布和傳播,但是在基于ArcGIS的GIS系統(tǒng)開發(fā)中,往往喜歡使用矢量地圖文件shp格式,這樣方便在系統(tǒng)中查找和修改相應(yīng)的圖層。這種情況下,大家就需要把單一的MDB地圖數(shù)據(jù)轉(zhuǎn)化為shp格式的矢量地圖數(shù)據(jù)。雖然ArcGIS提供很方便的轉(zhuǎn)換方法,但是如果量大的情況下,人工轉(zhuǎn)換會(huì)變得好麻煩。

為了解決上述問題,很多人可能會(huì)選擇運(yùn)用AO接口,編寫一個(gè)工具實(shí)現(xiàn)批量轉(zhuǎn)換。雖然這不失為一個(gè)好方法,但是需要對(duì)龐大的AO接口非常熟悉的工程師才能以較快時(shí)間的開發(fā)出來,對(duì)于一般人來說,學(xué)習(xí)AO接口的成本實(shí)在太高了。該文介紹了一種非常簡(jiǎn)單高效的解決方法。

1 環(huán)境介紹

Python 是一種面向?qū)ο蟮目缙脚_(tái)的解析性的腳本語言。Python具有腳本語言中最豐富和最強(qiáng)大的類庫,而且能把其他語言制作的各種模塊輕松地聯(lián)結(jié)在一起。Python非常簡(jiǎn)單易學(xué),開發(fā)效率極高。

arcpy是ArcGIS的一個(gè)Python包,包含對(duì)地圖操作和地圖代數(shù)的支持,支持編輯處理和幾何操作。Python已經(jīng)與ArcGIS高度集成,方便實(shí)現(xiàn)GIS的各種處理流程。

2 實(shí)現(xiàn)方法

使用Python與arcpy庫可以方便地實(shí)現(xiàn)圖形文件的批量轉(zhuǎn)換。如圖1所示,實(shí)現(xiàn)步驟大概可以分為5步,首先收集整理MDB,然后判斷是否全部已經(jīng)轉(zhuǎn)換完畢,如果沒轉(zhuǎn)換完畢,則逐個(gè)調(diào)用自定義函數(shù)MDB2SHP進(jìn)行轉(zhuǎn)換,最后將轉(zhuǎn)換結(jié)果放到一個(gè)輸出目錄里。

2.1 收集整理MDB數(shù)據(jù)

將所有需要轉(zhuǎn)換的MDB文件都放進(jìn)一個(gè)文件夾里,作為轉(zhuǎn)換前準(zhǔn)備。

2.2 導(dǎo)入arcpy庫

在Python中操作使用ArcGIS的功能,必須先導(dǎo)入ArcGIS提供的Python類庫arcpy。arcpy庫是ArcGIS產(chǎn)品自帶的,不需要額外安裝。導(dǎo)入方法是:

import arcpy

2.3 文件轉(zhuǎn)換

文件轉(zhuǎn)換實(shí)現(xiàn)自定義了一個(gè)轉(zhuǎn)換函數(shù)MDB2SHP,從MDB文件轉(zhuǎn)換到矢量文件shp,需要使用arcpy庫提供的FeatureClassToShapefile_conversion方法。該自定義函數(shù)的具體實(shí)現(xiàn)如下:

import arcpy

def MDB2SHP(MdbFile, dct):

arcpy.env.workspace = MdbFile

outDir = dct

fcs = arcpy.ListFeatureClasses()

fcCount = len(fcs)

for fc in fcs:

arcpy.FeatureClassToShapefile_conversion(fc, outLocation)

2.4 批量執(zhí)行

批量執(zhí)行就是運(yùn)用目錄遍歷的方法,逐個(gè)執(zhí)行。在Python中,內(nèi)置了一個(gè)非常簡(jiǎn)單目錄遍歷方法os.walk()。該函數(shù)會(huì)返回一個(gè)三元tupple(dirpath, dirnames, filenames) ,其中第一個(gè)為起始路徑,第二個(gè)為起始路徑下的文件夾,第三個(gè)是起始路徑下的文件。然后利用for循環(huán)進(jìn)行遍歷。

3 測(cè)試與驗(yàn)證

該次測(cè)試在ArcGIS10.2.2環(huán)境下進(jìn)行的。以湛江市地圖為例,

有4個(gè)mdb文件,分別為市鎮(zhèn)鄉(xiāng)線界.MDB,地理環(huán)境.MDB,地標(biāo).MDB, 漁業(yè).MDB

運(yùn)行腳本后,得到很多shape文件,加載這些shape文件后,得到一個(gè)綜合多種信息的地圖,如圖2所示。

4 結(jié)語

該文介紹了一種利用Python和arcpy庫快速開發(fā)批量圖形文件轉(zhuǎn)換的方法,通過這個(gè)方法可以了解到Python的強(qiáng)大和靈活易用,結(jié)合arcpy可以實(shí)現(xiàn)很多ArcGIS的功能和特性,合理利用會(huì)對(duì)GIS開發(fā)效率提高極大的幫助。

參考文獻(xiàn)

[1] 吳戰(zhàn)克.基于ArcGIS10_1的區(qū)圖層批處理合并[J].地理信息空間,2015,13(4):93-94.

[2] 秦思嫻.基于Python實(shí)現(xiàn)地理國情房屋建筑專題信息提取 [J].測(cè)繪與空間地理信息,2015,38(8):1-3.

[3] 朱道強(qiáng),關(guān)海濤. Python在ArcGIS中的應(yīng)用[J].測(cè)繪與空間地理信息,2013,36(7):152-154.

[4] 田學(xué)志.基于Python的Arcgis地理處理應(yīng)用研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(7):46,50.

主站蜘蛛池模板: 一级毛片无毒不卡直接观看| av大片在线无码免费| 久久国产av麻豆| 色综合久久88| 中文字幕人成乱码熟女免费| 成人在线观看不卡| 香蕉久人久人青草青草| 一区二区午夜| a在线亚洲男人的天堂试看| 国产导航在线| 无码中文字幕精品推荐| 性欧美久久| 粗大猛烈进出高潮视频无码| 欧美成人精品在线| 亚洲天堂日本| 日韩欧美中文字幕在线精品| 国产一区二区网站| 美女无遮挡被啪啪到高潮免费| 日韩在线观看网站| 一区二区三区在线不卡免费| 男女精品视频| 91精品情国产情侣高潮对白蜜| 国产国产人成免费视频77777| 国内精品久久久久久久久久影视 | 久久久久久国产精品mv| 亚洲男人的天堂久久香蕉网| 不卡视频国产| 国产网友愉拍精品视频| 日韩欧美高清视频| 亚洲天堂网在线观看视频| 亚洲另类色| 国产亚洲成AⅤ人片在线观看| 98超碰在线观看| 国产自在线播放| 日韩成人在线一区二区| 国产一国产一有一级毛片视频| 91精品aⅴ无码中文字字幕蜜桃| 老司机精品99在线播放| 一本大道东京热无码av| 思思热在线视频精品| 9999在线视频| 亚洲美女一区二区三区| 91亚洲国产视频| 女人18一级毛片免费观看| 九九热精品视频在线| 亚洲日韩精品无码专区| 亚洲成人黄色在线| 亚洲日韩久久综合中文字幕| AV熟女乱| 女人毛片a级大学毛片免费| 九九香蕉视频| 久久网欧美| 在线精品欧美日韩| 久久这里只有精品66| 欧美日韩在线观看一区二区三区| 日韩av电影一区二区三区四区| 亚洲欧美在线综合一区二区三区| 全裸无码专区| 国产亚洲精品91| 亚洲AV成人一区国产精品| 国产美女无遮挡免费视频| 久久青草免费91线频观看不卡| 国产高清在线观看91精品| 精品视频在线观看你懂的一区| 久青草免费在线视频| 国产人成在线观看| 精品国产网站| 久久久久青草大香线综合精品| 亚洲欧美极品| 美女裸体18禁网站| 九九九久久国产精品| 亚洲an第二区国产精品| 天堂中文在线资源| 国产精品久久久久无码网站| 国产香蕉国产精品偷在线观看| 国产无码高清视频不卡| 国产一区免费在线观看| 波多野结衣国产精品| 成人无码区免费视频网站蜜臀| 美女扒开下面流白浆在线试听| 久久亚洲国产视频| 亚洲色图欧美|