基于开源软件的数字校园网上发布系统建设_第1页
基于开源软件的数字校园网上发布系统建设_第2页
基于开源软件的数字校园网上发布系统建设_第3页
基于开源软件的数字校园网上发布系统建设_第4页
基于开源软件的数字校园网上发布系统建设_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 页 共 12页基于开源软件的数字校园网上发布系统建设1 引言 近年来,随着地理信息技术的日渐成熟,地理信息技术的应用也日渐增多,他们给社会带来的良好的经济效益。电子地图作为其中应用比较广泛的一种,例如百度地图、谷歌地球,它极大的方便的人们的日常生活。目前,电子地图很大程度上是基于国内外主流的商业WebGIS平台搭建而成。商业WebGIS平台的系统开发简单,开发人员不用耗费大量的时间在GIS的应用功能上。但是这些平台系统架构复杂,是完全封装的平台软件1,对硬件的要求过高,对地理数据的支持上也有很大的差异。垄断和高额的费用在很大的程度上阻碍了GIS的普及和推广。20世纪90年代,开源思想的盛行

2、,也给GIS行业带来了极大的影响。国内外大量的GIS开发人员和科研院所都致力于开源GIS软件的开发,并且取得了不小的成果。开源GIS的优势不仅仅在于它的免费,而且是其技术的开放可扩展。相对于商业WebGIS平台,使用开源GIS有着较低的采购成本,和良好的可扩展性。在本文中,我们将使用开源GIS来搭建一个校园信息发布系统。2 研究目的与意义 本文研究的主要目标是利用开源WebGIS技术,开发出能够在Web上进行发布校园电子地图,为用户提供空间数据浏览、查询和分析服务的校园信息服务和发布系统。通过本次研究和开源WebGIS理论知识的学习,能够对WebGIS技术及发展趋势有更深的了解。研究如何搭建开

3、源WebGIS应用系统,同时可以深刻的了解开源GIS在Web中的优缺点,对商用WebGIS和开源WebGIS的优缺点进行比较。 校园电子地图,是对现实校园的一个虚拟和缩影。它能够为广大师生、管理人员和校外人员提供校园的各种信息,方便人们更好的了解学校。同时校园电子地图是基于GIS技术建立的,可以充分使用GIS的分析功能,为校园的科学管理和规划提供科学的依据。此外,由于开源软件的完全免费,而且稳定性和安全性也非常可靠,因此在实际应用中能够为企业节省大量的经费,具有一定的实际价值。3 研究现状目前的开源GIS包含了很多层次的产品1,有大型的桌面GIS,也有很多的WebGIS产品。开源GIS按照开发

4、语言,主要有c和c+、Java、.Net、python、javascript等。其中,以c+、.Net、java居多。C+语言开源GIS软件包括MapServer,GRASS,GDAL,QGIS,Proj4,GEOS,SAGA,PostGIS等。.Net语言开源GIS软件有NTS,MapWindow,SharpMap,NASA WORLD WIND等;Java语言开源GIS软件有UDIG,GeoServer,GeoTools,JTS,Kosmo,JUMP/JCS,OpenMap等。GRASS是一个大型开源GIS系统,其功能包括空间数据管理和分析、图像处理、地图制作、空间建模等等。GRASS在学

5、术和商业领域中得到了广泛的使用。 Sharpmap是一个基于.Net2.0使用c#开发的Map渲染类库3,可以渲染各种GIS数据,可应用在桌面和Web程序中。在sharpmap内部设计了基于OGC标准的几何模型构架,设计了IProvider策略模式的多源矢量地图数据适配器接口。SharpMap为我们提供了GIS系统最基本的功能集合,如地图可视化、空间查询等功能,因此我们可以利用Sharpmap提供的功能为我们在.Net平台上实现地图可视化提供支持,而不需要借助一些商业组件。NetTopologySuite是著名的JTS Topology Suite的C#/.net版本,简称NTS,JTSTop

6、ology Suite为一个OpenGIS标准的GIS分析、操作类库。项目的目的是提供一个基于.Net,快速、稳定的解决方案,以应用于所有.Net平台,包括各类嵌入式设备。PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的自由软件数据库系统。它起源于伯克利(BSD)的数据库研究计划,目前是最重要的开源数据库产品开发项目之一, 有着非常广泛的用户。PostGIS在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力,相当于Oracle的spatial部分。PostGIS最大的特点是符合并且实现了OpenGIS的一些规范,

