基于HTML5的WebGIS的研究与应用

更新时间:2023-05-12 01:09:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012车第4期

文章编号:1009—2552(2012)04一0149一03

中图分类号:11P393

文献标识码:A

基于HTML5的WebGIS的研究与应用

徐莎,杨帆,徐昌庆

(上海交通大学电子工程系,上海200240)

摘要:Canv船是HTML5引入的新技术之一,它可以被Javascript用来进行图形图像的渲染和矢量绘图操作。从提供静态页面到能动态地处理多媒体信息是web应用的发展趋势,运用H’rML5canvas新技术撼建了GSM基站地理信息系统,在WebGIS客户端进行地理信息的展示和交互,有效地缩短了浏览器响应时间,改进了用户体验。

关键词:H7rM【5;canvas;WebGIS;基站

R髂earchandapplicationof(Dqpa咖鼬t

Abs打act:C髓vas

of

WebGIS

based

on

IrIIML5

canvas

XUSha,YANGFan,XUChang.qing

EIed咖1cEngi嘲血g,Sh蛐ghai

Jiaotong啪v啊氓ShangIIai砒40,China)

can

isnew

technology

brou曲t

inbyHTMl5.Itbeu∞dby

javascript

t0

sbow

photosandd瑚wgraphics.Thedyllamic

devel叩ment

ofWeb

tlIat£舢providing

paper

uses

staticwebpagestodealingwi山

m础a

is

the呐nd

ofweb

application.ne

reduces出e

tllenewtechnol0韶ofHI’ML5

as

c柚vas七0

users

establ曲G璐of

山eWebGIS

GSMbase

It

s嘶ons,andshowsgeo舭phicali舶nnation

response

weU

as

interacts“t11

so

in

client.

succes8fuHy

timeofdlebrowserand

imp工{0ve8

tlle

expedence《users.

Key啪rds:HTM巧;canvas;WebGIS;base

station

引言

webGIs是在Intemet或Im砌et网络环境下一

行起来。而VML除了IE,其它浏览器都不支

持‘2一引。

种显示和分析处理地理信息的计算机信息系统,它的基本思想就是在互联网上提供地理信息,让用户通过浏览器浏览并获得一个地理信息系统中的数据和功能服务”J。经过多年发展,webGIs的系统架构已趋于成熟,通常采用B/S结构,即由浏览器、GIS服务器、数据库等三部分构成。

客户端是联系用户和GIs服务的桥梁,现在比较流行的webGIs客户端技术有Java

Applet,F1ash,

随着网络的快速发展,越来越多的桌面应用转向Web平台。人们也希望日益丰富的web服务能做到简单、高效并具有良好的可交互性。为了适应这种需求,wH,ATWG(web超文本应用技术工作

组)于2004年发起了Hn心,通过引进了一些新的

标签和API,大大降低了web对浏览器插件的依赖

程度。本文主要是通过对HTMl5和WebGIS的研

究,构建基于c髓vas新技术的网页GSM基站信息系统,由于基站信息的绘制及部分用户操作的响应都是在客户端由Java8cript直接完成,无须通过刷新浏览器或者向服务器再发出请求,因此大大缩短了响应时间,改进了用户体验。

收稿日期:20ll一11一∞

sVG,VML等。由于nasllPlayer插件在浏览器上得到广泛安装,文件传输小,交互性能良好等特性,使得nash得到广泛的应用。但nash是一个相对封闭的技术,与其他开放标准之间没有一个完全融合的方案。而JayaApplet在客户端的使用需要安装Java虚拟机,限制了它的广泛使用。sVG的交互性能取决于运行环境的厂家支持程度,最终也没有流

作者简介:徐莎(1987一),女,硕士研究生,主要研究方向为web-

GIS。

~149—

万方数据

lHTML5

canvas简介

具体的服务器端/客户端软件配置如下:服务器端:

c#:获取数据库数据并与客户端通信。

IIS6.0:Web服务器。SQL

server

<canvas>标签是HTML5引入的新的API之一,这个元素可以被Javascript语言用来进行图形图像的渲染和绘图操作。

<canvas>最先在苹果公司的Mac

OSXDash—

2008:数据存储。

board上被引人,而后被应用于saf蕊。如今大部分

客户端:

浏览器都已经支持,包括Firefox,Sa觚,chrome,0p—

era,Iphone,Andmid等‘4。1,IE7和IE8暂且还不支持caJlvas标签。

<canvas>标签在被浏览器解析时与其它标签没有什么不同,可以通过widt}l和he培ht属性改变画布大小,s够le设置画布风格,例如,在HTML正文中加入如下标签,可绘制一个长宽分别为512和256

