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

        ?

        基于Ajax和ArcEngine的WebGIS系統(tǒng)的設(shè)計和實現(xiàn)

        2010-04-19 03:19:06王曉醉
        城市勘測 2010年3期
        關(guān)鍵詞:瀏覽器切片客戶端

        王曉醉

        (武漢大學(xué)測繪學(xué)院,湖北武漢 430072)

        基于Ajax和ArcEngine的WebGIS系統(tǒng)的設(shè)計和實現(xiàn)

        王曉醉?

        (武漢大學(xué)測繪學(xué)院,湖北武漢 430072)

        介紹了基于傳統(tǒng)WebGIS系統(tǒng),結(jié)合緩存切片技術(shù),開發(fā)類似GoogleMap風(fēng)格的WebGIS應(yīng)用系統(tǒng)的基本原理、關(guān)鍵技術(shù)和應(yīng)用實例。該WebGIS系統(tǒng)采用切片技術(shù)對地圖進行切片,存放在服務(wù)器上,在前臺通過Ajax技術(shù)實現(xiàn)地圖顯示和操作,提高了響應(yīng)速度。并能進行興趣點的標(biāo)注。

        WebGIS;Ajax;ArcEngine;切片技術(shù)

        1 引 言

        WebGIS是Internet技術(shù)應(yīng)用于GIS開發(fā)的產(chǎn)物,是實現(xiàn)GIS互操作的一條最佳途徑。從Internet的任意節(jié)點,用戶都可以瀏覽WebGIS站點中的地圖文檔,制作專題圖,進行各種空間信息的檢索和分析[1]。

        圖1 WebGIS服務(wù)請求工作原理

        以往傳統(tǒng)的WebGIS系統(tǒng),往往使用同步傳輸?shù)臋C制來實現(xiàn)交互,面對大流量數(shù)據(jù)時,往往使得系統(tǒng)的響應(yīng)速度變得很慢。而Ajax技術(shù)的最大特點就是異步傳輸,通過Ajax引擎能夠很好地實現(xiàn)客戶端和服務(wù)器之間的請求、應(yīng)答機制,減輕服務(wù)器的負(fù)荷,平衡服務(wù)器和客戶端的負(fù)載。而利用ArcEngine進行開發(fā),具有靈活,方便的特點,也能有效提高切片速度。

        地圖文檔的顯示貫穿于整個WebGlS站點操作的始終,其操作方式和使用技術(shù)決定了整個WebGlS站點的效率,是WebGIS系統(tǒng)的核心。使用Ajax技術(shù),是WebGIS發(fā)展的必然趨勢。本文利用Ajax和ArcEngine技術(shù),實現(xiàn)開發(fā)了一個類似GoogleMap的WebGIS系統(tǒng),提高了數(shù)據(jù)的響應(yīng)速度,減少用戶等待時間。

        2 Ajax技術(shù)和ArcEngine介紹

        Ajax是Asynchronous JavaScript and XML(異步的JavaScript和XML)的簡稱[2]。嚴(yán)格地講,Ajax不是一個技術(shù),它實際上是幾種技術(shù)的集合,每種技術(shù)都有其獨特之處,合在一起就成了功能強大的 Ajax技術(shù)。Ajax技術(shù)包括:

        (1)使用基于XHTML和CSS標(biāo)準(zhǔn)的表示方法;

        (2)使用Document Object Model(DOM)進行動態(tài)顯示和交互;

        (3)使用XML和XSLT進行數(shù)據(jù)交換和操作;

        (4)使用XMLHttpRequest與服務(wù)器進行異步通信;

        (5)使用JavaScript綁定以上技術(shù)。

        使用Ajax技術(shù)開發(fā)WebGIS程序減輕了服務(wù)器的負(fù)擔(dān);無刷新更新頁面;減少用戶實際和心理等待時間;可以把以前的一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端;使Web中的數(shù)據(jù)與呈現(xiàn)分離。圖2為Ajax工作機制。

        圖2 Ajax工作機制

        2004年,美國 ESRI發(fā)布 ArcGIS Engine,ArcGIS Engine開發(fā)包提供了一系列可以在ArcGIS Desktop框架之外使用的 GIS組件,ArcEngine包括核心 ArcObjects的功能,是對AO中的大部分接口、類等進行封裝所構(gòu)成的嵌入式組件。AE中的組件接口、方法、屬性與AO是相同的。但 ArcObjects必須依賴 ArcGIS Desktop桌面平臺,即購買安裝了ArcGIS Desktop的同時,安裝ArcObjects,才能利用AO進行開發(fā);ArcEngine是獨立的嵌入式組件,不依賴ArcGIS Desktop桌面平臺,直接安裝ArcEngine Runtime和Developer Kit后,即可利用其在不同開發(fā)語言環(huán)境下開發(fā)。ArcEngine具有簡潔、靈活、易用、可移植性強等的特點。故本系統(tǒng)中使用ArcEngine進行開發(fā)。

        3 基于Ajax和ArcEngine的WebGIS體系實現(xiàn)技術(shù)

        3.1 Ajax框架的選擇和系統(tǒng)架構(gòu)

        目前有眾多的免費的Ajax框架可供選擇,例如Protptype、Scriptacu-lous、Dojo、DWR、Ajax.net、Altas等等[4]。本系統(tǒng)主要選擇使用了 Protptype框架的MapEasy作為客戶端的核心。MapEasy是由國內(nèi)開發(fā)者開發(fā)的,基于 Ajax技術(shù)的網(wǎng)絡(luò)地圖 JavaScript開源類庫,可以用于在瀏覽器端構(gòu)建類似GoogleMap風(fēng)格的網(wǎng)絡(luò)地圖應(yīng)用。MapEasy可以應(yīng)用服務(wù)器端的地圖切片數(shù)據(jù),在客戶端瀏覽器創(chuàng)建網(wǎng)絡(luò)地圖,并使用JavaScript增加標(biāo)注信息(點信息)。MapEasy使用 A-pache開源協(xié)議,允許作為開源或者商業(yè)軟件的代碼修改,再發(fā)布,也就是說,使用者可以在需要的時候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布或銷售。

        本文設(shè)計的WebGIS系統(tǒng)為3層結(jié)構(gòu):客戶層、中間層和數(shù)據(jù)層,如圖3所示。

        圖3 WebGIS系統(tǒng)3層結(jié)構(gòu)

        客戶層:直接為使用者提供可視界面。客戶層還包括了Ajax引擎。Ajax是完完全全的客戶端技術(shù),很多控件封裝了客戶端和服務(wù)器端的通信過程,服務(wù)器端都是返回的一個純文本流,再由客戶端來處理這個文本,這段文本可以是xml格式,也可以是一個html格式。

        中間層:提供 Web服務(wù)。提供對 Microsoft SQL Server等數(shù)據(jù)源以及通過OLE DB和XML公開的數(shù)據(jù)源的一致訪問。

        數(shù)據(jù)源層:Sql server數(shù)據(jù)庫,存儲空間數(shù)據(jù)及屬性數(shù)據(jù)。還包括GIS工具處理的地圖資源,該資源以文件的形式存在于服務(wù)器上。

        3.2 地圖切片數(shù)據(jù)組織與客戶端

        在WebGIS體系的實現(xiàn)中,切片技術(shù)是核心技術(shù)之一。一般的WebGIS體系會選用帶有切片程序的地圖服務(wù)器(如 GeoServer)或者地圖發(fā)布軟件(如 ArcIMS)。筆者在本系統(tǒng)中采用的是自己基于ArcEngine編寫切片程序,使之符合MapEasy的命名規(guī)則,然后再使用Web Server(如IIS)調(diào)用切片,實現(xiàn)圖片顯示。其總體調(diào)用過程如圖4所示。

        如圖4所示,系統(tǒng)在客戶端使用MapEasy為核心構(gòu)建,在服務(wù)器端通過Internet信息服務(wù),調(diào)用切片程序,返回地圖切片數(shù)據(jù)。

        圖4 切片程序調(diào)用過程

        地圖切片的原理一般是瓦片金字塔模型,其核心思想是分層和分塊:原始數(shù)據(jù)按不同分辨率重采樣產(chǎn)生層;同一層數(shù)據(jù)按指定的格網(wǎng)大小均勻剖分即得瓦片,如圖5所示。

        圖5 瓦片金字塔模型

        筆者在實現(xiàn)地圖切片的過程中,編寫基于 ArcEngine的切片程序。其中心思想如下:在地圖調(diào)入的過程中讀取其左下角和右上角的經(jīng)緯度值,然后根據(jù)經(jīng)緯度進行切割。在切割的過程中采取分層的思想。對第0層的切片,定義一個變量ZERO_GRID來定義切片的大小。在本程序中,0層每個正方形切片的大小均為2.25°。隨著切片層數(shù)的增加,切片大小遞減,其大小為ZERO_GRID/2k。

        切片程序的核心代碼如下:

        切好的圖片將被發(fā)布在IIS上。

        為了在瀏覽器客戶端實現(xiàn)顯示,筆者在瀏覽器客戶端,應(yīng)用MapEasy類庫添加地圖的JavaScript代碼為:

        以上代碼最關(guān)鍵的是最后一句。其中有3個參數(shù),level代表縮放級別,row代表行,column代表列。在MapEasy中row表示瓦片(tile)所在的行數(shù)、column表示瓦片所在的列數(shù)而level表示地圖縮放的級別。MapEasy兼容的數(shù)據(jù)切片方案采用四叉樹切分和哈希格網(wǎng)索引算法,即第一級為 1幅圖片,第二級分為4幅,第三級則劃分為16幅,這和我們編寫的地圖切片算法切出的圖片是一致的,從而保證了MapEasy能順利讀取各級圖片。

        4 系統(tǒng)實例

        筆者采用Mircosoft.Net 2.0開發(fā)平臺進行開發(fā),開發(fā)語言為C#;服務(wù)器運行環(huán)境為:Microsoft Windows XP sp2,IIS,SQL Server 2005;客戶端可以為任意的Web瀏覽器。通過使用緩存切片和Ajax技術(shù),在普通PC服務(wù)器上,實現(xiàn)了對地圖快速的訪問。在瀏覽器的地圖窗口建立兩個功能模塊:地圖顯示模塊和地圖查詢模塊。地圖顯示模塊主要是負(fù)責(zé)顯示用戶指定區(qū)域,并且具有一定比例的柵格地圖,實現(xiàn)了放大、縮小、漫游、平移、拉框、清除等基本的地圖功能。圖6為系統(tǒng)的運行界面,其中左圖為查詢界面之一,右圖為添加興趣點的結(jié)果,結(jié)果數(shù)據(jù)的空間位置可以通過標(biāo)注的形式顯示在地圖之上。

        圖6 系統(tǒng)運行界面

        5 結(jié) 語

        本文中筆者用ArcEngine和Ajax技術(shù)仿照Google Map實現(xiàn)了一個簡單WebGIS系統(tǒng)的設(shè)計和發(fā)布,實現(xiàn)了地圖的瀏覽,放大,縮小等功能,實現(xiàn)了地圖切片程序的編寫,并能使用Ajax技術(shù)在前臺讀取地圖切片,能實現(xiàn)興趣點的標(biāo)注等。Ajax技術(shù)的使用,實現(xiàn)了地圖數(shù)據(jù)交互的加快,減少了用戶等待時間;應(yīng)用ArcEngine進行地圖切片,比直接在AO上開發(fā)靈活方便,切片速度也有提高。但在地圖分析的方面,還有很多需要加強,比如沒有緩沖區(qū)分析等功能等。今后筆者將繼續(xù)從事這方面的研究,努力使該系統(tǒng)的功能更加完善。

        [1]MapEasy[EB/OL].http://mapeasy.sourceforge.net

        [2]黃穎,謝忠,鐘士彬..NET和VML及腳本技術(shù)在WebGIS系統(tǒng)地圖文檔顯示中的應(yīng)用[J].測繪科學(xué),2006,31(4)

        [3]徐卓揆,劉德欽,林宗堅.基于WebGIS的動態(tài)專題地圖發(fā)布技術(shù)研究[J].測繪科學(xué),2006,31(3)

        [4]徐卓揆,劉德欽,林宗堅.Ajax技術(shù)在WebGIS中的應(yīng)用[J].測繪信息與工程,2007,32(1):3~5

        The Development and Design of WebGIS Based on Ajax and ArcEngine

        Wang XiaoZui
        (School of Geodesy and Geomatic,Wuhan University,Wuhan 430072,China)

        This paper introduces the development of similar style GoogleMap of WebGIS application system's basic principles,key technologies and applications,based on traditional WebGIS-based systems,combined with the tile cache technology.The system uses WebGIS tile cache technology to slice the map,stored the pictures in the server,and use the Ajax technology to display and operate maps.It can also mark the POI(Point of Interest)on the maps.

        WebGIS;Ajax;ArcEngine;tile cache

        1672-8262(2010)03-32-03

        P208

        B

        2010—01—03

        王曉醉(1986—),女,碩士研究生,專業(yè)方向地理信息系統(tǒng)。

        猜你喜歡
        瀏覽器切片客戶端
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        基于SDN與NFV的網(wǎng)絡(luò)切片架構(gòu)
        環(huán)球瀏覽器
        腎穿刺組織冷凍切片技術(shù)的改進方法
        再見,那些年我們嘲笑過的IE瀏覽器
        冰凍切片、快速石蠟切片在中樞神經(jīng)系統(tǒng)腫瘤診斷中的應(yīng)用價值比較
        客戶端空間數(shù)據(jù)緩存策略
        一区二区精品国产亚洲| 青草蜜桃视频在线观看| 日本高清中文一区二区三区| 日本a爱视频二区三区| 亚洲av无码电影在线播放| 亚洲av福利院在线观看| 国产麻豆精品精东影业av网站| 三男一女吃奶添下面| 久久久久亚洲精品天堂| 国产高清不卡在线视频| 日本a级片免费网站观看| 国语精品一区二区三区| 亚洲精品综合第一国产综合| 久久五月精品中文字幕| 精品人妻一区二区三区狼人| 欧美奶涨边摸边做爰视频| 又污又爽又黄的网站| 中文字幕有码一区二区三区| 国产自拍视频一区在线| 亚洲av成人无码一二三在线观看| 亚洲欧洲巨乳清纯| 中文字幕乱码人妻无码久久久1| 国产中文色婷婷久久久精品| 乱码av麻豆丝袜熟女系列 | 国产亚洲一区二区三区三州| 国产精品一区二区黄色| 亚洲avav天堂av在线网爱情| 欧美日韩亚洲成色二本道三区| 在线偷窥制服另类| 日本视频一区二区三区在线| 国产精品久久久久精品一区二区 | 91华人在线| 色男色女午夜福利影院| 久久婷婷五月国产色综合| 激情内射亚洲一区二区三区爱妻| 蜜桃一区二区免费视频观看 | 日韩av中文字幕少妇精品| 日韩精品视频高清在线| 中文 在线 日韩 亚洲 欧美| 九九免费在线视频| 亚洲一区二区三区免费av|