999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Ajax和ArcEngine的WebGIS系統的設計和實現

2010-04-19 03:19:06王曉醉
城市勘測 2010年3期
關鍵詞:程序系統

王曉醉

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

基于Ajax和ArcEngine的WebGIS系統的設計和實現

王曉醉?

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

介紹了基于傳統WebGIS系統,結合緩存切片技術,開發類似GoogleMap風格的WebGIS應用系統的基本原理、關鍵技術和應用實例。該WebGIS系統采用切片技術對地圖進行切片,存放在服務器上,在前臺通過Ajax技術實現地圖顯示和操作,提高了響應速度。并能進行興趣點的標注。

WebGIS;Ajax;ArcEngine;切片技術

1 引 言

WebGIS是Internet技術應用于GIS開發的產物,是實現GIS互操作的一條最佳途徑。從Internet的任意節點,用戶都可以瀏覽WebGIS站點中的地圖文檔,制作專題圖,進行各種空間信息的檢索和分析[1]。

圖1 WebGIS服務請求工作原理

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

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

2 Ajax技術和ArcEngine介紹

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

(1)使用基于XHTML和CSS標準的表示方法;

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

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

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

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

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

圖2 Ajax工作機制

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

3 基于Ajax和ArcEngine的WebGIS體系實現技術

3.1 Ajax框架的選擇和系統架構

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

本文設計的WebGIS系統為3層結構:客戶層、中間層和數據層,如圖3所示。

圖3 WebGIS系統3層結構

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

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

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

3.2 地圖切片數據組織與客戶端

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

如圖4所示,系統在客戶端使用MapEasy為核心構建,在服務器端通過Internet信息服務,調用切片程序,返回地圖切片數據。

圖4 切片程序調用過程

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

圖5 瓦片金字塔模型

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

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

切好的圖片將被發布在IIS上。

為了在瀏覽器客戶端實現顯示,筆者在瀏覽器客戶端,應用MapEasy類庫添加地圖的JavaScript代碼為:

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

4 系統實例

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

圖6 系統運行界面

5 結 語

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

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

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

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

[4]徐卓揆,劉德欽,林宗堅.Ajax技術在WebGIS中的應用[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—),女,碩士研究生,專業方向地理信息系統。

猜你喜歡
程序系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 日本午夜精品一本在线观看| 成人综合在线观看| 国产精品极品美女自在线网站| 毛片网站在线看| 欧美在线免费| 久久国产精品嫖妓| 免费一级毛片完整版在线看| 一区二区影院| 亚洲区一区| 国语少妇高潮| 天天躁夜夜躁狠狠躁躁88| 久热中文字幕在线| 亚洲国产天堂久久综合226114| 欧美日韩在线国产| 国产欧美在线观看视频| 亚洲天堂网站在线| 2021精品国产自在现线看| 欧美日韩成人在线观看| 国产毛片片精品天天看视频| 国产精品久久久久无码网站| 欧美色图第一页| 老司机午夜精品视频你懂的| 亚洲区欧美区| 另类重口100页在线播放| 国内熟女少妇一线天| 国产一级在线播放| 国产99久久亚洲综合精品西瓜tv| h网址在线观看| 日本三级欧美三级| 国产欧美精品一区aⅴ影院| 欧美国产日韩在线| 亚洲综合九九| 国产91小视频在线观看| 亚洲色图综合在线| 毛片一区二区在线看| 亚洲国产中文在线二区三区免| 欧美午夜在线视频| 国产综合亚洲欧洲区精品无码| 成人在线观看一区| 久久久久久久蜜桃| 中文成人在线| 国产成人高清在线精品| 亚卅精品无码久久毛片乌克兰| 亚洲无码高清视频在线观看| 欧美色图久久| 日本欧美中文字幕精品亚洲| 日韩成人在线视频| 欧美一级99在线观看国产| 国产人人射| 欧洲欧美人成免费全部视频| 就去吻亚洲精品国产欧美| 97视频免费在线观看| 亚洲成人免费看| 波多野结衣第一页| 日本午夜影院| 老司机午夜精品视频你懂的| 日本三级欧美三级| 亚洲娇小与黑人巨大交| 欧美另类精品一区二区三区| 亚洲国产欧洲精品路线久久| 特级做a爰片毛片免费69| 五月婷婷导航| 日本一本在线视频| 国产杨幂丝袜av在线播放| 亚洲无码一区在线观看| 免费激情网址| 国产精品hd在线播放| 国产精品第一区| 99久久精品免费看国产电影| 伊人中文网| 美女内射视频WWW网站午夜 | 色综合天天综合中文网| 国产男女XX00免费观看| 亚洲午夜天堂| 91精品视频网站| 亚洲水蜜桃久久综合网站| 伊人久久婷婷| 婷婷成人综合| 波多野结衣一区二区三区AV| 蜜桃视频一区| 国产永久在线观看| 看av免费毛片手机播放|