7、是最著名的开源GIS数据库。GeoServer是基于Java和GeoTools库开发的。它是一个遵循OGC开放标准的基于JAVA的开源GIS服务器。它的功能较为的齐全,可以比较方便的发布地图数据,允许用户对数据进行更行、删除、插入操作。而开源项目GDAL则是一个c+开源GIS中间件类库。它提供了类型丰富的读写文件,对不同数据格式的矢量数据和栅格数据的支持十分强大,开源GIS经过20多年的发展,已经形成了一系列成熟的产品2,完全可以基于开源GIS开发出成熟的应用系统,而且毫不逊色于那些昂贵的商业GIS软件。关于校园电子地图的研究现状,钦州学院的张强利用PostGIS、GeoServer、Open

8、Layer搭建了一个网上地图发布系统,为校园电子地图的发布提供了一些借鉴。南华大学的阳华发表的基于Geoserver的校园WebGIS实现,以南华大学数字化校园地理信息系统建设为研究实例,设计了南华大学校园WebGIS互操作平台,并予以实现。通过WebGIS虚拟校园为学校教研教学、教学工作、日常管理和生活服务提供更为便捷的展现平台8。4 研究内容4.1 WebGIS的体系结构WebGIS是基于Web平台的GIS,WebGIS除了具有传统GIS的基本功能之外,他的访问限制更为宽松,并且实现了空间信息的共享。借助WebGIS,互联网用户可以通过自己的浏览器访问空间数据,还可以对各种空间数据进行空间

9、查询和分析。目前WebGIS主要采用的是B/S结构模式。B/S结构WebGIS的体系结构采用Web浏览器/服务器(Browser/Server,简称B/S)模式,B/S模式是在传统模式的基础上发展起来的,此模式简化了客户端软件,以简单易用的浏览器作为客户端运行平台,将应用程序的开发、维护和更新放在中间层的应用服务器上,而将数据库的管理和维护放在数据库服务器上,从而形成一个由客户层、中间层和数据库服务器组成的三层体系结构。在B/S模式的WebGIS系统中,客户机不受平台的限制,只要安装一个Web浏览器,浏览器通过Webserver同数据库进行数据交互,用于查询和浏览,它的特点在于操作简单、跨平台

10、性良好、成本较低等优点。 目前较有代表性的WebGIS平台有ESRI公司的ArcIMS,MapInfo公司的MapXtreme等。但是,这些商业性的平台的价格是很昂贵的,而且各个厂商有着自己的标准,让软件之间的互操作性受到限制。但是,开源WebGIS平台正好可以满足我们的要求。开源WebGIS的工作原理是这样的。首先,用户通过浏览器访问指定的地图页面。Web服务器根据用户的请求,向地图服务器发送获取相关地图数据的请求。地图服务器获取Web服务器发送的请求后,访问数据库,获取对应的空间数据。将数据返回个Web服务器。最后,Web服务器对发过来的数据进行渲染,将渲染之后的地图显示在浏览器中。4.2

11、.Net介绍.Net是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。.Net是一种比MFC或COM编程技术更一致并且面向对象的环境。它的特点包括以下几点。多平台:该系统可以在广泛的计算机上运行,包括服务器、桌面机到PDA和移动电话。行业标准:该系统使用行业标准的通信协议,比如XML、HTTP、SOAP和WSDL。安全性:该系统能提供更加安全的执行环境。同以前的Windows编程环境,.Net框架为程序员带来了相当大的改进。程序员不用考虑内存泄露所带来的问题,同时可以摆脱COM的束缚,而且在部署.NET框架编写的程序比以前容易

