基于ArcGISruntimeSDkfor.net的初中地理信息教学系统的设计与实现

2016-11-04 18:09温馨曾唯珈
科技视界 2016年23期

温馨+曾唯珈

【摘 要】本文将Esri公司的ArcGIS runtime SDK for .net技术、数据库技术与地理信息系统(geographic information system)的开发理念相结合,设计出一个基于ArcGIS技术的初中地理信息教学系统。在本篇文章中,对该系统的相关体系的结构设计、功能模块的设计、以及系统得以完成运转的关键技术等相关内容进行了比较完整的论述,经过相关测试和实际应用证明其可行性和合理性。

【关键词】中学地理信息教学系统;ArcGIS runtime;.net;系统设计

0 引言

随着时代的进步与科学技术的发展,地理作为一门科学性强、科学面广的学科,其进步与发展也随之推进。著名的地理信息系统专家陈述彭院士认为:“定性描述是地理学的第一代语言,地图是地理学的第二代语言,地理信息系统(GIS)是地理学的第三代语言。”[1]传统的初中学地理教学中,主要以地图与定性描述的方式为主,定性描述存在准确性有误的问题,地图图纸存在图纸易破损,不能查询选择,两者亦不具备时效性,随着信息的变动与更新,无法及时更新相应的资料,两者早已不能满足地理教学的需要,唯有改变传统的教学方式与相应模式,寻找到地理教学的新模式新方法,才能优化与提高地理教学。

而GIS,作为地理学的第三代语言,其主要功能是用于地理分析与地理信息存储,其并非为了地理教学而设计,但是GIS中的大多数功能对地理教学相当适用。例如道路、水系等矢量数据的可视化;在GIS中对地图的任意缩放;GIS的图层分层显示技术;以及可利用GIS软件制作不同的专题地图。

近几年,随着网络技术飞速发展,ArcGIS runtime 技术发展迅速,其简洁、快速、漂亮的特点,使其能够快速的占领市场。相比与用ArcGIS engine开发一个功能软件,ArcGIS runtime开发出来的程序不仅更小巧、开发的更加快速,而且对机器功耗小,反应速度更快。将ArcGIS runtime开发技术运用到中学地理教学系统的开发中,可使开发的系统性能更上一层楼。

1 系统结构设计

此中学地理教学系统采用的是轻量级两层C/S的体系结构,两层分别为:C端(客户端)桌面客户端与S端(服务端)组成。而相对于传统C/S结构,轻量级C/S结构主要“轻”在客户端,客户端主要负责对服务器端发出指令并上传需要处理的数据,一切的空间分析问题由服务器端进行计算和解决。

1.1 开发平台选择

本系统所选用的开发平台为C#.net语言、VS2013 WPF框架和ESRI公司的ArcGIS runtime SDK for .net。ArcGIS Runtime是Esri公司的新一代的轻量开发产品,它提供多种API,可以使用WPF,Java,Qt(C++),Objective-C等语言及其相应的开发环境快速的构建地图应用。ArcGIS Runtime支持在线和离线的资源调用模式,开发简单,易于部署,轻巧灵活,并且可以按需选择功能—从简单地图浏览到高级空间分析,以及属性和空间的查询。支持GP服务和地理编码服务,异步的处理模式,易于部署,轻巧灵活。

1.2 数据库的设计

该中学地理信息教学系统的系统数据库由矢量数据信息库、栅格信息数据库两个空间数据库和教学数据库、图片、flash数据库组成。

其中,矢量数据库主要用于存储河流,道路,地标点,以及其他矢量数据的矢量数据库。该数据库,只用于存储点、线、面形式的矢量数据,在查询相应矢量数据时,直接由空间查询索引到矢量数据库进行查找,相对将多种形式的数据存储到同一数据库,此种数据库查询能提高查询效率。栅格信息数据库,主要是存储栅格图像,如遥感图像,地理地图,山脉图等栅格底图。教学数据库与图片、flash数据库则存储相应的上课所需要用到的教学案例,以及教学PPT、教学时所需要用到的图片等非空间数据。

2 系统功能模块

中学地理信息教学系统的功能模块,初步设计为以下8个功能模块,如图2所示。

图层加载模块:在该系统中利用ArcGIS runmine 服务,对ArcGIS runtime服务器端的地图底图进行调用,加载出一副底图图像。

在线地图变换:提供不同的地图底图,不同的地图底图可以相互切换。主要是根据教学需要进行地图底图的切换,如行政区域图与实时的遥感卫星图像的切换,这些在线地图服务,主要都是由Esri公司的ArcGIS runtime服务提供的。

