APP下载

基于ArcIMS的地理信息查询系统的设计与实现

2011-09-27杨国飞王兆亮

地理空间信息 2011年2期
关键词:服务器端控件图层

杨国飞,王 燕,王兆亮

(中国矿业大学资源与地球科学学院,江苏徐州 221116)

基于ArcIMS的地理信息查询系统的设计与实现

杨国飞,王 燕,王兆亮

(中国矿业大学资源与地球科学学院,江苏徐州 221116)

基于Internet和Web操作平台的WebGIS是未来一段时期内GIS的一个发展趋势。ArcIMS是目前最常用的WebGIS实现方式之一。介绍了 ArcIMS主要特点和体系结构;阐述了基于ArcIMS平台的地理信息查询系统的设计思路和开发方法;最后完成了地理信息的网络发布,实现了在WebGIS平台下对地理信息的多种形式查询、统一管理和网络共享。

地理信息查询;ArcIMS;WebGIS

在GIS和Web技术的支撑下,对各种地理信息的电子地图数据进行格式转换与整合后,WebGIS可以建立统一的地理空间信息框架和地理信息共享平台,提供对电子地图数据和业务数据的关联查询与服务功能,实现对电子地图数据的统一管理和网络共享,为地理信息的进一步应用奠定基础;研究基于WebGIS的地理信息查询系统是有意义的。ArcIMS(ArcView InternetMap Server)是美国ESRI公司推出的第二代互联网地理信息系统平台,是目前最常用的WebGIS平台实现方式之一[1]。它可以创建基于地理信息的Internet网站并维护,进行基于网络的GIS服务应用软件的开发。

1 ArcIMS的主要特点

ArcIMS是一个分布式系统,主要用于在 Internet上提供GIS服务。它可以很容易地制作地图服务,开发与地图服务进行通讯的Web页面,并且进行站点管理。

ArcIMS的一个显著特点是可以在服务器端和浏览器端之间建立“数据流”。这一功能使得用户可以将本地数据与 Internet上的数据结合起来[2],即在 Internet客户端浏览器中集成本地数据与网络中的数据,从而为用户和数据发布者提供一个更广阔的空间。

ArcIMS的另一个显著特征是支持要素数据流方式,把多个数据源的地理数据结合在一起进行本地化查询和分析。通过要素数据流方式,ArcIMS不仅能够向客户端传输影像数据,而且还可以传输矢量数据。同时它还允许进行一些超出制图的功能,如数据的空间叠加、地理分析等。最重要的是,通过要素数据流方式,不仅可以通过网络访问远程数据,而且还可以使用自己本地机上的数据。

2 ArcIMS的体系结构

ArcIMS有着由许多软硬件组合而成的复杂体系。ESRI按照MVC模型将其划分为3层:表现层(Presentation Tier)、事务逻辑层(Business Logic Tier)、数据存储层(Data Storage Tier)[3](如图1所示)。

图1 ArcIMS体系结构的3层模式

ArcIMS由客户端和服务器端部件组成。客户端从Web服务器向ArcIMS服务器端发出一个地图请求。服务器端负责提供地图服务,用图像或矢量流的方式把根据用户要求处理后生成的地图发送至客户端。当采用图像地图服务时,ArcIMS空间服务器在服务器端对地图做一个快照并发送到客户端。每次客户端有新的请求时,服务器端都产生一幅新的图片。若采用矢量地图服务,ArcIMS会把矢量要素以流的方式发给客户端。矢量要素使得高级功能能够在客户端实现,允许用户在客户端改变地图的表现形式[4]。

3 系统的设计

借助WebGIS技术,基于ArcIMS平台进行B/S结构的地理信息查询系统的设计与开发具有可行性和现实意义。采用ArcSDE9.2和Oracle10g存储和管理地图数据和属性数据;ArcIMS9.2进行地图服务的创建、发布;IIS6.0作为 Web服务器连接到网络并与地图服务器进行通信。选择工具ASP.NET、C#.NET,并结合HTML、JavaScript等语言设计系统界面,开发系统功能。

3.1 软硬件环境

3.1.1 客户端

在客户端,用户连接到网络的计算机上只需有一般的浏览器如InternetExplorer5.0或更高版本、Netscape等,即可登录并使用系统。

3.1.2 服务器端

Web服务器IIS6.0。IIS作为在WindowsNTServer上建立Internet服务器的基本组件,允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。由ASP.NET、HTML和JavaScript等完成系统页面搭建后,IIS将进行网页的发布。

地图服务器 ArcIMS 9.2。它是可伸缩的,通过开放的Internet协议创建和发布地图服务,进行GIS地图、数据和元数据发布。

利用ArcIMS提供的Servlet Connector在服务器端把Web站点的服务器同ArcIMS的应用服务器连接起来后,使用ArcIMS的应用服务。

3.2 数据组织与管理

将 Shape格式的矢量地图,借助空间数据库引擎ArcSDE 9.2,存储于关系数据库Oracle 10g,建立面向对象的空间数据库。通过ArcSDE接口,在关系数据库Oracle10g中管理地图数据,实现关系数据库的扩展。

4 系统的开发与实现

4.1 系统的开发

基于 ArcIMS 9.2平台,使用Visual Studio2005的ASP.NET、C#语言为工具进行WebGIS系统二次开发,流程依次为地图数据的处理和入库;地图服务的创建与发布;采用ArcIMS 9.2控件、Web和HTML控件等并结合HTML和JavaScript脚本语言,进行系统界面设计和功能开发;系统的测试和维护,具体的开发流程如图2所示。

利用ArcIMS 9.2的Author工具对地图数据进行配置。打开Author界面并添加图层后,对每个图层进行相关配置,包括图层名、图层颜色、地图要素的形状、图层的可见与否及其他多种设置;配置完成保存为AXL文件。

