基于WebGIS的电子地图发布系统设计与开发

2016-01-12 03:00周赟黄云
科技创新导报 2015年5期
关键词:电子地图徐州市

周赟 黄云

摘 要:随着城市化进程的不断推进,原有的城市管理模式和社会信息发布媒介已经不能产生与之相对应的社会效益和经济效益。而电子地图提供了一个集大容量、高速度、超便捷和智能化于一身的现代化信息平台。本文基于ArcGIS Server 9.3平台利用组件式开发模式,以徐州市为例设计开发出基于WebGIS的电子地图发布系统。该系统具有地图的基本浏览功能、信息查询、搜索功能,使得用户能够第一时间了解到相关的地图信息,并且解决了浏览电子地图必须基于专业浏览软件以及栅格化电子地图数据量大、浏览速度慢的缺点,采用该文的研究成果,大大增强了地图信息服务的便捷性,为数字化城市的建设提供了帮助。

关键词:WebGIS ArcGIS Server 电子地图 徐州市

中图分类号:TP311 文献标识码:A 文章编号:1674-098X(2015)02(b)-0052-04

1 绪论

1.1 引言

WebGIS是在Internet或Intranet网络环境下的一种兼容存储、处理、分析、显示与应用地理信息的计算机信息系统。Internet技术的迅速发展为GIS提供了一种崭新而又非常有效的地理信息载体,尤其是“数字地球”概念的提出,引起了人们对GIS技术的广泛关注,已经成为新的研究热点。

WebGIS的基本思想就是在互联网上提供地理信息,让用户通过浏览器浏览和获得一个地理信息系统中的数据和功能服务。WebGIS为地理信息和GIS服务通过Internet在更大范围内发挥作用提供了新的平台。WebGIS是一个基于网络,服务器分布式系统,是GIS在广域网环境下的一种应用,最终目标是实现空间信息的网络化。

1.2 本文研究的主要内容

本文在对组件式GIS开发分析理解的基础上,根据对WebGIS电子地图发布系统建设的需求分析,并结合现有条件,选择在Visual Studio 2005开发环境下,利用.NET技术以及C#语言,以ArcGIS Server 9.3为开发平台,对WebGIS电子地图发布系统进行开发定制,主要研究内容如下:

(1)分析了当前国内外地理信息系统以及网络地理信息系统(WebGIS)的研究以及应用现状,提出了基于WebGIS的电子地图发布系统的开发方案;

(2)对GIS概念、特征、发展趋势进行论述;

(3)对WebGIS概念、特点、体系结构进行归纳分析,在此基础上选择采用B/S结构对系统进行设计开发;

(4)采用 B/S结构对系统进行总体设计,包括系统分析、系统设计、数据库设计等方面。

本系统具体应实现以下主要功能:

基本的地图缩放功能:地图的放大、缩小、漫游等基本操作,地图的图层信息显示以及图示显示,可选择放大比例的窗口缩放,鹰眼功能;

地图的距离量算以及面积量算;

地图属性以及字段的信息查询功能,并且能够在地图上标记出查询的内容,查询结果区域显示并存储所有查询结果;

高亮显示,将选取到结果框中的地物高亮显示,即鼠标移动至图块上时显示高亮以突出结果。

2 基于WebGIS的电子地图发布系统设计

2.1 系统分析

系统需求分析是在对用户进行深入细致的调查基础上进行的,它是应用型地理信息系统设计的基础,是通过与系统潜在用户进行书面和口头交流,将收集到的信息以及需求根据系统软件设计的要求归纳整理后,得到对系统概略描述和可行性分析的论证文件,系统分析流程如下图1所示。通过一段时间的资料采集以及用户调查,不难发现以下几点需要着重考虑的地方:

(1)传统的栅格化电子地图的方式虽然也能够显示相关的地物信息,但是无法满足高精度地图需求用户的应用要求,这时候就必须使用矢量形态的地图来代替,并且数据量比栅格地图要小;

(2)与传统的地理信息系统相比,WebGIS应用不需要在客户端安装任何软件,只需要在服务器上配置好地图服务后发布,客户端通过网络浏览器直接访问,易用性高;

(3)系统需要提供空间信息与非空间信息相结合的数据分析功能,为学校决策层提供辅助,例如,查看不同类型土地分布状况,绿化情况等;