本地数据加载:本地数据加载分为地图包数据加载与数据库数据加载。其中,地图包数据加载是将打包好过后的地图包进行数据的加载,加载的数据可叠置在原先已有的底图数据上。数据库数据加载,是将数据库中的数据调出,调出操作时,提供4种不同的数据库选择,不同类型的数据在不同的数据库中调出。

数据编辑:对调出的矢量数据进行编辑,并且可修改其相应属性值。

数据渲染:对不同的矢量数据(点,线,面)可以进行渲染,渲染分为唯一值的渲染和简单渲染两种渲染方式。

趣味地理:增强地理教学的娱乐性,点击该模块后,出现相应图片,在点击图片后,相应的地标点在地图中放大并显示地标点属性。

3D光照模型:提供3维wgs84椭球体模型,可进行全球在北京时间下的光照条件模拟。

数据查询:可快速查找相应的矢量数据的位置,并且突出显示。

鹰眼模块:在系统主界面提供鹰眼窗口,对地图位置的调整。

数据显示功能:在点击图上的对应矢量数据时,数据的属性信息会在相应数据框中得到显示。

3 系统实现的关键技术

3.1 多级瓦片缓存离线地图包制作技术

多级瓦片缓存离线地图包制作技术是将高清的卫星影像地图或者其他的栅格数据类型的地图通过地图瓦片分层切片技术制作成为瓦片地图再将其制作成可离线使用的瓦片地图包的一种技术。通过该技术得到离线地图包,使数据方便使用,无需担心网络问题,同时,数据加载速度也得到提高。[2]

制作离线瓦片缓存地图包有两种方法:(1)利用Arcmap,建立地图集,再通过地图集生成相应的地图包;(2)利用ArcGIS Server的地图缓存服务导出地图包。两者比较,前者需要将对于的地图集文件配置好,生成速度慢,数据量过大则无法生成。后者需要有ArcGIS Server的在线瓦片地图服务。

3.2 数据库管理查询技术

本系统中存在两种类型的数据库,即:空间数据库与非空间数据库,系统拥有对数据库中的数据进行修改调用、查询的功能,这些功能的实现都需要数据库的管理与查询技术。在修改数据时,需要一个系统与数据库的接口,来反应数据的改变。同时,数据库的查询时,也需要建立相关索引。

3.3 ArcGIS runtime数据交互与命令传输技术

本系统主要是利用ArcGIS runtime服务技术,将相应的数据处理以及分析请求上传至ArcGIS runtime 服务器端,利用ArcGIS runtime服务器进行相应分析与处理,再将处理结果传输到桌面客户端,要实现这样的数据传输与命令请求,就需要用到ArcGIS runtime 的数据交互和命令传输技术,其中,命令传输技术是处理命令、传输命令、传回命令的技术,而数据交互技术则是上传数据和返回数据的处理技术。

4 系统运行情况简介

初步实现的中学地理信息教育系统,功能较为齐全,能够完成教学任务,且界面布局简单易懂、界面清晰、美观。其主界面情况如图3。

主界面上方为对应功能的菜单栏,菜单栏下方为主显示界面,而在主界面的右下角为鹰眼。图4 为系统在加载数据后点击对应数据后,数据相应属性的显示情况。

5 结语

通过ArcGIS runtime技术来实现中学地理信息教学系统是一种改革地理教学的新途径,本系统也只是一个中学地理信息教学的初步设计与实现,但随着ArcGIS runtime 技术的推广与发展,该系统也能逐渐的完善,达到更加适用的程度。该系统是对于ArcGIS runtime技术开发,在地理教学系统方向的发展的一次探索,相信以后会有更多的科研工作者将ArcGIS runtime 技术投入到地理教育方向的开发上来。

【参考文献】

[1]李玉萍.文化·道[M].北京:清华大学出版社.

[2]麻万诸,李丽,陆若辉等.基于ArcGIS Runtime for WPF的触摸屏施肥咨询系统集成与应用[J].浙江农业学报,2015,27(12):2206-2211.

[3]韩旭丽,罗德安.基于WebGIS的中学地理教学系统的设计与实现[J].中国建设教育,2009(8).

[4]张跃西,江兴亮.地理教学系统思维方法——兼论教材体系建设[J].安徽师范大学学报(自然科学版),1996(04):390-394.

[5]傅兴鼎,陈启洪.中学地理教学系统的特点及发展途径[J].中学地理教学参考,1996(05):31-33.

[责任编辑:朱丽娜]