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

        ?

        基于Python的ArcGIS Server地圖瓦片定時自動更新方法

        2013-09-28 07:43:24馬衛(wèi)春楊友長
        地理空間信息 2013年1期
        關(guān)鍵詞:瓦片程序區(qū)域

        馬衛(wèi)春,楊友長

        (1.安徽省基礎(chǔ)測繪信息中心,安徽 合肥 230031)

        隨著互聯(lián)網(wǎng)地圖產(chǎn)業(yè)的蓬勃發(fā)展,如何在帶寬有限的情況下,快速、流暢地在客戶端中顯示電子地圖,已成為任何GIS產(chǎn)品都需要解決的核心技術(shù)問題。 目前,國內(nèi)外主要通過地圖緩存技術(shù)解決該問題,即按照一定的數(shù)學(xué)規(guī)則,把地圖切成一定規(guī)格的小圖片集保存到服務(wù)器上,當(dāng)用戶通過客戶端訪問地圖服務(wù)時,不是由服務(wù)器實時創(chuàng)建一個個地圖瓦片反饋給客戶端,而是在服務(wù)器端直接反饋預(yù)存于服務(wù)器上的地圖瓦片數(shù)據(jù),在客戶端拼接成地圖。這樣,既避免了實時創(chuàng)建地圖瓦片對服務(wù)器帶來的運算負擔(dān),也減少了客戶端的等待時間,大大改善了用戶體驗。

        Python是一門解釋型語言,因為不需要編譯和鏈接的時間,所以可以節(jié)省開發(fā)時間。解釋器能夠交互式使用,可以很方便地測試語言中的各種功能,便于編寫發(fā)布用的程序。Python屬于腳本編程,能夠使枯燥的數(shù)據(jù)處理工作自動化。地圖瓦片的更新涉及眾多操作步驟,使用Python編寫一個腳本,實現(xiàn)定時自動化執(zhí)行,非常適合。ArcGIS Server是ESRI公司出品的一個基于Web的企業(yè)級GIS解決方案。不僅具備發(fā)布地圖服務(wù)的功能,而且還能提供靈活的編輯和強大的空間分析能力。目前,它已經(jīng)成為地圖服務(wù)發(fā)布與WebGIS開發(fā)的重要平臺之一。本文以ArcGIS Server發(fā)布的地圖服務(wù)為基礎(chǔ),進行地圖瓦片的定時自動更新方法的研究。

        1 Python API與ArcGIS Server發(fā)布地圖服務(wù)的機制

        1.1 Python API

        ArcGIS從9.0版本開始提供Python API函數(shù),經(jīng)過多年的不斷完善和擴充,截止到10.0版本,Python已成為了ArcGIS地理處理框架的重要組成部分。用戶可以運用ArcGIS提供的Python API開發(fā)包編寫腳本,實現(xiàn)空間數(shù)據(jù)的自動化批量處理,從而簡化工作流程,提高工作的自動化程度。

        1.2 ArcGIS Server

        ArcGIS Server通過一個服務(wù)器對象管理器和若干個服務(wù)器對象容器,實現(xiàn)對地圖服務(wù)資源的管理。服務(wù)器對象管理器,用來管理分布在一組服務(wù)器容器中的服務(wù)器對象。每個服務(wù)器對象容器中,存放著地圖資源的配置服務(wù),服務(wù)一旦被服務(wù)器對象管理器啟用,隨即按照服務(wù)中的配置規(guī)則,自動調(diào)用數(shù)據(jù)層中的數(shù)據(jù)資源,通過服務(wù)器對象管理器向外提供空間數(shù)據(jù)服務(wù),即由服務(wù)器對象管理器通過服務(wù)器對象容器,實現(xiàn)對地圖服務(wù)運行狀態(tài)的控制。

        2 地圖瓦片定時自動更新的實現(xiàn)

        地圖瓦片定時自動更新是通過在服務(wù)端制定一個定時執(zhí)行任務(wù)的方式實現(xiàn)的,即每天定時調(diào)用基于Python語言編寫的腳本程序,實現(xiàn)地圖瓦片的自動更新。地圖瓦片實現(xiàn)自動化更新的基礎(chǔ)如圖1所示,具體流程如圖2所示。

        圖1 地圖瓦片自動化更新的基礎(chǔ)

        圖2 地圖瓦片自動化更新的流程圖

        2.1 更新參數(shù)文件庫的建立

        新建一個ESRI文件庫,存放更新區(qū)域和更新數(shù)據(jù)2類信息。

        更新區(qū)域以面狀FeatureClass的形式存放,同時,輸入與該區(qū)域配套的更新參數(shù)。具體包括:更新數(shù)據(jù)所在的位置、用于更新的圖層名稱、待更新數(shù)據(jù)所在位置、待更新圖層的名稱、是否已更新完成、待更新的服務(wù)名稱、更新的比例尺級別以及更新時需要關(guān)閉的相關(guān)服務(wù)名稱。更新數(shù)據(jù)的表結(jié)構(gòu)需與待更新數(shù)據(jù)的表結(jié)構(gòu)一致。

        2.2 ArcGIS Server服務(wù)狀態(tài)的控制

        ArcGIS提供的Python API中未提供控制ArcGIS Server服務(wù)狀態(tài)的類或函數(shù), 而在地圖瓦片更新過程中,需要進行服務(wù)的終止、啟動操作。為了解決這個問題,我們采用ArcGIS Server提供的AO開發(fā)包,編寫了一個利用ArcGIS Server SOM(服務(wù)對象管理器)控制地圖服務(wù)狀態(tài)的命令行程序。

        2.3 地圖瓦片更新的實現(xiàn)

        1)讀取更新區(qū)域的狀態(tài)信息。讀取“更新區(qū)域”是否已處理的狀態(tài)標(biāo)記信息,若已處理過,不再進行更新操作;否則,繼續(xù)進行更新操作。

        2)讀取更新區(qū)域的相關(guān)參數(shù)。讀取地圖瓦片更新所需要的更新區(qū)域、更新服務(wù)名稱、更新比例尺、更新數(shù)據(jù)所在位置、更新數(shù)據(jù)所在圖層、待更新數(shù)據(jù)所在位置、待更新數(shù)據(jù)所在圖層、需要關(guān)閉的相關(guān)服務(wù)名稱。

        service_name = getUpdateInfo(cacheFeatures,"MapSer viceName")

        scales = getUpdateInfo(cacheFeatures,"UpdateScales")

        3)更新數(shù)據(jù)。首先,調(diào)用控制ArcGIS Server服務(wù)狀態(tài)的命令行程序,停止待更新及相關(guān)地圖服務(wù);然后,刪除待更新數(shù)據(jù),用更新數(shù)據(jù)替代待更新數(shù)據(jù);最后,啟動待更新及相關(guān)地圖服務(wù)。

        //停止服務(wù)

        tempservicename ="AGSSOM.exe -x " +pname //pname地圖服務(wù)名稱

        os.system(tempservicename)

        //刪除待更新數(shù)據(jù)

        arcpy.Delete_management(OrigncacheFeatures,"")

        //更新數(shù)據(jù)替代待更新數(shù)據(jù)

        arcpy.CopyFeatures_management(UpdatecacheFeatue s,OrigncacheFeatures)

        //啟動服務(wù)

        tempservicename ="AGSSOM.exe -s " +pname //pname地圖服務(wù)名稱

        os.system(tempservicename)

        4)更新地圖瓦片。基于更新參數(shù),利用ArcGIS Server Python API中提供的UpdateMapServerCache()函數(shù),實現(xiàn)地圖瓦片的更新操作。

        gp.UpdateMapServerCache(server_name, service_name, data_frame, layers, constraining_extent, scales,update_mode, thread_count, antialiasing)

        5)設(shè)定已更新標(biāo)記。地圖瓦片更新完成后,將更新區(qū)域中的“是否已處理”字段標(biāo)記為“已處理”,避免在此后執(zhí)行自動更新操作時進行重復(fù)更新。

        2.4 自動執(zhí)行腳本任務(wù)的制定

        以Window 2008 Server操作系統(tǒng)為例,創(chuàng)建一個任務(wù),在地圖服務(wù)訪問空閑期間,如以夜間1點為條件,觸發(fā)腳本程序,自動執(zhí)行地圖瓦片的更新任務(wù)。

        3 地圖瓦片定時自動更新執(zhí)行條件的說明

        地圖瓦片更新腳本程序,每天會在設(shè)定的時間點自動執(zhí)行。程序通過訪問參數(shù)文件庫,讀取其中的更新區(qū)域多邊形數(shù)據(jù)文件,遍歷所有更新區(qū)域多邊形的更新標(biāo)識符字段,進而判斷是否需要繼續(xù)執(zhí)行瓦片更新程序。更新過的區(qū)域,程序會將該字段的值賦為“Y”,未更新的區(qū)域該字段則為空。對更新標(biāo)識符字段為“Y”的區(qū)域,不作瓦片更新操作;對更新標(biāo)識符字段為空的區(qū)域,執(zhí)行更新操作,并于操作完成后,將對應(yīng)的更新標(biāo)識符字段的值賦為“Y”?;谏鲜鲈瓌t,地圖瓦片更新程序每次自動啟動后,只對新增的更新區(qū)域執(zhí)行更新操作,對更新過的歷史區(qū)域不作任何瓦片更新操作。若未發(fā)現(xiàn)需要更新的區(qū)域,程序不作任何操作,自動予以關(guān)閉。

        4 結(jié) 語

        地圖瓦片技術(shù)的出現(xiàn),解決了在帶寬和服務(wù)器性能有限的情況下,客戶端地圖瀏覽效率不高、服務(wù)器負擔(dān)過重的問題。但是,在進行地圖瓦片更新的過程中,一直存在著步驟繁瑣、運算時間長等問題。文中所述的地圖瓦片定時自動更新方法,已在“天地圖·安徽”的數(shù)據(jù)更新過程中應(yīng)用,并顯著簡化了工作步驟,提高了工作效率。但是,對于大區(qū)域的地圖瓦片更新,由于更新周期長,無法在夜間完成,會影響到地圖服務(wù)在白天訪問繁忙期的正常使用,不建議使用文中所述的方法進行更新。

        [1]王強.分布式WebGIS地圖緩存策略的應(yīng)用研究[J].軟件導(dǎo)刊,2008,7(5):16-18

        [2]李海亭,費立凡,彭清山,等.預(yù)生成思想在地理信息服務(wù)中的應(yīng)用研究[J].測繪信息與工程,2009,34(1):31-32

        [3]葉海波,崇潔.ArcGIS 地圖緩存制作簡介[M].北京:Esri中國(北京)有限公司共享服務(wù)事業(yè)部,2011

        [4]潘雪婷.基于Python的控件分析模型的實現(xiàn)[D].北京:中國地質(zhì)大學(xué)(北京),2010

        [5]王冉陽.基于Web Service的數(shù)據(jù)產(chǎn)品加工服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:中國地質(zhì)大學(xué)(北京),2009

        [6]董元,李娜,張廣平.應(yīng)用G_tilelayer的谷歌混合地圖顯示[J].地理空間信息, 2011,9(4):72-74

        [7]王磊,林鴻,丘廣新.城市空間數(shù)據(jù)庫動態(tài)更新機制研究與實現(xiàn)[J].地理空間信息, 2009,7(1):30-33

        猜你喜歡
        瓦片程序區(qū)域
        一種基于主題時空價值的服務(wù)器端瓦片緩存算法
        試論我國未決羈押程序的立法完善
        慣性
        揚子江(2019年1期)2019-03-08 02:52:34
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        關(guān)于四色猜想
        分區(qū)域
        創(chuàng)衛(wèi)暗訪程序有待改進
        基于嚴(yán)重區(qū)域的多PCC點暫降頻次估計
        電測與儀表(2015年5期)2015-04-09 11:30:52
        基于NoSQL數(shù)據(jù)庫的瓦片地圖服務(wù)
        亚洲视频网站大全免费看| 免费人成在线观看网站| 人人鲁人人莫人人爱精品| 国产精品激情| 亚洲av无码一区二区三区四区 | 亚洲成a人片在线观看久| 国产xxxx99真实实拍| 97久久久久人妻精品专区| 国产精品丝袜在线不卡| 18禁黄无遮挡免费网站| 手机免费在线观看日韩av| 日本一区二区免费在线看| 18禁在线永久免费观看| 99热爱久久99热爱九九热爱| 日日碰狠狠添天天爽超碰97 | 久久亚洲第一视频黄色| 亚洲中文字幕不卡一区二区三区| 精品国产三区在线观看| 国产青青草在线观看视频| 久久亚洲av成人无码电影a片| 幻女bbwxxxx在线视频| 人体内射精一区二区三区| 国产在线拍偷自拍偷精品| 亚洲春色视频在线观看| 精品国产一区二区三区香| 亚洲熟妇av一区二区三区| 巨茎中出肉欲人妻在线视频| 亚洲av无码一区二区三区人妖| 久久精品国产精品亚洲毛片| 黄色av三级在线免费观看| 国产三级国产精品国产专播| 亚洲男人天堂黄色av| 超级碰碰色偷偷免费视频| 黄色毛片视频免费| 中文字幕偷拍亚洲九色| 一区二区三区视频在线观看| 免费a级毛片无码a∨中文字幕下载| 欧洲人妻丰满av无码久久不卡| 亚洲最大在线精品| 性感人妻av在线播放| 亚洲精品在线国产精品|