校园WebGIS开发与实践
[摘要]:网络地理信息系统(WebGIS)是当前GIS技术热点,本文以“校园通”为例,探讨WebGIS技术在校园基础信息、部门分布、人员管理和课程信息等多方面的应用,为用户提供空间数据浏览、查询等功能,研究以地图服务器和Web服务器的建立为基础,其中以校园WebGIS数据库的建立为重点,包括各种数据的采集、分类、编码和录入等,最终建成校园WebGIS——“校园通”,并根据开发过程以及WebGIS的发展方向,对校园WebGIS的应用作前景分析。
[关键词]:WebGIS 校园通 Supermap IS 数据库 地图
目录
引言
1 WebGIS概述
1.1 WebGIS的定义
1.2 WebGIS的特点
1.3 WebGIS的平台软件
1.4 WebGIS的主要构造方法
2 设计思路
2.1 系统功能分析
2.2 内容结构体系
2.3 研究方法和技术路线
2.4 技术路线流程图
3 地图数据
3.1 校园数据的采集
3.2 空间信息数据库设计
4 数据库设计
5 系统功能实现部分的几个关键技术
5.1 数据库查询的实现
5.2 目标定位功能的实现
5.3 空间数据与属性数据的关联
6 “校园通”系统操作指南
6.1 地图窗口部分的操作
6.2 系统主窗口部分的操作
7 校园WebGIS开发总结
7.1 学术意义和应用前景
7.2 特色或创新之处
参考文献
附图:部分功能的实现
附录:“校园通”系统的安装方法
2 设计思路
2.1 系统功能分析
“校园通”把校园内的图形、属性结合在一起,在可视环境下解决与校园空间信息有关的信息查询、信息发布、空间规划、信息管理等实际问题,从而便于全校师生以及家长查询、检索所需信息,更为各级领导对校园进行可视化的管理、分析与决策带来了极大的方便。
“校园通”实现的主要功能如下:
(1)各种图形数据查询。为用户提供校园内的空间信息查询,主要为各建筑物、各办公室和各部门等信息查询。
(2)各种属性数据查询。直接在数据库中检索、查询所需的属性信息,如教师信息、学生信息、课程信息等。(3)各种图形数据显示与输出:地图显示、下载、打印等。
(4)图纸浏览。对各建筑物各楼层的图纸进行浏览。
(5)问题反馈。收集各用户在使用“校园通”过程中的意见或建议。
6)地图接口。简短的一段代码即可为各部门提供位置定位服务。在各部门的网站上可以通过我们提供的一段代码,以超连接的形式连接到我们的服务器,并可以通过该超连接定位、查询该部门以及显示部门相关信息。(7)后台数据库管理。该功能只提供给管理员用户使用。通过后台的简单操作即可实现数据的输入、更新、删除等操作。
2.3 研究方法和技术路线
通过对WebGIS平台软件和主要构造方法的比较,并针对自己编程能力、开发时间等实际情况,最终,笔者选用Supermap IS 2003作为WebGIS Server,Microsoft IIS作为Web服务平台,Microsoft SQL Server 2000作为空间信息和属性信息数据库,Server API构造方法中的ASP语言,并结合Javascript、XML等语言进行系统开发。
5 系统功能实现部分的几个关键技术
5.1数据库查询的实现
在数据库查询部分,由于ASP语言是在服务端执行,而Javascript语言是在客户端执行的,两者在执行方式上完全不同,故两者间不能实现交互。在空间信息和属性信息查询部分使用ASP语言查询,而在地图界面部分的模糊查询功能使用XML进行交互查询。在MS SQL Server 2000中引入了支持 XML 功能的新特性。MS SQL Server中提供了四种查询类型:(1)允许URL查询(2)允许模板查询(3)允许XPath(4)允许Post。笔者采用了URL查询类型。该语句格式如下:http://IISServer/data?sql=select * from info where searchkey like '%25" + mystrsearchtext + "%25' FOR XML AUTO&root=root"
由于空间数据和属性数据是分离的,最终我们是需要把它们关联起来的,让空间数据获得属性信息。如何实现这一功能呢?利用MS SQL Server中的视图功能便可实现。Info表中的smid字段即是为实现空间数据与属性数据关联而特别设置的字段。新建视图并在SQL窗格里输入如下语句:SELECT dbo.build.*, dbo.info.popname AS name FROM dbo.build INNER JOIN dbo.info ON dbo.build.SmID = dbo.info.smid WHERE (dbo.info.type = 0)然后保存视图为map0view,同时,打开SmRegister表,将字段SmTableName中的build值改为map0view,这样两表完成了关联,并且空间数据获得了属性信息。使用同样的方法将Px空间信息表和Info属性信息表关联,语句如下:SELECT dbo.Px.*, dbo.info.popname AS name FROM dbo.info INNER JOIN dbo.Px ON dbo.info.smid = dbo.Px.SmID WHERE (dbo.info.mapid = x)最后保存为mapxview。(说明:以上x取值为01至21) 其中“IISServer”为IIS服务地址,“data”为对笔者自建的SQL Server的IIS虚拟目录,“sql=”后的为查询语句,本语句中是查询info表中searchkey字段类似于mystrsearchtext(该为笔者定义变量,值从上部表单处获得)的纪录。
通过该语句,将查询到的结果生成为XML文档,然后通过自定义的GetNameValue
(strName)
函数返回xml文档中节点名为strName的节点的text值。不利用ASP语言同样可以完成数据库的查询操作。
5.2
目标定位功能的实现
在系统中,定位函数仅有一个,即MapSeek(strLayer,strID,strMode,objStyle,dScale)函数,该函数中,strLayer 为目标图层,strID为目标空间对象的SMID,bjStyle为高亮显示对象的风格,dScale为定位比例尺(为0时保持原来的比例尺不变,即该参数在0值时不起作用)。该函数缺点为只能实现在指定的窗口定位,但是由于在系统主体部分的空间信息查询是只进行查询但暂不做定位,待查询结果列举出来后再进行定位,于是MapSeek无法直接判断指定窗口或者地图是否更换,也就不能直接实现定位功能,于是笔者自定义了一个Position(Map,Layer,Smid,mapscale)函数,其中Map为地图名称,Layer为图层名称,Smid为目标空间对象的SMID,mapscale为定位比例尺,该函数首先判断指定窗口和地图是否更换,如果找到指定窗口并且地图没有更换,则直接利用MapSeek函数对目标进行定位,如果没有打开新窗口或者地图已经更换,则通过“xznu.htm?MAP=" + Map + "&LAYER=" + Layer + "&SMID=" + Smid + "&mapscale=" + mapscale”该超连接来打开新窗口实现定位,也就是通过该超连接将Map,Layer,Smid,mapscale这几个参数传递到新窗口页面xznu.htm中,在新窗口打开并显示地图的时候判断是否有参数传递,有则先显示地图后用 MapSeek函数对目标进行定位,没有则直接显示地图。其实,系统中地图接口子系统部分也是通过调用Position函数来实现目标定位的。
5.3
空间数据与属性数据的关联
7.2特色或创新之处
(1)简单的Web操作,方便非专业人员的信息查询使用;
(2)使用专业的WebGIS Server,将数据库与用户界面分离,可移植性强,降低了二次开发费用低。
(3)将Web技术和GIS技术同时运用到校园建设管理中,有效提高管理水平与效率;(4)
开放的地图接口程序,为各部门提供了非常形象的“地图名片”服务;
(5)
“校园通——校园信息化快速通道”,作为校园信息化建设的一部分有效地推动了数字校园建设的进度。
PDF文档下载地址:http://www.cnblogs.com/Files/Tangf/Campus_WebGIS.rar
![](https://i-blog.csdnimg.cn/blog_migrate/a0f83ef20ed908619f98570a97110e0b.jpeg)