12、的多。因此,我们在校园信息发布系统的建设中,采用Asp.NET平台,而开源GIS软件则是选择基于.Net框架的SharpMap和NetTopologySuite。4.3 数字校园网上发布系统的分析与设计 本系统采用B/S结构的开发模式,以.Net为开发平台,以SharpMap和NTS作为地图显示和处理引擎,采用简单三层架构,自下而上分别为:数据层、业务逻辑层、UI层。如图(1)所示。不但在逻辑上划分了各个模块的功能和相互之间的关系,在物理上也实现了真正组件独立,客户端应用程序、业务逻辑层和数据层每个组件都可以单独维护和升级更新。PostGIS地图发布引擎Sharpmap浏览器Shape文件空间

13、分析引擎 NTS业务逻辑层UI层数据层 图1校园信息发布系统结构 数据层利用PostgreSQL数据库的存储和管理空间数据的能力,进行有关数据的查找。利用PostGIS数据库创建空间数据库,对矢量和栅格数据进行存储和管理,为业务逻辑层提供对数据的增删改查的能力。也可以直接在硬盘上读取shapefile文件,进而对数据实现相应的查询和分析的功能。 业务逻辑层主要是对从数据层的数据提供地图数据处理功能。如地图显示、地图表现、缓冲区分析、高亮显示等。通过业务逻辑层,将数据层中的数据经过相应的处理,将处理完成之后的数据在UI层显示出来。 UI层通过使用Sharpmap组件将地图在浏览器上显示出来,供用

14、户对地图进行各种分析处理。如用户可以进行放大、缩小、漫游等一般的操作,同时也可以对数据进行缓冲区分析、最短路径分析等。UI层中地图的显示方式是采用AJAX的无刷新的显示方式,他是一种支持异步请求的技术4,可以有效的改善用户的体验。4.4 系统功能的实现与分析 在校园信息发布系统的开发过程中,主要以c#为开发语言,利用html、Dom、Css进行程序的界面搭建,使用PostGIS作为数据库管理软件,使用SharpMap和NTS进行地图的渲染和对地图的空间分析的处理。4.4.1 HTML客户端导航工具 在浏览器端存在着三种导航工具,分别是放大(Zoom In)、缩小(Zoom Out)、漫游(Pa

15、n)。这三种导航工具的工作原理十分的相似,都是通过请求新地图的范围来改变四个地图范围变量。而这几个范围变量都被封装SharpMap.UIWebUIAjaxAjaxMapControl.cs中,我们只需要直接使用服务器控件AjaxMapControl,在使用之前为其赋一个初始值即可。4.4.2 地图数据的访问的实现 关于地图数据的访问和地图渲染,代码如下: /新建一个矢量图层 SharpMap.Layers.VectorLayer layer = new SharpMap.Layers.VectorLayer(name); /根据名字来获取文件的路径 string path =HttpConte

16、xt.Current.Request.MapPath( App_data + name + .shp);/连接到shape文件 layer.DataSource = new SharpMap.Data.Providers.ShapeFile(path, true);/设置多边形的填充颜色 layer.Style.Fill = new SolidBrush(Color.Green);/设置多边形的边框的颜色 layer.Style.Outline = Pens.Black; layer.Style.EnableOutline = true;/将图层加到map中 map.Layers.Add(la

17、yer);校园地图显示效果如下图所示:图2 数字校园地图显示效果图4.4.3关于缓冲区分析的实现a) 首先定义一个进行缓冲区分析的委托 代码如下所示private void CreateBuffers(List features) foreach (GisSharpBlog.NetTopologySuite.Features.Feature feature in features) feature.Geometry = feature.Geometry.Buffer(0.5); b) 为shape文件进行缓冲区分析public static void InitializeMapBuffer(S

18、harpMap.Map map) /创建Shape文件的数据源 SharpMap.Data.Providers.ShapeFile shp = new SharpMap.Data.Providers.ShapeFile(HttpContext.Current.Server.MapPath(App_datarivers.shp), true);/创建NTS数据源,从Shape文件获取数据,然后调用NtsOperation方法 SharpMap.Data.Providers.NtsProvider nts = new SharpMap.Data.Providers.NtsProvider(shp,

19、 new SharpMap.Data.Providers.NtsProvider.GeometryOperationDelegate(NtsOperation);/创建渲染图层 SharpMap.Layers.VectorLayer layRivers = new SharpMap.Layers.VectorLayer(rivers);/设置数据源 layRivers.DataSource = nts; layRivers.Style.Fill = Brushes.Black;/将图层添加到map中 map.Layers.Add(layRivers);c) 调用InitializeMapBuf

