基于GIS的校园查询系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于GIS的校园查询系统
前言 (1)
1 开发环境和开发工具 (1)
1.1 C#语言简介 (1)
1.2 开发背景 (2)
1.3 开发环境 (3)
2 系统需求分析 (3)
3 系统总体设计 (4)
3.1 系统设计目标 (4)
3.2 开发设计思想 (4)
3.3 系统功能模块设计 (4)
4数据库设计 (5)
4.1校园基础地理数据 (5)
4.2 校园属性数据 (6)
6系统界面设计 (7)
6.1总体原则 (7)
6.2原则详述 (8)
6.2.1用户控制 (8)
6.2.2清楚一致的设计 (9)
6.2.3有良好的直觉特征 (9)
6.2.4较快的响应速度 (10)
6.2.5简单且美观 (10)
前言
校园导航问题是基于校园中的不同的景点,从陌生人的角度,为来往的客人提供校园景点相关信息的查询以及为来往的客人提供校园中任意景点的问路查询,以便客人能用最短的时间从某一地点到达想要去的地方。

大大节约了旅客参观校园的时间。

本文是采用C#作为开发语言,又最大程度上用了C语言的有关的语法。

以visual c++6.0为开发工具。

旨在实现校园导航系统中,学校的简介,景点的介绍,路线查询等基本的问题。

为来往客人参观校园提供方便。

1 开发环境和开发工具
1.1 C#语言简介
C#是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。

C#是微软公司研究院Anders Hejlsberg的最新成果。

C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java 几乎同样的语法,和编译成中间代码再运行的过程。

但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。

C# 是微软对这一问题的解决方案。

C#是一种最新的、面向对象的编程语言。

它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。

使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。

最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。

因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。

它吸收了C++、Visual Basic、
Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。

C#继承了C语言的语法风格,同时又继承了C++的面向对象特性。

不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。

.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。

同时,公共语言运行时(Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。

其特点有:
· 语言简洁。

· 保留了C++的强大功能。

·快速应用开发功能。

· 语言的自由性。

· 强大的Web服务器控件。

· 支持跨平台。

· 与XML相融合。

1.2 开发背景
随着科学技术的发展,地理信息系统(GIS)的应用日趋广泛,不但在资源和环境管理与规划中成功应用,而且成为设施管理和工程建设的重要工具,同时还进入物流配送、商业选址以及大型的企业管理领域中,地理信息也正逐渐应用于校园信息日常管理当中。

因此为加快校园信息化步伐,提高工作效率,强化信息管理,有必要建立校园地理信息系统。

本文利用组件式开发模式开发了校园地理信息系统,以实现对学校地理信息及其他相关信息的管理与查询,并实现可视化的功能。

从而服务于校园的建设、规划与管理
1) 校园现有管理系统分析
目前每所学校都有许多应用管理系统, 如教务管理系统、办公自动化系统、人事管理系统等。

但传统的管理系统以属性信息为管理对象, 缺乏对空间信息的处理和分析能力, 无法直观地表达数据的空间概念。

我们日常所接触的信息有70~80%是与空间位置、空间分布有着密切联系的, 如校
园规划、教室编排、宿舍管理、道路管线改造维护、学校总体发展等, 因此传统的管理系统缺乏对校园信息进行全方位、综合、高效
管理的能力。

( 2) 校园地理信息系统地理信息系统(Geographic Information System, 简称GIS)是一种能够在计算机软硬件系统的支持下, 对
整个或部分地球空间中的有关地理分布数据进行采集、存储、管理、运算、分析、显示和描述的技术系统。

GIS 在国防、城市规划、交通运输、环境监测和保护等与国民经济乃至国家命脉相关的重要领域的成功应
用, 极大地推动了社会生产力的发展。

由于GIS 技术的迅速发展与普及, 为加快校园信息化步伐, 提高学校管理水平和工作效率, 促进学校领导决策分析能力, 建立校园地理信息系统(Campus Geographic Information
System, 简称CGIS), 将GIS 技术应用于校园管理是完全可行并且具有重要的实际意义的。