的画布。

<canvas

Chmme浏览器:提供webGIS浏览服务。JS程序:绘图,响应用户操作并与服务器通信。3

基于c跏as的WebGIS实现过程分析

本文通过webCIS实现CSM(全球移动通讯系

统)基站信息的显示和查询等功能。对于传统的地理信息系统,图形的显示,用户操作的响应等任务大都由服务器端完成,然后将生成的数据或是图片通过网络发送到浏览器,由于地理信息系统往往涵盖的数据量很大,所以经常造成白屏,等待时间过长等现象,用户体验较差。

3.1基站的绘制

id=‘test’widtll=‘512’height=

‘256’>

实际的绘图工作由Javascript完成,通过调用canvas.getContext(contexⅡd)方法可以在画布上进行绘图及图形图像渲染等操作,例如,下面的函数介绍如何在画布上绘制一个矩形。Func石on(hwOnCanvas(){

Var

CanVaS=

实验通过canvas画布,在浏览器端使用Javas.cript绘制矢量类型的基站,基站大小,形状等都可定制。不像sVG,canvas只支持一种基本形状——矩形。所以其他形状都是由一个或多个路径组合而成,但是通过一组路径绘制函数,可以绘制相当复杂的形状。如,伽Rect()可绘制矩形,arc()可用于绘制弧形等。

基站的位置,名称,频点等数据存储在sQL

server

document.getElememById(‘test’);

var

context=c如vas.getConte妣(‘2d’);

context.矗llStyle=‘red’;

2008数据库中。javascript发送xMLHttpRe-

context.fillRect(10,10,40,40);}

quest请求,与服务器端建立通信,由服务器提取数据库中的数据,最后封装成xML的格式返回给客户端。

表l显示了浏览器刷新时间随基站数目的变化情况。当页面上只显示1万个基站时,传输的数据量约为1.3lMB,刷新时间约为1.865s;当页面显示5万个基站时,传输的数据量约为6.52MB,刷新时间约为4.211s。由表1可以推断,随着传输数据量的均匀增大,浏览器刷新时间是等差递增的。

表1

刷新时间随传输数据量的变化

webGIs系统架构

本文构建的webGIs系统主要由三个模块构

成:客户端,web服务器以及数据库。服务器采用2008作为数据源,以c#为程序设计语言

来实现服务器端对客户端的各种操作的反应;由于

SQL

sewer

IE不支持<canvas>标签,所以客户端采用谷歌chrome浏览器作为图形浏览实现的平台,无需专门开发其他的可视化界面,如图1所示。

客户端Chrome浏览器

脚请求¨羹蟹

w|eb服务器

IIS

6.O

曙请求lI返回有用

数据库SQLServer

图1

2008

3.2基站标签及小区包络的显示

在网络多媒体时代,用户的需求已经不单单是浏览一些静态的网页,而是希望可以更多的参与互动。目前比较流行的Web地图900dem印,只提供

webGrS体系架构

一150一

万方数据

了一些简单的操作,如平移,放大,缩小等。由于

户可以获得与桌面软件相似的使用体验¨J。

图3是增加了g∞gkmap底图的web地理信息系统,结合了基站信息矢量图层和c009lemap栅格图层,提供了大量基站相关信息,具有高度的互动性,大大缩短了用户操作响应时间,收到了很好的用户体验效果。

900de嘲p是直接将一组预先准备好的大小固定的

栅格图从地图服务器端下载到浏览器端,所以对地图上的具体位置无法提供更多的信息,满足不了用户日益增长的砒A需求。

用c眦vas画布,结合Jav黔cript脚本语言绘制的矢量地图可以对地图上的具体位置提供更多的描述信息,具有高度的互动性,丰富用户体验。

小区包络用来描述一个GSM基站的信号覆盖范围及服务区域,采用著名的F0rnlne’sVoronoi算法,可以得到描述基站包络的多边形数据。直接在

浏览器端使用Javase却t实现该算法,并运用得出的

数据在c舳v鹊中绘制多边形包络,可以缩短响应时间。图2显示了当用户点击地图上某基站时显示的描述基站信息的标签,为了清晰起见,暂时没有增加

鲫gIe啪p底图。

图3添加伊odem叩的基站WebGlS

结束语

本文运用HTM【5

c删新技术构建了GsM基

站地理信息系统,在webGIS客户端进行地理信息的展示和交互。将矢量图层和栅格图层有效地结合起来,通过与用户交互,提供大量地理信息,同时有效地缩短了浏览器响应时问,改进了用户体验。参考文献:

[1]房体盈.基于Ja让scdpt技术的w曲G玛设计与实现[D】.大连理

工大学,瑚8.

图2基于c蜘v聃的WcbG璐矢量地图

[2]吴磊.张福庆.基于Ⅲ嗍LcⅢm的webas客户靖技术研

3.3增加90091em印底图

究[J].地理信息世界,2唧,7(3):78—82.

[3]栾绍鹏,朱长青.^j“在WebGls中的应用研究[J].澍绘科学,

20a7。32(5):158—1∞.

c删鹊标签既可以用于绘制自己的图形,也可

以直接载人外部图像,用作图片合成或者制作背景等。图片来源不是简单的uRL路径,而是一个Javasc咖t的I删唔e对象引用;然后用dr洲IInage方法将图像插入到c蚰v鹊中。

[4]弛洒‰e瑚幽.E词u砒i嘲qf砌mL5

pKed蹦∞%。20lO.

the砒

M哪ingcli眦0p百II丑y啪[D]。“蛐llall胁uni删ty。f峥

fori协u∞iII

[5】M^葶edNK髓越B∞l帼。J击I呵’F们瓠,Ji蜘y丑G∞g,P衄gY呻.

a胡傩olIli∞mappi嵋[J].hIt哪l硝onal如m■0f

开放式地图服务应用程序接口一G咄M印s

co时e公司于2005年发布了用于二次开发的

API,

W曲∞i.I刚∞Ⅷ:踟心衄dtlIe伽啪d姗硎ki姗

H瞳ltllGeD-

至今已经发展到第3版。基于G009leM印sAPI,通过Jav鹪c矗pt语言将功能强大的Google地图服务潜入到自己的webGIs中。GoogkM印sAPI是基于NAx的地图应用,所以更新数据无需刷新页面,用

卿Ili啊,加lO,9:An.No.14.

[6]任民。张兴伟,王志德.等.基于G伽出№即AH的烟草种质资源

wehG玲开发研究【J].植物遗传资探学报。20IO,ll(5):522—

526.

责任嗣辑:刘新影

万方数据

一15l一

基于HTML5的WebGIS的研究与应用

作者:作者单位:刊名:英文刊名:年,卷(期):

徐莎, 杨帆, 徐昌庆, XU Sha, YANG Fan, XU Chang-qing上海交通大学电子工程系,上海,200240信息技术

Information Technology2012(4)

本文链接:/Periodical_xxjs201204045.aspx

本文来源:https://www.bwwdw.com/article/n7ae.html

Top