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

        ?

        基于ArcPy的空間數(shù)據(jù)庫(kù)備份與還原技術(shù)研究

        2021-09-01 10:10:18江威馬藝文姚垚朱巧云王越
        城市勘測(cè) 2021年4期
        關(guān)鍵詞:批處理列表備份

        江威,馬藝文,姚垚,朱巧云,王越

        (1.武漢市測(cè)繪研究院,湖北 武漢 430022; 2.武漢市自然資源和規(guī)劃信息中心,湖北 武漢 430014)

        1 引 言

        Python作為一種高級(jí)程序設(shè)計(jì)語(yǔ)言,憑借其簡(jiǎn)潔、易讀及可擴(kuò)展性日漸成為程序設(shè)計(jì)領(lǐng)域備受推崇的語(yǔ)言[1]。由于Python功能強(qiáng)大且具有廣泛的認(rèn)可度,Esri選擇它作為腳本語(yǔ)言嵌入到ArcGIS中[2]。ArcPy是以arcgisscripting模塊為基礎(chǔ)并繼承其功能構(gòu)建而成的站點(diǎn)包[3],從而更高效地通過(guò)Python實(shí)現(xiàn)地理數(shù)據(jù)分析、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)管理和地圖自動(dòng)化[4]。ArcGIS系列軟件中的地理處理幾乎包含了地理處理的全部核心功能和工具模塊,是軟件的精華所在,也是其被廣泛應(yīng)用的原因之一[5]。

        ArcGIS地理處理提供了一系列工具和一個(gè)標(biāo)準(zhǔn)框架來(lái)執(zhí)行分析并管理空間數(shù)據(jù)。本文通過(guò)分析ArcSDE庫(kù)相關(guān)技術(shù)特點(diǎn),在總結(jié)空間數(shù)據(jù)庫(kù)備份方法的基礎(chǔ)上,歸納整合了一套數(shù)據(jù)庫(kù)管理和遷移的技術(shù)流程,并結(jié)合ArcGIS平臺(tái)地理處理工具和ArcPy優(yōu)勢(shì),開(kāi)發(fā)了基于ArcPy的空間數(shù)據(jù)庫(kù)定時(shí)備份和還原功能,為地理空間數(shù)據(jù)庫(kù)的安全運(yùn)轉(zhuǎn)和基礎(chǔ)平臺(tái)的正常運(yùn)行提供了強(qiáng)有力的保障。

        2 常用空間數(shù)據(jù)庫(kù)備份方法比較

        (1)常規(guī)方法:ArcCatalog是ArcGIS Desktop軟件套件的組成部分,具有豐富的GIS工具。ArcCatalog應(yīng)用程序幫助用戶組織和管理所有的GIS信息,包括地圖、數(shù)據(jù)文件、Geodatabase、空間處理工具箱、元數(shù)據(jù)和服務(wù)等。Geodatabase是一個(gè)綜合性的數(shù)據(jù)模型,用于存儲(chǔ)、處理各類(lèi)文件類(lèi)型和數(shù)據(jù)類(lèi)型的地理數(shù)據(jù),包括shapefile,CAD數(shù)據(jù)、TIN、格網(wǎng)、柵格影像等。使用ArcCatalog通過(guò)操作Geodatabase模型進(jìn)行空間數(shù)據(jù)的備份和還原操作是最常規(guī)的方法,該方法簡(jiǎn)單快捷。

        (2)高階方法:ArcSDE地理數(shù)據(jù)庫(kù)支持多用戶協(xié)同編輯和使用,同時(shí)可以運(yùn)行于Oracle、SQL Server和PostgreSQL等數(shù)據(jù)庫(kù)之上。與個(gè)人地理數(shù)據(jù)庫(kù)(mdb)和文件地理數(shù)據(jù)庫(kù)(gdb)相比,ArcSDE Geodatabse除了支持多用戶編輯和數(shù)據(jù)庫(kù)版本化管理等優(yōu)勢(shì)外,還支持?jǐn)?shù)據(jù)庫(kù)命令行式的快捷高效管理。配置好ArcSDE對(duì)Oracle等數(shù)據(jù)庫(kù)的支持組件和服務(wù)后,使用sdeexport和sdeimport等命令可以輕松實(shí)現(xiàn)ArcSDE Geodatabase類(lèi)型地理數(shù)據(jù)庫(kù)的綜合管理。

        (3)擴(kuò)展方法:FME Server能夠?qū)崿F(xiàn)企業(yè)應(yīng)用程序自動(dòng)集成,隨時(shí)隨地實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換和分發(fā),從而提供企業(yè)級(jí)的數(shù)據(jù)集成和管理類(lèi)型服務(wù)。FME Server通過(guò)schedules類(lèi)型的工作空間完成定時(shí)轉(zhuǎn)換功能,在特定時(shí)間或日期在倉(cāng)庫(kù)中啟動(dòng)工作空間,實(shí)現(xiàn)工作空間的一次或者重復(fù)運(yùn)行。

        (4)本文方法:基于原生Python站點(diǎn)包ArcPy實(shí)現(xiàn)地理數(shù)據(jù)分析、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)管理。

        常用的數(shù)據(jù)庫(kù)管理系統(tǒng)例如Oracle、SQL Server和PostgreSQL等均支持空間數(shù)據(jù)庫(kù)的創(chuàng)建、編輯和運(yùn)維管理。本文以O(shè)racle空間數(shù)據(jù)庫(kù)為例,使用ArcSDE作為數(shù)據(jù)驅(qū)動(dòng),介紹使用ArcPy包對(duì)空間數(shù)據(jù)庫(kù)進(jìn)行定時(shí)備份和還原的基本方法和技術(shù)流程。

        3 基于ArcPy的空間數(shù)據(jù)庫(kù)定時(shí)備份

        3.1 ArcPy備份空間數(shù)據(jù)庫(kù)

        ArcSDE Geodatabase類(lèi)型空間數(shù)據(jù)庫(kù)通常具有數(shù)據(jù)量大和多用戶協(xié)同編輯等特點(diǎn),使用ArcPy對(duì)ArcSDE Geodatabase進(jìn)行備份的基本思路如下:首先遍歷ArcSDE,分別提取矢量數(shù)據(jù)集和矢量要素集。針對(duì)矢量數(shù)據(jù)集,遍歷其中的矢量要素集。最后將所有的矢量要素集備份到成果Geodatabase中,如圖1所示。

        圖1 技術(shù)路線圖

        ArcPy備份空間數(shù)據(jù)庫(kù)的主要步驟為:

        (1)基礎(chǔ)配置。包括導(dǎo)入Python包和開(kāi)發(fā)環(huán)境設(shè)置。

        import arcpy

        import datetime

        import os

        arcpy.env.overwriteOutput = True

        arcpy.env.workspace = sde_con

        (2)創(chuàng)建目標(biāo)文件地理數(shù)據(jù)庫(kù)(gdb庫(kù)文件)。通過(guò)調(diào)用CreateFileGDB_management()函數(shù),實(shí)現(xiàn)“Create File GDB”工具的功能,即創(chuàng)建一個(gè)gdb庫(kù)文件。

        out_gdbname_sde = '{}{}'.format(gdbname_sde,str_td)

        out_gdb_sde = os.path.join(out_gdbpath,out_gdbname_sde + '.gdb')

        arcpy.CreateFileGDB_management(out_gdbpath,out_gdbname_sde,'CURRENT')

        (3)遍歷ArcSDE庫(kù),返回矢量數(shù)據(jù)集列表和矢量要素集列表。使用arcpy.da.Walk()函數(shù)遍歷ArcSDE庫(kù)目錄,返回三元組包括工作空間、目錄名稱和文件名稱 (dirpath,dirnames,and filenames)。該函數(shù)類(lèi)似于Python的os.walk()函數(shù),但是os.walk()基于文件,不能識(shí)別地理數(shù)據(jù)要素類(lèi)、表或柵格等數(shù)據(jù)庫(kù)內(nèi)容。

        for dirpath,dirnames,filenames in arcpy.da.Walk(sde_con,datatype="FeatureClass",type=['Polygon','Polyline','Point'])

        (4)遍歷矢量數(shù)據(jù)集列表,分別獲取每個(gè)矢量數(shù)據(jù)集中包含的矢量要素集列表。在目標(biāo)gdb中創(chuàng)建同名數(shù)據(jù)集,將矢量要素集列表拷貝到創(chuàng)建的數(shù)據(jù)集中。通過(guò)調(diào)用CreateFeatureDataset_management()函數(shù),實(shí)現(xiàn)“Create Feature Dataset”工具的功能,即在目標(biāo)gdb中創(chuàng)建同名矢量數(shù)據(jù)集。然后調(diào)用列表函數(shù)ListFeatureClasses()獲取矢量數(shù)據(jù)集中所有要素類(lèi)列表,遍歷該列表,調(diào)用函數(shù)CopyFeatures_management()將遍歷的要素類(lèi)復(fù)制到目標(biāo)gdb對(duì)應(yīng)的矢量數(shù)據(jù)集中。

        (5)遍歷獨(dú)立的矢量要素集列表,調(diào)用函數(shù)CopyFeatures_management()復(fù)制要素集到目標(biāo)gdb。

        為避免ArcSDE的多個(gè)管理員用戶創(chuàng)建同名的矢量要素集在寫(xiě)入到目標(biāo)gdb中出現(xiàn)錯(cuò)誤,對(duì)每個(gè)用戶創(chuàng)建的數(shù)據(jù)分別備份為獨(dú)立的成果gdb。

        3.2 定時(shí)備份任務(wù)調(diào)度

        Windows操作系統(tǒng)中自帶Task Scheduler(任務(wù)計(jì)劃程序)。將Task Scheduler和基于ArcPy的備份數(shù)據(jù)庫(kù)Python文件(.py)結(jié)合,根據(jù)實(shí)際需求實(shí)現(xiàn)數(shù)據(jù)庫(kù)定時(shí)備份的個(gè)性化調(diào)度,如圖2所示。使用任務(wù)計(jì)劃程序不需要工作人員與腳本交互操作,即可自動(dòng)執(zhí)行地理處理任務(wù),極大提高了工作效率。主要包括以下兩個(gè)步驟:

        圖2 定時(shí)備份任務(wù)調(diào)度

        (1)添加Python腳本到批處理文件(.bat)。批處理文件是包含運(yùn)行Python腳本的命令行序列,或者是執(zhí)行操作系統(tǒng)命令的文本文件。批處理文件中的內(nèi)容如下:

        cd C:Python27ArcGIS10.2

        python C:SdeBak.py

        pause

        (2)在規(guī)定的時(shí)間運(yùn)行批處理文件。批處理文件創(chuàng)建完成后,使用Task Scheduler在規(guī)定的時(shí)間運(yùn)行該批處理文件。通過(guò)新建一個(gè)啟動(dòng)程序,設(shè)置執(zhí)行時(shí)間并指向批處理文件。

        4 基于ArcPy的空間數(shù)據(jù)庫(kù)還原

        數(shù)據(jù)庫(kù)管理工作中常常需要將地理空間數(shù)據(jù)遷移到性能配置更高級(jí)的服務(wù)器上或者遷移到遠(yuǎn)程的機(jī)房?;贏rcPy的地理空間數(shù)據(jù)庫(kù)還原技術(shù),為數(shù)據(jù)庫(kù)遷移提供了極大的便利性??臻g數(shù)據(jù)庫(kù)還原是空間數(shù)據(jù)庫(kù)備份的逆操作,基于ArcPy將本地的gdb數(shù)據(jù)還原到ArcSDE Geodatabase中進(jìn)行數(shù)據(jù)還原的基本思路如下:遍歷本地gdb,分別提取矢量數(shù)據(jù)集和矢量要素集。針對(duì)矢量數(shù)據(jù)集,遍歷其中的矢量要素集。最后將所有的矢量要素集備份到ArcSDE Geodatabase中。

        (1)基礎(chǔ)配置。與3.1中步驟相同。

        (2)調(diào)用ListDatasets()函數(shù)獲取矢量數(shù)據(jù)集列表,然后在ArcSDE Geodatabase中創(chuàng)建同名矢量數(shù)據(jù)集。遍歷數(shù)據(jù)集獲取每個(gè)數(shù)據(jù)集中的要素集列表,通過(guò)調(diào)用FeatureClassToGeodatabase_conversion()函數(shù)將列表中要素集導(dǎo)入到數(shù)據(jù)集中。

        (3)調(diào)用ListFeatureClasses()函數(shù)獲取獨(dú)立矢量要素集列表,遍歷要素集列表,調(diào)用FeatureClassToGeodatabase_conversion()函數(shù)將獨(dú)立要素集還原至ArcSDE Geodatabase中。

        5 結(jié) 語(yǔ)

        本文結(jié)合基礎(chǔ)地理信息相關(guān)平臺(tái)開(kāi)發(fā)和維護(hù)工作中數(shù)據(jù)庫(kù)管理需求,利用ArcPy站點(diǎn)包強(qiáng)大的地理處理能力,實(shí)現(xiàn)了地理空間數(shù)據(jù)庫(kù)的定時(shí)備份和還原。實(shí)際工作證明,通過(guò)Python腳本語(yǔ)言處理GIS領(lǐng)域數(shù)據(jù)方便可行,支持?jǐn)?shù)據(jù)批量處理,能夠有效提高工作效率[6],為數(shù)據(jù)庫(kù)管理的實(shí)施提供了更大的靈活性。

        猜你喜歡
        批處理列表備份
        巧用列表來(lái)推理
        “備份”25年:鄧清明圓夢(mèng)
        學(xué)習(xí)運(yùn)用列表法
        擴(kuò)列吧
        淺析數(shù)據(jù)的備份策略
        科技視界(2015年6期)2015-08-15 00:54:11
        基于PSD-BPA的暫態(tài)穩(wěn)定控制批處理計(jì)算方法的實(shí)現(xiàn)
        不含3-圈的1-平面圖的列表邊染色與列表全染色
        出版原圖數(shù)據(jù)庫(kù)遷移與備份恢復(fù)
        批處理天地.文件分類(lèi)超輕松
        批處理天地.批量為文件更名(續(xù))
        黄片视频免费观看蜜桃| 伊人久久一区二区三区无码| 中文字幕亚洲好看有码 | 午夜亚洲www湿好爽| 国产成人亚洲精品无码h在线| 欧美成人一区二区三区在线观看| 欧美日韩国产另类在线观看| 麻豆夫妻在线视频观看| 亚洲精品一区二区高清| 精品亚洲一区二区三区四区五 | 国产亚洲自拍日本亚洲| 三级全黄的视频在线观看| 久久www免费人成—看片| 欧美白人最猛性xxxxx| 美女视频永久黄网站免费观看国产| 少妇深夜吞精一区二区| 美腿丝袜在线观看视频| 日本顶级metart裸体全部| 鲁丝片一区二区三区免费| 亚洲国产成人精品无码区99| 日韩久久av电影| 国产精品综合色区av| 国产风骚主播视频一区二区 | 亚洲精品国偷拍自产在线麻豆| 又色又爽又黄又硬的视频免费观看| 护士奶头又白又大又好摸视频| 在线视频中文字幕乱人伦| 网友自拍人妻一区二区三区三州 | 成人免费ā片在线观看| 一本色道久久综合中文字幕| 国产自拍伦理在线观看| 国内偷拍精品一区二区| 国产色婷婷久久又粗又爽| 亚洲av日韩aⅴ无码色老头| 后入内射欧美99二区视频| 国产一区二区三区精品久久呦| 亚洲中文字幕第一第二页 | av影片手机在线观看免费网址| 极品少妇hdxx麻豆hdxx | 真人男女做爰无遮挡免费视频| 看全色黄大黄大色免费久久|