校园地理信息系统CGIS 不是一个简单的管理系统, CGIS 能够对学校各建筑物、楼层房间、道路、树
木、绿地、河流水域、管线等地理对象进行管理, 并且将空间信息与非空间信息(如学生信息、教师信息、教室分布、宿舍管理等)无缝地结合起来, 是一个应用整体。

( 3)CGIS 建设目标
CGIS 系统需要提供空间信息与非空间信息相结合的数据分析功能, 完成学校日常教学和管理、学校的规划和布局建设, 提高学校管理水平, 为学校的决策提供帮助。

校园地理信息系统建设的内容包括校园
CGIS 建设目标、空间数据组织及数据结构、系统框架结构、软件开发与维护等。

1.3 开发环境
本文所采用的开发环境主要是基于c#的visual stadio c#。

它是一个系统的集成开发环境。

很适合C#程序的开发。

我们日常的学习和生活中大多就用这个开发环境进行学习和编程。

2 系统需求分析
1、设计你的学校的校园平面图,所选的景点不少于10个。

以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度
等相关信息。

2、为来往客人提供图中任意景点相关信息的查询。

3、为来往的客人提供图中任意景点的问路查询,即查询任意两个景点间的一条最短的简单路径。

3 系统总体设计
3.1 系统设计目标
本文研究开发的校园导航系统用于支持来往校园参观的客人提供最省时的导航服务,有如下三个方面的目标:
1、为来往的客人提供校园的简介。

2、为来往的客人提供校园中各景点的简介,以及各景点的距离等情况。

3、为来往的客人提供到达目的地的最短的路线。

3.2 开发设计思想
基于以上系统设计目标,本文在开发校园导航系统时遵循了以下开发设计思想:
1、采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利
用现有资源,提高系统开发水平和应用效果的目的。

2、尽量达到操作过程中的直观、方便、实用、安全等要求。

3、系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。

3.3 系统功能模块设计
本系统分为四个模块:菜单模块、景点介绍模块、路径查询模块、最短路径模块。

得到如图所示的系统功能模块图。

4数据库设计
4.1校园基础地理数据
校园基础地理数据建设校园地理信息系统, 首先要对校园空间信息建立清
晰的模型, 通过对系统的需求进行分析, 我们采用面向对象的方法对建立模型,
将校园空间数据按其空间特征进行分层组织, 细分为点、线、面等实体类型;把与地理空间有关的对象抽象为楼房建筑、道路、树木林地、河流水域、管网等通用概念, 具体分析如下:
①楼房建筑物: 主要包括教学楼、办公楼、实验楼、图书馆、学校医院、食堂、学生宿舍、学生活动用房和公共设施的位置以及房屋结构等。

②树木林地: 反映校园树木、绿地、草坪的种类、分布及覆盖面积等。

③道路: 反映校院内各主要道路情况, 包括道路位置、走向、路面宽度及坡度等。

④管线、设施: 反映校园内电线电缆、下水管道、煤气管道及校园网络线路的走向、竖井位置、管道分布、管径和埋深等。

⑤河流水系: 主要是校园内的河流长度、流向及湖泊面积、分布等。

⑥文字注记: 要对校园内的各地理实体标注文字及注记, 如楼房名称、道路名称等。

4.2 校园属性数据
校园地理信息系统要处理两方面的数据, 地理空间数据及与之对应的属性
数据, 如对于图书馆, 通过测量方法可以获得图书馆地理位置、高度、面积等空间信息, 为了更全面反映图书馆, 我们还必须了解图书馆的藏书、书库分布、楼层平面图等。

对于属性数据, 我们要到相关的系、部及职能科室去调查采集。

校园属性数据主要包括学生信息数据库、教职工人事信息、课程设置信息、教室编排、宿舍安排等, 这些数据来源于学校各相关部门, 经过整理最后要形成完整的、消除了冗余的数据库。

