基于ArcIMS和ASP的WebGIS开发技术
2010-01-15余聂芳
余聂芳
(怀化学院计算机系, 湖南怀化 418008)
Web技术的飞速发展将地理信息系统带入一个崭新的发展阶段.GIS技术与Web技术的结合,推动了地理信息以更快的步伐部门化、产业化和大众化,进而也催生了 GIS领域的一个重要发展方向——WebGIS.WebGIS是GIS走向社会化和大众化的有效途径,也是GIS发展的必由之路,WebGIS不但具有传统GIS软件所具有的功能,而且还具有利用Internet优势的特有功能.空间信息服务,已经实实在在地朝着我们的生产、生活的各个方面款款走来.当众多的空间信息服务可以被提供出来,并在基于服务的聚合技术支持之下不断熔合、重组和派生时,我们发现,在打造数字地球、数字城市、数字区域和数字领域等等的过程中,实际上是在构建一个空间信息服务的生态环境.将WebGIS技术引入到日常工作中,是城市信息化建设道路上的有益探索和尝试.开展基于网络的GIS研究,实现不同地理位置的数据信息的统一管理和资源共享已经成为今后GIS发展的主要研究方向.国内外各大GIS厂商推出了大量WebGIS开发工具,ESRI公司的ArcIMS是这些产品中使用较为广泛的一个.
1 ArcIMS介绍
1.1 ArcIMS(Internet Map Server)通过 Internet为用户提供了一种通过网络获取动态地图、GIS数据以及各种服务的途径.它为适应企业网络需求以及访问国际网络而建立的GIS网页发布提供了高效的分层框架结构.ArcIMS服务可被应用于多种客户端中,如自定义网页应用、ArcGIS桌面系统以及移动和无线设备.通过应用ArcIMS,城市和地方政府、商业机构以及其他组织均可以发布,发掘以及共享地理空间信息.
ArcIMS具备成熟的客户/服务器体系构架,允许对各层进行直接定制.例如,客户端用户通过定制HTML,JavaScript或调用开放的对象模型,可以建立特定的Internet应用程序.而在服务器端,ArcIMS提供了投影和要素专题化等功能.中间件可以使用ASP和ColdFusion技术进行定制,从而扩展自己的网站.
利用ArcIMS可以实现:通过网络获取动态地图和数据;创建简单易行、面向地图内容的应用程序;应用行业化标准网页开发环境创建自定义应用程序;与其他用户共享数据等功能.
1.2 GIS网页发布功能
ArcIMS为进行网络GIS数据和服务交流建立了一个通用平台.它不仅仅是一个网络制图方法,也是一个用于在互联网上实现分布式GIS功能的框架.作为一个网页发布技术,ArcIMS的特色在于支持多种ESRI客户端.ArcIMS是为GIS网页发布而设计的.ArcIMS提供了多种网页发布功能,如影像描述、矢量数据流、数据查询、数据提取与下载、地理编码以及元数据目录服务等.
影像渲染—影像描述为当前交互式地图创建一个快照.例如,当用户进行交互式地图漫游和缩放或打开和关闭图层等操作时,ArcIMS地图服务器对每一视图进行描述并将其作为影像传输至ArcIMS客户端.ArcIMS也支持影像流.
矢量数据流—矢量数据流包括客户端流矢量特征,它可以完成一系列的客户端任务;矢量标记;MapTip创建;空间选择等.矢量数据流对于高级ArcIMS客户端来讲是十分重要的,包括 ArcExplorer—Java版、ArcGIS桌面系统和ArcIMS—Java视图.来自ArcIMS网站的Streamed features可与其他多种特征进行集成,如本地数据,并同时用于分析中.
数据查询—用户可通过查询获取特定信息.客户端向服务器递交查询,服务器将查询结果返回客户端.
数据提取—用户可向服务器请求获取地图数据集.服务器通过向客户端发送选定格式 (如shapefile)的zipped数据文件对数据请求做出响应.
地理编码—该功能允许用户向服务器递交地址并接收来自ArcIMS地理编码服务的位置信息.根据用户输入的地址信息,服务器返回一个与地址相匹配的位置信息或一组候选信息.
元数据—ArcIMS可发布创建于ArcGIS桌面系统并存储于ArcSDE中的元数据信息.这些元数据服务为用户提供了元数据目录搜索和地图视图察看等功能.
2 利用ArcIMS和ASP开发WebGIS
ArcIMS运行于一个包含客户端和服务器端组件的分布式环境中.首先客户端通过互联网或企业内部网向服务器端发送请求,然后服务器端处理请求并将结果返回至客户端的视图中.
ArcIMS应用开发实际上是指基于ArcIMS Connector进行WebGIS应用程序 (Web网页),在B/S模式环境下实现部分GIS功能的一个过程.ArcIMS通过以下两个应用程序实现地图定义文件的生成、地图服务管理:
(1)ArcIMS Author——建立地图配置文件 (AX L),定义数据
(2)ArcIMS Administrator——建立 ArcIMS Service,定义地图服务
ArcIMS Author类似ArcMAP软件可定义需要发布的地图由哪些图层组成、进行图层的符号设定、渲染、生成校注等.在此我们使用Author,再使用服务端组件-ActiveX Connector开发 (ArcIMS ActiveX连接器提供了包括Map、ArcIMSConnector在内的一系列的服务端组件),基于服务端脚本语言 (VBScript、JavaScript等)和面向对象的编程思想,可开发基于ASP技术的WebGIS应用.
将ASP技术引入到HTML模式下的ArcIMS开发中,使得网页更灵活.ASP(Active Server Pages)是微软公司推出的一种用来取代CGI(Common Gateway Interface)的技术,位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的、交互式的Web应用程序,台交互式的动态网页,包括使用HTML表单收集和处理信息、上传与下载文件等.有了ASP,就不必担心客户端浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序.当程序执行完毕后,服务器便将执行的结果返回客户端浏览器,这样就减轻了客户端浏览器的负担,大大提高了信息交互的速度.在进行ASP开发时,通常使用的脚本语言有两种,一种是VBScript,另一种是JavaScript,本文选用VBScript脚本语言.
2.1 地图服务设置
在进行系统开发前,先要创建地图服务.用户可以通过ArcIMS Author创建地图配置文件 (Map Configuration File),也可以通过XML Editor来编辑,使用XML Editor进行编辑的灵活性较大,也可以使用ArcMap来创建.mxd格式的地图配置文件,然后将地图配置文件通过ArcIMS的Administrator创建为相应的服务.(如:用ArcMap模块制作地图,把矢量空间数据库中的空间图层数据加载,同时可以设置各个图层的相关属性,如显示的符号样式、大小、颜色等,自定义地图文件的名称,然后将制作好的.mxd文件利用ArcIMS的Administrator工具制作成 ImageServer—ArcMap类型的地图服务,最后利用ArcIMS的designer工具设计一个HTML Viewer站点.)
2.2 属性数据的连接
与属性数据的连接即得到属性数据库中的数据,系统所有与属性数据有关的功能,如查询显示数据、增加删除修改数据等操作都必须先实现这一步.在ASP中,通过ADO访问数据库是最简便和最快捷的方式,ADO是一个ASP内置的ActiveX服务器组件.(如:建立一个连接对象conn,set conn=server.createobject(“aims.ArcIMSConnector”).建立连接是存取Web数据库的开始;调用conn.open方法打开数据库.编写从ODBC数据源中查询数据的SQL语句.)
2.3 空间数据的连接
通过ArcIMS服务提供的ActiveX控件的属性、方法实现与空间数据库的连接,得到地图对象mapimage,通过地图对象mapimage的方法、属性等就可以实现地图图层的缩放、漫游、查询等一系列GIS图形操作.
2.4 使用记事本编写程序存为ZoomIn.asp,实现放大地图的功能.程序如下:
编辑完成后上传到Web服务器的Website拟路径下,就能在相应网页中进行地图放大的操作.
3 发展前景
有了Internet,人们就可以在地球的任何角落方便经济快速地获取和传输地理数据.为了向大规模网站提供强大的技术支持,ArcIMS是融合了ESRI公司总结多年经验后所开发出的网络.ArcIMS对于创建GIS网络的每一部分均十分重要.ArcIMS包括应用元数据目录创建GIS接口的工具,例如,搜索、发掘、数据和元数据获取、地名词典功能以及网络制图应用.由于是为在网络中提供GIS服务而专门创建的,ArcIMS的设计使得它易于创建地图服务、利用地图服务开发网页以及管理网站.ArcIMS在Internet上发布地理数据,正如用户可以从其它网站上获取数据一样.由于地理数据在Internet上具有很大的自由度和移动性,从而最终能够在许多领域解决许多实际问题,如城市管理、商贸管理、社会和环境规划、工业布局等,使得WebGIS开发更轻松.
[1]谢建华,陶 红,李培铮.开发WebGIS的一种新技术——ArcIMS技术 [J].遥感信息,2002,(4):57-60.
[2]李秀梅,陶 陶.基于ArcIMS地图服务的WebGIS研究——以南京市路灯管理信息系统为例 [J].计算机工程与应用,2005,(12):209-212.
[3]张衡.基于ArcIMS的WebGIS构建与应用实践 [D].解放军信息工程大学生,2006.
[4]杨世锡,赵辉.ASP+SQL SERVER动态网站开发从基础到实践 [M].北京:电子工业出版社,2005.