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

        ?

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

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

        劉桂英

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

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

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

        在基于ARCGIS的地理信息系統(tǒng)的開發(fā)中,人們在很多地方下載或是地圖數(shù)據(jù)交換的時候,通常是以單一文件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)換會變得好麻煩。

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

        1 環(huán)境介紹

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

        arcpy是ArcGIS的一個Python包,包含對地圖操作和地圖代數(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)換完畢,則逐個調(diào)用自定義函數(shù)MDB2SHP進(jìn)行轉(zhuǎn)換,最后將轉(zhuǎn)換結(jié)果放到一個輸出目錄里。

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

        將所有需要轉(zhuǎn)換的MDB文件都放進(jìn)一個文件夾里,作為轉(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)自定義了一個轉(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)用目錄遍歷的方法,逐個執(zhí)行。在Python中,內(nèi)置了一個非常簡單目錄遍歷方法os.walk()。該函數(shù)會返回一個三元tupple(dirpath, dirnames, filenames) ,其中第一個為起始路徑,第二個為起始路徑下的文件夾,第三個是起始路徑下的文件。然后利用for循環(huán)進(jìn)行遍歷。

        3 測試與驗(yàn)證

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

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

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

        4 結(jié)語

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

        參考文獻(xiàn)

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

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

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

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

        国产精品又爽又粗又猛又黄| 嗯啊哦快使劲呻吟高潮视频| 波多野结衣视频网址| yy111111少妇影院| 成人影院视频在线播放| 亚洲综合图色40p| 亚洲国产精品va在线播放| 免费jjzz在线播放国产| 国产精品久久久精品三级18 | 国产免费av片无码永久免费| 男女男在线精品网站免费观看 | 在线精品国产亚洲av麻豆| 国产精品无码久久综合| 人人妻人人爽人人做夜欢视频九色 | 人妻丰满熟妇av无码区| 欧美色aⅴ欧美综合色| 亚洲精品综合在线影院| 精品一区二区三区人妻久久福利| 999国产精品999久久久久久| 久久人人爽天天玩人人妻精品| 一区五码在线| 久久久黄色大片免费看| 亚洲av高清在线观看一区二区| 亚洲欧洲中文日韩久久av乱码 | 国产黄色看三级三级三级| 日本av在线一区二区| 精品无码久久久久成人漫画| 手机看片国产日韩| 免费看草逼操爽视频网站| 无码人妻久久一区二区三区蜜桃| 色婷婷综合中文久久一本| 国产成人精品免费视频大全| 国产午夜精品久久精品| 国产乱子轮xxx农村| 99久热re在线精品99 6热视频 | 日本伊人精品一区二区三区| 亚洲av无码不卡| 日本岛国精品中文字幕| 北条麻妃在线中文字幕| 精品少妇一区二区三区免费观| 国产中文aⅴ在线|