图2 系统开发流程图

利用ArcIMS 9.2的Adm inistrator工具发布地图服务。打开Administrator界面并创建新服务(New Services),选择上述配置好的AXL文件,选择虚拟服务器Image Server,对服务进行命名后发布。

构建基于地图服务的ArcIMS的Web站点,利用ASP.NET、HTML和JavaScript进行页面的设计与编辑。新建ASP.NET网站,在界面上配置所需的各种控件,包括ArcIMS控件、Web控件、HTML控件、导航控件及其他类别控件。其中 ArcGIS控件之一的 MapSourceManager控件,将其地图源选择为已发布的服务。做好其他控件与服务的连接以及控件之间的连接工作。

系统功能的开发。设计与配置完成站点的界面后,在Visual Studio2005的代码界面,使用ASP.NET、C#对上述配置好的各控件进行代码的编写与编译,逐步实现GIS地图基本操作功能和查询功能。

4.2 系统的功能实现

用户在浏览器端对地图进行操作(如缩放、漫游、全幅显示等),运行在客户端浏览器的脚本程序对其进行部分处理后,将相关参数传送至网络服务器;网络服务器根据相关参数操作地图对象,在地图服务器端生成用户所请求的矢量地图。地图服务器将矢量地图转化为JPG图像,送至网络服务器,网络服务器再将图像传回客户端浏览器,显示给用户。用户通过点击地图进行信息查询或通过提交表单进行信息查询[5]。

4.2.1 GIS地图基本操作功能

它包括地图的放大、缩小、漫游、全幅显示、刷新功能以及在地图上单击鼠标右键显示上下文菜单,使用常用功能。其他有关GIS地图操作的常用功能如放大镜、鹰眼、比例尺等。

4.2.2“图层可视性管理”控制图层的可见性

“地图提示”对地图中某图层(点图层)的地物具体信息进行表现。当鼠标悬浮在某地物上,出现小提示。单击后,弹出更大窗口显示该地物的具体信息,包括相关图片、链接等内容。

4.2.3 查询功能

1) 简单量算查询。“经纬度查询”可查看地图上的任一地点的经度和纬度。“距离量算”在地图上画多段线,悬浮窗口将显示总长度和最近一次画的线段部分长度。同时可选择要显示的长度单位,如m、km等,距离数值将随之相应变化。“周长和面积量算”测算出用户在地图上任意画多边形的实地周长及其所表示的实地面积大小。同时可选择要显示的长度单位,以及面积单位,数值将随之相应变化。

2)图查属性与定位。在地图上选择一个或多个地图要素后,客户端浏览器弹出悬浮窗口,在窗口中以TOC控件显示要素详细的属性信息。在某个要素名上单击鼠标右键选择“放大到”、“漫游到”、“删除”等上下文菜单命令,完成相应的功能。例如“放大到”是放大并定位到地图要素,并进行高亮显示。

3)专题信息精确查询与定位。根据用户要查询的地图要素名或者要素名称的部分内容,“查找”出所有符合要求的内容,并在悬浮窗口以TOC控件的形式显示要素的详细属性或含有输入内容的所有要素的详细信息。在查出的要素上单击鼠标右键,可选择上下文菜单命令,进行定位、移动到、删除等操作。

4)专题信息模糊查询与定位。根据用户输入的内容且选择相关约束条件,“查找”出用户感兴趣的所有内容,并在悬浮窗口以TOC控件的形式显示所有符合条件的要素的详细属性信息。在查出的要素上单击鼠标右键,可选择上下文菜单命令,进行定位、移动到、删除等操作。

5)属性选择性查询。结合SQL语句进行的选择性条件查询。例如对城镇人口、街道信息进行感兴趣的多条件相结合的选择性查询。

[1] 黄丙湖,闾国年,张亦含,等.基于ArcIMS的环保WebGIS的设计与实现[J].南京师范大学学报:工程技术版,2004,4 (2):59-61

[2] 杨扬.基于ArcIMS的WebGIS设计[J].电脑知识与技术, 2008,3(27):1979-1981

[3] 马林兵,张新长,伍少坤.WebGIS原理与方法教程[M].北京:科学出版社,2006

[4] 颜辉武,吴涛,王方雄.网络地理信息系统[M].北京:测绘出版社,2007

[5] 侯国祥,黄凯辉,李洪斌,等.基于WebGIS的汉江水环境管理信息系统[J].华中科技大学学报:自然科学版,2006,34 (10):67-69

Design and Realization of Query System of Geographic Information Based on Arc IMS

by YANG Guofei

Web GIS,based on the Internet and the Web,is the main trend of the developmentof GIS currently.And one of the most popular platform for realizing it is ArcIMS.We summarized the characteristics and the system structure of the ArcIMS, then described the idea of designing and developing the query system of geographic information by using Arc IMS.At last we made geographic information released online and queried in multiple forms,managed and shared in network by users.

Query of geographic information,Arc IMS,Web GIS (Page:84)

P208

B

1672-4623(2011)02-0084-03

2010-03-04

项目来源:国家自然科学基金资助项目(40901191)。

杨国飞,硕士,研究方向为地学三维认知模型与可视化。

猜你喜欢

服务器端控件图层
Linux环境下基于Socket的数据传输软件设计
关于.net控件数组的探讨
浅析异步通信层的架构在ASP.NET 程序中的应用
巧用混合图层 制作抽象动感森林
基于Qt的安全即时通讯软件服务器端设计
图层法在地理区域图读图中的应用
跟我学添加真实的光照效果
ASP.NET服务器端验证控件的使用
国外建筑CAD图层标准发展现状与研究
网页防篡改中分布式文件同步复制系统