(4)随着科技和社会的发展,数字化城市的发展趋势使得加快城市的信息化步伐,提高工作效率,强化信息管理,建立基于WebGIS的城市电子地图发布系统势在必行。

2.2 系统设计

2.2.1 系统设计原则

(1)简单性:界面设计应遵循一个统一的标准,具有整体感,灵活清晰;(2)交互性:空间信息与属性信息在必要时显示出来,和程序有机的结合起来;(3)标准性:数据格式的标准性,引用规范的标准性;(4)可靠性:空间数据、属性数据要求可靠与准确;(5)扩展性:系统设计采用模块化结构设计,为系统升级、功能扩充、数据库更新升级做准备。

2.2.2 系统功能设计

基于WebGIS的电子地图发布系统设计的主要目标是结合Internet的广泛应用,将传统的地理信息系统与Web服务相结合,面向广大的Internet用户以及相关职能决策部门开发设计的系统。系统功能设计图如图2所示:

(1)用户管理:包括新用户的注册,用户登陆,用户密码修改,用户密码找回等功能;

(2)图层信息显示:分层显示地图上各类地物,如水体、山丘、林地、耕地、建筑用地等等,并且在相应的图层编号边显示出本层的图示;

(3)地图浏览:包括地图的基本缩放功能、漫游功能和全景功能,并且支持撤销操作(即返回上一次操作时的缩放比例以及位置)以及鹰眼功能;

(4)属性查询:当鼠标点选地物时,所选地物的所有字段以及属性显示在地图上并且可以伸缩显示窗口达到隐藏的目的,并且查询的结果可以添加到查询结果中,以备后用;

(5)距离面积量算:可以在地图上对两点间进行距离量算,对地物进行多边形面积量算;

(6)结果显示:在结果面板中可以对多个搜索结果进行比较并且结果地物高亮显示。

2.2.3 数据库设计

(1)空间数据库设计。

空间数据是指以不同来源和方式的遥感与非遥感手段获取的数据,包括地图、各种专题图、图像、统计数据等能够确定空间位置的数据。要建立电子地图,先建立空间数据库。

根据徐州市区地物的特点,按数据分层组织方法和系统信息输出利用的需要,对地图上不同地理要素进行分层,对每一种地理要素建立一个数据集,并对各数据集的表结构进行设定,配置属性表,建立GIS空间数据库,具体如表1。

(2)属性数据库设计。

属性数据是与地物相关的属性信息,通过在关系数据库建立相应的字段来存储文件路径,而实际数据以文件的方式来存储和管理,程序运行时通过在相关模块进行调用来获取电子地图数据,通过这种方式实现地图数据和GIS的集成。属性数据与空间数据没有直接联系,但却是查询分析的必备数据。具体设计如表2。

2.3 开发环境以及平台的选择

2.3.1 开发环境的选择

根据本设计的需要,本设计选择了Visual Studio 2005开发环境,Visual Studio.NET 是一套完整的开发工具,用于生成ASP Web应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic.NET、Visual C++.NET、Visual C#.NET和Visual J#.NET 全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework的功能,此框架提供对简化ASP Web应用程序和XML Web services 开发的关键技术的访问,与所安装的ArcGIS Server 9.3 For .NET配套使用进行开发。

2.3.2 组件式GIS(COMGIS)

WebGIS的基本思想是在互联网上提供地理信息,让用户通过浏览器浏览和获得一个地理信息系统中的数据和功能服务。

组件式GIS是指基于组件对象平台,以组件的形式提供基本功能,与组件技术结合的新一代地理信息系统[1]。它是根据组件提供的接口与专业应用系统集成的系统,或者在GIS组件系统平台上按照某种协议嵌入专业应用软件进行二次开发而成的系统。

根据基于WebGIS的电子地图发布系统建设的需求分析,并结合现有条件,本系统采用ESRI(美国环境系统研究所)公司的ArcGIS Server 9.3作为WebGIS开发平台,它是一个功能强大的网络地理信息发布系统的开发平台,可以全面满足网络GIS的应用需要,快速建立基于地图的Internet或Intranet的地理信息服务网站。

2.3.3 ArcGIS Server 9.3简介