20、fer方法缓冲区分析的显示效果如图3所示,穿过操场红色部分是对黑线进行缓冲区分析之后的效果显示。图3 缓冲区分析效果图4.4.4 关于地图数据的高亮显示的实现关于点击地图、高亮显示选中要素,可以使ntsDataSource对象指向一个矢量图层对象,点击并高亮显示对象。可以通过ImageButton的点击事件来触发的:protected void imgMap_Click(object sender, ImageClickEventArgs e) /转换图形坐标到地图坐标 Point ClickPnt = myMap.ImageToWorld(newSystem.Drawing.Point(e.

21、X, e.Y); SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet(); /使用NTS的ExecuteIntersectionQuery方法 (myMap.Layers0 as SharpMap.Layers.VectorLayer).DataSource.ExecuteIntersectionQuery(ClickPnt, ds);/得到了结果 if (ds.Tables.Count 0) /增加点击选择的对象到selection图层/这样就新增了一个图层,因此渲染该副地图则显示选中对象 SharpMap.L

22、ayers.VectorLayer laySelected = new SharpMap.Layers.VectorLayer(Selection); laySelected.DataSource = new GeometryProvider(ds.Tables0); laySelected.Style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.Yellow); myMap.Layers.Add(laySelected); /渲染地图 GenerateMap();5 结论与展望5.1结论建设数字校园网上发布系统是建设数字

23、校园重要的一部分,WebGIS在其中发挥了重要的作用。本文研究了开源WebGIS在校园网上信息发布系统中的应用。本系统完成了校园地图在浏览器中的可视化,为校园信息的查询提供了有力的支持。同时,本系统还具有一定的空间分析能力。相对于采用商业WebGIS平台,采用开源WebGIS平台扩展性较强,部署灵活。在中小型WebGIS应用中有很好地利用价值8。但是,开源WebGIS在性能稳定性上还是存在着一定的差距。特别是对大数据的处理上,处理速度较慢,在功能上还有待改进的地方。5.2展望数字校园网上发布系统是以网络为基础,利用开源WebGIS软件,实现了校园地图的数字化。它在传统校园的基础上实现了构建了一

24、个数字空间,扩展了传统校园的功能,提升了传统校园的效率。由于时间,现有资料和本人技术等诸多因素的影响,作者对基于开源软件的数字校园网上发布系统的建设和研究还不够深入,需要进一步研究的问题还有很多。主要有:由于学校的快速发展,校区的面积在不断的扩大。应当尽快的建立和完善新校区的地理信息空间数据库,最好建立一个长期的数据库的更新和完善的机制。随着校园数据的不断的扩充,原本采用的PostSQl的数据管理方式并不能满足日益增长的数据量。对数字校园网上发布系统的需求分析不够。在系统需求分析之初,我们所沟通的对象多为老师和学生,忽略了学校管理部门的相关需求。本系统在具体功能设计上还是很不成熟的,在开源GI

25、S中许多的功能需要进一步的扩展。例如,我们可以对校园信息进行一个三维的显示,在校园地图中进行一个最优路径的分析等等。参考文献 ADDIN EN.REFLIST 1 胡庆武. 基于开源软件的GIS教学研究J. 测绘通报, 2011(2).2 李源泰, 李红波, 赵俊三. 开源GIS在WebGIS中的应用初探J. 地理空间信息, 2010(2).3 SharpMap官方网站,2013(4).HYPERLINK http:/ 郑文锋, 李晓璐. 基于开源WebGIS的网络房地产估价系统J. 软件导刊, 2008(6).5 高昂. GIS项目实践中的开放源代码选择J. 程序员, 2007(5). 6 赵欣, 杨多志, 于沿涛. SharpMap在露天矿卡车调度系统监控端的应用J. 露天采矿技术, 2009(5). 7 何正国. 开源GIS的研究与应用以MapServer为例C. /城市规划和科学发展2009中国城市规划年会论文集, 中国城市规划学会, .8 阳华. 基于Geoserver的校园WebGIS实现D. 南华大学, 2011. The construction of the campus information release system based on open GIS s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论