多媒体信息数据: 这部分主要是指图片、音频、视频等数据, 如学校的风光图片, 反映学校情况的专题片, 各种Flash 动画等, 可以使用数码相机、数字摄像机等设备去采集相关数据。

在这里需要强调说明的是, 数据是系统建设中的重要组成部分, 是校园地理信息系统建设的灵魂和生命。

在数据建设中需要注意以下几方面的问题:
①在系统建设初期, 根据系统需求确定数据质量是一个重要的问题, 如果数据的质量不能满足系统需要, 将会直接影响到系统的可用性和准确性。

②使用GIS 技术管理校园地形图, 空间数据繁多, 在数据组织方面, 力求使冗余数据得到控制, 使数据层次清晰、结构合理。

③系统开发的过程也是对数据进行处理和分析的过程, 系统建成后, 数据还需要不断地进行维护和更新。

5系统总体结构
6系统界面设计
6.1总体原则
以用户为中心。

设计由用户控制的界面,而不是界面控制用户。

清楚一致的设计,所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解
拥有良好的直觉特征。

以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻,来帮助用户能迅速学会软件的使用。

较快的响应速度。

简单且美观。

6.2原则详述
6.2.1用户控制
用户界面设计的一个重要原则是用户应该总是感觉在控制软件而不是感觉被软件所控制。

操作上假设是用户--而不是计算机或软件--开始动作。

用户扮演主动角色,而不是扮演被动角色。

在需要自动执行任务时,要以允许用户进行选择或控制它的方式来实现该自动任务。

提供用户自定义设置。

因为用户的技能和喜好各不相同,因此他们必须能够个性化界面的某些方面。

Windows为用户提供了对许多这方面的访问。

您的软件应该反应不同的系统属性--例如颜色、字体或其他选项的用户设置。

采取交互式和易于感应的窗口,尽量避免使用模态对话框,而使用"非模式"辅助窗口。

"模式"是一种状态,它排除一般的交互,或者限制用户只能进行特定的交互。

当最好使用一个模式或该模式只是可替换的设计时--例如,用于在一个绘图程序中选定一个特定感觉--请确保该模式是显然的、可见的,是一个明确的用户选定的结果,并且容易取消。

在后台运行长进程时,保持前台式交互。

例如,当正在打印一个文档,即使该文档不能被改变,用户也应该可以最小化该窗口。

谅解。

用户喜欢探索一个界面,并经常从尝试和错误中学习。

一个有效的界面允许交互式的发现,它只提供一组合适的选择,并在用户可能破坏系统或数据的情况时发出警告。

如果可行,还应提供可逆转或可还原的操作。

即使在设计得很好得界面中,用户也可能犯错误。

这些错误既可以是物理上得(偶然地指向了错误的命令或数据),也可以是逻辑上的(对选定哪一个命令或哪些数据做出了错误的决定)。

有效的设计避免很可能导致错误的情况。

它还包容潜在的用户错误,并且使用户易于还原。

6.2.2清楚一致的设计
一致允许用户将已有的知识传递到新的任务中,更快地学习新事物,并将更多的注意力集中在任务上。

这是因为他们不必花时间来尝试记住交互中的不同。

通过提供一种稳定的感觉,一致使得界面熟悉而又可预测。

一致在界面的所有方面都是很重要的,包括命令的名称、信息的可视表示,操作行为,以及元素在屏幕和窗口内部的放置。

相同含义的词使用统一的术语。

比如对于仓库中存放的物料,不可同时又称为物品、货物、备品、产品和材料等等,而统一约定一个称谓,且此称谓是用户熟悉的和易于理解的。

使用一组一致的命令和界面来展示常见功能。

例如,避免一个"复制"命令在一种情况下立刻执行一个操作,但在另一种情况显示一个对话框要求用户键入目标然后才执行。

应该使用同样的命令来执行对用户来说相似的功能。

操作环境内的一致。

保持Windows提供的交互操作和界面约定之间的高度一致,用户将能很快熟悉软件的使用。

