• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      利用ArcPy 腳本實(shí)現(xiàn)TPK 文件制作

      2019-07-30 07:10:16
      山東林業(yè)科技 2019年3期
      關(guān)鍵詞:批量切片文檔

      景 淼

      (遼寧省林業(yè)調(diào)查規(guī)劃監(jiān)測(cè)院,遼寧沈陽110122)

      隨著林業(yè)信息化相關(guān)技術(shù)的發(fā)展,林業(yè)外業(yè)調(diào)查系統(tǒng)不斷進(jìn)步,遼寧省在新一輪的林業(yè)信息化建設(shè)工作中, 更新了林業(yè)外業(yè)調(diào)查系統(tǒng), 該系統(tǒng)以ARCGIS 為基礎(chǔ)開發(fā), 實(shí)現(xiàn)了外業(yè)調(diào)查和內(nèi)業(yè)處理的無縫銜接,TPK 文件作為系統(tǒng)的底圖文件格式,如何快速的制作TPK 文件成為了系統(tǒng)應(yīng)用的關(guān)鍵。本文將詳細(xì)介紹如何使用ArcPy 腳本實(shí)現(xiàn)TPK 文件的制作。

      1 ArcPy,Python,TPK 文件概述

      ArcPy 是一個(gè)以arcgisscripting 模塊為基礎(chǔ)并繼承了arcgisscripting 功能進(jìn)而構(gòu)建而成的站點(diǎn)包。目的是以實(shí)用高效的方式通過Python 執(zhí)行地理數(shù)據(jù)分析、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)管理和地圖自動(dòng)化創(chuàng)建基礎(chǔ)。ArcPy 提供了豐富純正的Python 體驗(yàn),具有代碼自動(dòng)完成功能,并針對(duì)每個(gè)函數(shù)、模塊和類提供了參考文檔。

      Python 是一種計(jì)算機(jī)程序設(shè)計(jì)語言。 是一種動(dòng)態(tài)的、 面向?qū)ο蟮哪_本語言, 由荷蘭人Guido van Rossum 于1989年發(fā)明, 第一個(gè)公開發(fā)行版發(fā)行于1991年。 最初被設(shè)計(jì)用于編寫自動(dòng)化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。 Python 是一種支持動(dòng)態(tài)輸入的解釋型語言,適用于交互式操作以及為稱為腳本的一次性程序快速制作原型,同時(shí)其具有編寫大型應(yīng)用程序的強(qiáng)大功能。用ArcPy 編寫的ArcGIS 應(yīng)用程序的優(yōu)勢(shì)在于,可以使用由來自多個(gè)不同領(lǐng)域的GIS 專業(yè)人員和程序員組成的眾多Python 小群體開發(fā)的附加模塊。

      Tpk 是ArcGIS10.1 推出的一種新的數(shù)據(jù)文件類型, 主要是用于將切片文件打包形成離線地圖包,tpk 可以在 ArcGIS Runtime 或者 ArcGIS for Android/iOS 中作為切片底圖被加載, 有多種制作tpk 的方法

      2 制作tpk 文件的方法

      制作tpk 文件的方法主要有三種,Tpk 文件的制作是基于mxd 文檔的,所以要制作數(shù)據(jù)tpk 文件,必須先制作出mxd 文檔,下面以最常用的萬分之一分幅影像圖數(shù)據(jù)(.tif 格式)為例介紹一下tpk 文件的制作

      2.1 使用ArcMap 制作tpk 文件

      在ArcGIS10 中tpk 的生成被集成在了ArcMap中,制作方法如下:

      (1)打開ArcMap,將數(shù)據(jù)加載進(jìn)來,調(diào)整好數(shù)據(jù)的圖面位置,使其完全顯示,保存為mxd。

      (2)打開mxd 文檔,選擇菜單“自定義”-“ArcMap”選項(xiàng),在彈出的對(duì)話框中選擇“共享”選項(xiàng)卡,勾選“啟用ArcGIS Runtime 工具”;

      (3)在文件菜單中的“共享為”菜單下就多了一個(gè)選項(xiàng)“切片包”,選擇該菜單,彈出“切片包”對(duì)話框,設(shè)置各個(gè)標(biāo)簽頁中的參數(shù),填寫完成后點(diǎn)擊“分析”,如果報(bào)錯(cuò)則根據(jù)錯(cuò)誤提示重新修改各個(gè)參數(shù),最后點(diǎn)擊“共享”,開始制作tpk 文件:

      2.2 使用ArcToolbox 工具制作tpk 文件

      選擇ArcToolbox-數(shù)據(jù)管理工具-創(chuàng)建地圖切片包,運(yùn)行該工具,彈出如下對(duì)話框:

      選擇要制作tpk 的地圖文檔mxd,指定tpk 保存的位置,切片格式默認(rèn)使用PNG,級(jí)別根據(jù)需要設(shè)置,點(diǎn)擊“ok“即可完成的tpk 制作。

      2.3 利用ArcPy 腳本制作tpk 文件

      (1)制作mxd 模板

      打開arcmap,加載任意一幅萬分之一影像圖數(shù)據(jù), 在地圖文檔屬性中填寫好相應(yīng)的描述和標(biāo)簽,保存為mxd 文檔。

      (2)制作mxd 文檔

      獲取mxd 模板: 使用arcpy.mapping.Map Document()獲取mxd 模板,MapDocument()用于訪問地圖文檔(.mxd) 的屬性和方法。

      替換文件數(shù)據(jù)源:使用Layer.replaceDataSource() 方法替換mxd 模板的萬分之一影像圖數(shù)據(jù)數(shù)據(jù)源。

      縮放到圖層:使用panToExtent()方法縮放到數(shù)據(jù)顯示范圍, 保證生成的tpk 文件能完全顯示萬分之一影像圖數(shù)據(jù)。

      另存為mxd 文件:使用saveACopy()方法另存mxd 文件, 文件命名使用萬分之一影像圖數(shù)據(jù)名命名。saveACopy (file_name, {version})方法將地圖文檔(.mxd) 保存為新文件或較早版本

      (3)制作tpk 文件

      使用arcpy.CreateMapTilePackage_management()方法制作tpk 文件

      CreateMapTilePackage_management (in_map,service_type, output_file, format_type, level_of_detail,{service_file}, {summary}, {tags}, {extent}),從地圖或底圖生成切片,并將切片進(jìn)行打包從而創(chuàng)建單個(gè)壓縮的.tpk 文件,該方法一共9 個(gè)參數(shù),其中有4 個(gè)參數(shù)為可選參數(shù)。

      in_map 參數(shù)用于生成切片并對(duì)其進(jìn)行打包的地圖文檔

      service_type 參數(shù)確定是從現(xiàn)有的地圖任務(wù)生成切片方案還是根據(jù)ArcGIS Online、Bing 地圖和Google 地圖生成地圖切片。

      output_file 參數(shù)輸出地圖切片包的文件名。

      format_type 參數(shù)指定生成切片的格式, 一般使用PNG 格式。

      level_of_detail 參數(shù)指定生成包切片的比例級(jí)別。 可選值為1 至20。 本文使用17 級(jí)

      service_file 參數(shù)(可選) 指定用于切片方案的地圖服務(wù)或XML 文件的名稱。 僅當(dāng)服務(wù)類型參數(shù)為EXISTING 時(shí)才需要此參數(shù)。

      Summary 參數(shù)(可選) 將摘要信息添加到包的屬性中。

      Tags 參數(shù)(可選) 將標(biāo)簽信息添加到包的屬性中。 可以添加多個(gè)標(biāo)簽,用逗號(hào)或分號(hào)分隔。

      Extent 參數(shù)(可選)通過在范圍參數(shù)中按X-Min Y-Min X-Max Y-Max 格式手動(dòng)輸入坐標(biāo)來指定范圍。 要使用特定圖層的范圍,請(qǐng)指定圖層名稱。

      使用該方法需要注意的是輸入地圖文檔 (即in_map 參數(shù))必須具有相應(yīng)的描述和標(biāo)簽,此工具才能執(zhí)行。制作tpk 代碼示例:

      3 實(shí)現(xiàn)tpk 文件的批量制作

      上文介紹的三種tpk 文件制作方法, 使用ArcMap,ArcToolbox 工具制作tpk,需要大量的人機(jī)互動(dòng),人為干預(yù)太多,導(dǎo)致效率低下,且無法實(shí)現(xiàn)批量制作。 利用arcpy 編寫python 腳本可實(shí)現(xiàn)tpk 文件的批量制作

      3.1 批量制作mxd 文檔

      利用上文所介紹的方法,增加for 循環(huán),利用os.walk()遍歷指定文件夾下的所有文件,通過后綴名過濾, 得到.tif 后綴的所有文件, 通過循環(huán)逐一替換mxd 模板文件里.tif 文件的數(shù)據(jù)源并另存為指定文件名的mxd 文檔。 示例代碼:

      3.2 批量制作tpk 文件

      增加for 循環(huán),利用arcpy.ListFiles("*.mxd")遍歷指定文件夾下的所有mxd 文件, 使用arcpy.CreateMapTilePackage_management()方法批量制作tpk文件。 示例代碼:

      formxd in arcpy.ListFiles("*.mxd"):

      arcpy.CreateMapTilePackage_management(mxd,"ONLINE", os.path.splitext (mxd)[0] + '.tpk', "PNG", "17")

      3.3 開啟多個(gè)線程

      ArcPy 腳本可開啟多個(gè)任務(wù)線程, 充分利用機(jī)器的處理器和內(nèi)存。 經(jīng)過多次制作實(shí)踐, 一臺(tái)16G內(nèi)存的工作站可同時(shí)開啟5 個(gè)任務(wù)線程,大大提高了制作的效率, 筆者使用三臺(tái)機(jī)器,20 個(gè)小時(shí)制作了6000 張萬分之一影像圖數(shù)據(jù)的tpk 文件,tpk 切片等級(jí)為17 級(jí),單張平均時(shí)間為3 分鐘。

      4 結(jié)語

      使用ArcPy 實(shí)現(xiàn)tpk 文件的批量制作, 減少人工干預(yù),極大的提高了工作效率,對(duì)完善和提升遼寧省林業(yè)外業(yè)調(diào)查系統(tǒng)功能具有至關(guān)重要的意義,有助于全省林業(yè)信息化水平向更高層次發(fā)展。

      猜你喜歡
      批量切片文檔
      有人一聲不吭向你扔了個(gè)文檔
      批量提交在配置分發(fā)中的應(yīng)用
      基于RI碼計(jì)算的Word復(fù)制文檔鑒別
      基于SDN與NFV的網(wǎng)絡(luò)切片架構(gòu)
      腎穿刺組織冷凍切片技術(shù)的改進(jìn)方法
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      淺議高校網(wǎng)銀批量代發(fā)
      冰凍切片、快速石蠟切片在中樞神經(jīng)系統(tǒng)腫瘤診斷中的應(yīng)用價(jià)值比較
      基于AUTOIT3和VBA的POWERPOINT操作題自動(dòng)批量批改
      考慮價(jià)差和再制造率的制造/再制造混合系統(tǒng)生產(chǎn)批量研究
      深圳市| 吉木萨尔县| 丹凤县| 峨边| 偏关县| 九江县| 万宁市| 嫩江县| 濮阳县| 苗栗市| 东乡县| 枣强县| 饶阳县| 武隆县| 梅河口市| 宁河县| 乐东| 乌审旗| 南宁市| 泌阳县| 津市市| 安溪县| 长葛市| 五指山市| 屏东市| 突泉县| 泰和县| 民权县| 寿阳县| 沅江市| 开化县| 常山县| 东台市| 肃南| 徐汇区| 尖扎县| 惠来县| 衡东县| 平度市| 景泰县| 南漳县|