ArcGIS Server是一个基于Web的企业级GIS解决方案,为创建和管理基于服务器的GIS应用提供了一个高效的框架平台。它充分利用了ArcGIS的核心组件库ArcObject,并且基于工业标准提供WebGIS服务。ArcGIS Server将两项功能强大的技术——GIS和网络技术(Web)结合在一起,GIS擅长与空间相关的分析和处理,网络技术则提供全球互联,促进信息共享。这两项技术协同工作,相得益彰。

2.3.4 ArcGIS Server 9.3体系结构

ArcGIS Server是一个分布式系统,由分布在多台机器上各个角色协同工作。ArcGIS Server搭建的WebGIS解决方案支持多种类型的客户端,包括:ArcGIS Desktop、ArcGIS Engine Application、Web Browser。

GIS server:运行SOC和SOM的机器。SOM即Server Object Manager:Server Object管理器,负责管理调度Server Object,而具体Server Object的运行是在ArcSOC.EXE进程中。SOC即Server Object Container(容器)。SOM和SOC可以运行在同一台机器上,也可以是SOM独占一台机器,管理一个或多个运行SOC的机器。采用分布式部署,可以大幅提高GIS server的整体性能,扩展能力强。

Web server:运行web应用程序或web service的机器。这里的web应用程序或web service通过访问GIS server并调用GIS server的对象来实现GIS功能,然后把结果返回给客户端

Web browsers:诸如IE,Firefox等Web浏览器软件。

桌面应用程序:可以是ArcGIS Desktop和ArcGIS Engine应用。通过Http协议访问在Web server 上发布的ArcGIS网络服务,或者通过Lan/QWan直接连接到GIS Servers。一般通过ArcCatalog应用程序来管理ArcGIS Servver[2]。(具体结构如图3)

3 基于WebGIS的电子地图发布系统开发

3.1 开发前的准备工作

3.1.1 Web开发背景知识的学习

由于网络地图服务是Internet 技术与GIS 技术相结合的产物,因此进行这方面的开发工作不仅需要GIS开发的专业知识,还需要开发者了解并熟悉Web开发的过程以及相关内容:(1) 组件化编程概念;(2) HTML,ASP编辑基础;(3) HTTP协议基础;(4) Visual C#.NET语言基础;(5) .NET和Web应用程序开发基础;(6) ArcGIS应用基础知识;(7) 地图编辑与操作基础知识;(8) ArcGIS Server结构、程序接口与开发方法。

3.1.2 地图数据的准备工作

ArcGIS Server 9.3可以支持多种服务类型,用户通过ArcGIS Server 9.3发布的这些服务可以享用GIS功能,在开发本系统时应用的是Map Service服务也是ArcGIS Server中使用最多的一种服务。该服务可以支持发布二维地图,支持建模,支持OGC WMS和KML,支持在线编辑空间数据等。发布地图之前,先将地图用ArcMap数字化并录入相关属性,并且保存为*.mxd的地图文档格式。将保存地图的文件夹存在C盘根目录下。在此例中由于使用的是徐州的面状图作为地图,所以将地图文档取名xz.mxd保存。

3.1.3 系统开发流程

在地图数据的准备工作做好以后,就可以开始系统的开发设计了,需要对相关数据信息进行收集、录入以及集成,并且要对程序的结构,程序的代码编写和界面进行设计,与此同时还要对数据库系统进行建立和调试,最后将这些综合集成起来,对系统总体进行运行与调试,系统开发总体流程图如图4。

当所有的准备工作做好以后,就进入了实际开发阶段,按照顺序有以下几个步骤:

(1)服务器的安装与配置;(2)启动地图服务器;(3)配置开发环境;(4)新建站点工程;(5)界面设计与功能设计;(6)系统功能的开发;(7)调试运行;(8)发布站点;(9)系统部署与检验。

3.2 系统开发

3.2.1 配置开发环境

(1)操作系统版本:Windows XP SP3;(2)IIS版本:IIS5.1;(3)集成开发软件:Microsoft Visual Studio 2005;(4)开发平台:ArcGIS Server9.3;(5)网页浏览器:Chrome(由于Internet Explorer在JavaScript解译方面速度比较慢,为了流畅的运行系统,选用Google Chrome来代替IE8)。

3.2.2 配置地图服务器