使用隐喻的一致性。

如果一个特定的行为更多的是一个不同的事物的特征,而不是它的隐喻的含义,那么用户可能在学习将行为和该事物相关联时遇到困难。

例如,对于放在回收站中的对象而言,焚烧炉和废纸箩代表不同的模型。

建立项目保留字。

通过建立保留字来明确和统一术语和操作命令。

提供可视反馈。

在后台运行长进程时(时间超过1~10秒,视具体情况而定),必须提供进度条等信息指示。

除非特别必要时,不要提供声音反馈。

在有严重的问题发生时,可以使用声音来提示用户,但是通常应该允许用户取消声音。

保持文字内容清楚。

信息的表达要言简意赅,易于理解而又不罗嗦;避免使用冗长的文字给用户反馈。

6.2.3有良好的直觉特征
用熟悉的隐喻为用户的任务提供直接而直观的界面。

通过允许用户利用他们的知识和经验,隐喻使得预测和学习基于软件的表示的行为更加容易。

在使用隐喻时,不需要将基于计算机的实现局限在真实世界的对应物上范围
之内。

例如,与其基于纸张的对应物不同,Windows桌面上的文件夹可以被用来组织各种对象,例如打印机、计算器、以及其他文件夹。

同样,Windows文件夹可以其真实世界对应物不可能的方式被排序。

在界面中使用隐喻的目的是提供一个认知的桥梁;隐喻并不以其自身为最终目的。

隐喻支持用户认知而不是记忆。

用户记起与一个熟悉的事物相关联的意义要比他们记起一个特定命令的名称要容易得多。

同常见软件保持一致性。

出色的用户界面在程序中将实现同用户以前用过的其它成功软件一致的动作。

6.2.4较快的响应速度
保持界面能很快对用户操作作出反应。

提供快捷键。

特别对于有大量录入项的界面,能让用户不使用鼠标即可完成快速数据录入。

在用户界面中加入一些功能,这些功能可以让熟练用户在不同的区域快速的输入数据。

这些功能包括重复功能、快捷键、带有有意义的图标的按钮等等,所有这些可以使速度快的用户可以控制界面并加快数据的输入。

除非必要,不要重绘屏幕。

6.2.5简单且美观
简单。

界面应该很简单(不是过分单纯化)、易于学习、并且易于使用。

它还必须提供对应用程序的所有功能的访问。

在界面中,扩大功能和保持简单是相互矛盾的。

一个有效的设计应该平衡这些目标。

支持简单性的一种方法是将信息的表示减少到进行充分交流所需的最少信息。

例如,避免命令名和消息的文字描述。

不相关或冗长的句子扰乱了您的设计,使得用户难以很容易地提取重要信息。

另一个设计简单而有用的界面的方法是使用自然的映射和语意。

界面元素的排列和表示影响它们的意义和关联。

简单还与熟悉相互关联。

熟悉的事物通常似乎更简单。

尽可能尝试建立利用用户已有的知识和经历的联系。

您可以使用渐进揭示来帮助用户管理复杂的事物。

"渐进揭示"涉及到仔细的信息组织,以便只在恰当的时候才显示信息。

通过隐藏向用户表达的信息,您减少了用户必须处理的信息数量。

例如,您可以使用菜单来显示操作或选择的列表,还可以使用对话框来显
示一组选项。

渐进揭示并不意味着对显示信息使用非传统的技术,例如需要一个修饰键作为访问基本功能的唯一方法,或者强迫用户通过一个更长的分级交互序列。

这会使用户界面更加复杂和麻烦。

美观。

可视设计是应用程序界面的重要部分。

可视属性提供了非常好的印象,并传达特定对象的交互行为的重要线索。

同时,出现在屏幕上的每一个可视元素也是很重要的,它们可能竞争用户的注意。

提供清楚地促进用户对表达的信息的理解的连贯环境。

图形或可视设计器的技巧对于这一方面是无价的。

相关文档
最新文档