在安装完相关软件以及开发环境以后,就可以开始对地图服务器进行配置了。ArcGIS Server 9.3以远程管理的方式管理和配置服务器,这种方式可以同时满足本地管理和远程管理的需要。ArcGIS Server 9.3安装过程中创建的ArcGIS Manager (http://localhost/ArcGIS/Manager)站点(如图5)就是远程管理站点名称,通过这个管理站点可以对服务器主机操作系统的所有Services 进行监控和停止、启动操作,对进程实行监控和管理,对ArcGIS Server服务以及参数配置进行全面的管理。

为了后续的系统开发,需要把已经数字化好的发布到地图服务器上以在程序中调用地图服务功能,所以在ArcGIS Server Manager中将地图发布到地图服务器上,在电子地图发布系统开发中,使用徐州地区的地图作为示范地图,发布一个地图服务,取名为XZ,如图6。

3.2.3 WebGIS站点开发

ArcGIS Server 9.3为用户建立WebGIS站点提供了多种不同的开发方式,也为开发者提供了许多的Web控件,允许用户在自己建立的网站上对空间进行拖拽,可视化地建立网站,开发和调试过程简单,可以轻松的完成网站的部署工作[3]。在开发本系统的过程中,先用Visual Studio 2005新建一个网站,位置和编程语言如图7所示,新建网站后,在页面上添加相应的WebControl控件。在开发系统发过程中调用相关的控件、类库的属性、方法和事件来实现相关功能。值得注意的是,网站发布的位置是直接发布到Localhost中去,而不是存在其他目录下,这样的好处是网站建立后可以直接使用浏览器进行浏览而不必每次都使用Visual Studio 2005自带的调试器进行网站的生成。

3.3 系统功能的实现

3.3.1 用户管理功能

当用户打开网站的时候默认页面就是登陆界面(如图8、图9),输入能够访问页面的登录名和密码或者是存在于计算机argsadmin组中的用户名和密码的时候才能够登录转到地图应用界面。

3.3.2 地图基本浏览功能

主要是地图浏览的基本功能,包括以下几种:

缩放工具:包括放大、缩小、自由缩放、鼠标滚轮缩放、全幅显示地图等,可以显示地图不同详细程度的信息。

定位工具:包括前后视图、漫游、鹰眼功能。

地图图例及图层控制功能:在左侧的面板中显示出所有地图中的图层和地类代码以及对应图例;

3.3.3 属性查询功能

当用户需要点选当前页面上的某个地物的时候,可以用属性查询功能点选某个地物,地物将会在地图上用高亮显示出来并且在地图窗口中用Maptips的形式显示出该地物的全部属性以及属性值。

3.3.4 地物量算功能

当用户需要取得点的坐标时,比如某一个公园或者住宅小区大门的坐标;两点间的距离时,比如两个目的地之间的道路长度的总和;以及多边形面积,比如某个厂房或者厂区的面积的时候,可以用到地物量算的功能。

4 结论

该文对基于WebGIS 的电子地图发布系统总体设计进行了详尽的论述,包括系统分析、系统设计和空间数据库设计,并在Visual Stiudio 2005集成开发环境下,采用.NET技术下的Visual C#开发语言,以ArcGIS Server 9.3为开发平台,构建了基于WebGIS的电子地图发布系统,解决了传统电子地图发布系统由于使用栅格地图发布时数据量大,细节要求达不到标准的问题。系统充分利用了GIS技术和Internet的优势,将空间信息和属性信息有机结合,使访问者除了能够进行地图缩放、图层显示、鹰眼视图等基本地图操作以外,还能够方便的对地图信息进行网上访问、查询分析和简单的空间分析。

参考文献

[1] 刘南,刘仁义,基于COM的分布式WebGIS架构及实现方法[J].中国图像图形学报,2004(1):101-106,131.

[2] ESRI中国(北京)培训中心.ArcGIS轻松入门教程——ArcGIS Server.2008.

[3] 周峰,李德路.Visual C#.NET 2005中文版基础与实践教程[M].北京:电子工业出版社,2007.

猜你喜欢
电子地图徐州市
徐州市深入开展“拆牌、破网、清通道”专项行动
徐州市超前研判 做好春节安全防范
基于灵活编组的互联互通车载电子地图设计及动态加载
基于Mapserver的增强现实电子地图的设计与实现
徐州市工程咨询中心
电子地图在初中地理教学中的应用实践
徐州市
电子地图多尺度显示模型研究