GIS软件开发课程设计报告书(1)

山东建筑大学

课程设计报告书

课 程: GIS设计与应用 院 (部): 成教学院 专 业: 测绘工程 班 级:学生姓名:学 号:实习期限: 1周(第18周) 指导教师: 孙英君

教研室主任: 院长(主任):1

1引言

随着我国经济水平突飞猛进的发展,科学技术不断向前,传统的教学方式效率不高,因此越来越不能满足教育服务工作的需要。全球查询服务系统将为科学技术普及中学教学工作提供一种方便、快捷的方式。该系统将为科学普及和教学工作的发展带来很好的促进作用。

电子地图是空间信息表达与可视化的主要形式,电子地图作为一种新型地图,无论在地理信息的地图表示方面,还是在地图信息的利用方面,都有其独特的优势。但是目前人们对电子地图的编绘和使用只是局限在用传统的纸质地图的制图理论和方法制作电子地图,将电子地图的利用视为传统纸质地图利用方式的自动化。没有充分挖掘GIS独特的优势(比如要素与属性的双向查询),电子地图的应用也受到限制。空间查询与空间分析是GIS(Geography Informa-tion System,地理信息系统)的核心特征之一,也是空间信息服务(如Web Feature Service)实现中的关键问题。如何在网络地图服务场景下提供高效能的空间查询与空间分析功能是网络地图服务器设计与实现中的挑战性问题。

2 系统分析

2.1 需求分析

目前,随着信息化水平的不断提高以及信息技术的普及,相关技术逐渐进入一般人的生活中,因而数字化信息化的教学方式被引入一般中学教学以及一些科学技术普及工作中,然而在相关需求不断扩大的现在,与其相配套的技术却略有滞后,传统的方法不仅操作难度大,同时效率低下。如何满足人们日益增长的需求以及方便教师与科普工作者进行一般的教育科普工作,是当前必须解决的一个问题。

基于GIS的全球地理查询系统是一个拥有全球地方简易地理信息的数据库,集成了地理信息管理模块可以实现GIS的空间查询,分析功能及可视化功能的软件。其旨在满足广大教育与科学普及工作者的需求,采用GIS技术,使地理数据的查询、分析更加方便快捷,且操作简单容易,易于一般没有任何计算机操作的人员使用。实现了授课的高科技化。

该信息平台大大提高了信息化、智能化程度,提高了数据的集成度,对空间数据的查询,分析更加方便、数据结构更为合理,并增加了对动态数据的存储、处理和显示,提供了更多的管理与分析模块,在一般中学教学与科学普及工作中有一定的优势。

2

3系统设计

3.1 总体设计

3.1.1 用户需求

在系统具体设计前必须明确所要设计系统的用户需求,只有了解了用户的具体要求才能依此为依据进行系统具体功能的设计,这样设计的系统才有其存在的意义。然而对于本系统来说其用户的需求是能够方便快捷的查询,分析世界地图上各个地区的一些基本的地理信息属性,例如面积,经纬度,距离等,并可以实现数据筛选功能。同时操作要求便捷,数据要用文字,数字,图形等快速的显示出来。

3.1.2系统目标

全球地理查询系统的目标主要是实现中学课堂教学及一般科学普及单位科普工作的信息化,来满足当前社会发展趋势下用户要求,可以给用户提供一些最基本的地理信息,为了提高课堂教学以及科学普及工作的信息化,加快教育信息化发展,为地理教学科普而开发基于SuperMapObject6.0和VisualBasic 语言GIS建立的全球地理查询系统,并希望通过这个系统使课堂地理教学信息化更加普及,系统目标如下:

(1)系统应能实现图形和属性的连接,实现用户对图形及属性的双向检索;

(2)系统具有快速对地理信息进行查询、空间分析与显示功能;

(3)系统应具有良好的扩展性与改进空间。

3.1.3 总体结构

本课题所研究的全球地理查询系统根据用户的需要,实现了地理信息查询,以及测距,测面积的功能。经过需求分析阶段的工作后,系统必须 “做什么”的问题已经解决了,现在是解决“怎么做”这个问题的时候了。总体设计的基本目的就是回答系统应该如何实现这个问题。系统总体结构设计是要根据系统分析的要求和组织的实际情况来对新系统的总体结构形式进行大致设计,它是一种宏观、总体上的设计和规划。

1)全球地理查询系统主要功能是让用户方便对于基础地理信息的查询与分析工作 ,方便教学与科普活动。

2)数据的属性查询模块主要功能是对所属地区基本地理信息,例如面积,经纬度等的查询。

3)条件查询的主要功能是设置一条件,对于满足此条件的地域进行显示的功能。

系统功能总体结构图如图1:

3

图1、系统功能总结构图

3.1.4 系统功能

本课题主要基本地理信息的查询分析服务,目的是为课堂教学更加科学更加人性化,是用户轻而易举就可以完成地理相关信息的查询与检索功能。本系统重要包括五个独立的模块:地图浏览模块,查询模块,娱乐模块,精确查询模块,帮助模块。几个模块的使用大大提高了用户信息检索的效率与精确度,为用户提供了很大的方便。

3.2 详细设计

3.2.1 子系统设计

本系统主要分为5个独立的模块:地图浏览模块、娱乐模块、精确查询模块、查询功能模块,帮助模块。在地图浏览模块中,用户可以使用相关控件对地图进行漫游,放大,缩小,也可以根据个人需要进行自由缩放,以及全屏观看在娱乐模块中,为大家在学习工作之余提供了小游戏。在精确查询模块中,进行SQL查询,根据用户的不同需求对信息进行检索,并对检索结果进行排序,并且可以保存输出查询结果。在查询模块中,可以查询相关地域的属性,使用条件查询可以对地图上的符合查询条件的地点通过图像进行显示。帮助模块用于对用户提供一定的帮助。

GIS软件开发课程设计报告书1

4

3.2.2 数据库设计

由于是地理信息系统,全球地理查询系统数据库也应包括空间数据库和属性数据库,再此采用关系型数据库模式。具体的属性数据以图表形式记录,而图形数据以拓扑关系记录。并且在这些建立这些专题数据库时要注意各种专题信息的关系字段,保证互相之间都有联系。数据建库时,要按照分类标准进行科学分类,要符合数据编码的一般要求:

(1)凡国家已施行的编码规范和标准,均按国家规定的执行;

(2)科学编码系统的设计必须可靠地识别数据信息的分类,以较少的代码提供丰富的参考信息,以及根据代码结构能进行数据间关系的逻辑推理和判别;

(3)编码不宜过长,一般为4—7位,以减少出错的可能性和节省存储空间。对于多要素的数据信息,通过设置特征位来有效地压缩码位的长度;

(4)编码标准化,其内容包括统一的码位长度、一致的码位格式和明确的代码含义,不能出现代码的多义性等等。

此外,数据质量要严格控制,主要控制保证:数据完整性、数据一致性、位置精度、时间精度、属性精度。系统E-R图如图2:

GIS软件开发课程设计报告书1

图2、系统E-R

3.2.3功能模块设计

(1) 查询功能模块

Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button

5

Case "属性查询"

SuperMap1.Action = scaSelect

Case "条件查询"

Dim objDs As soDataSource '数据源

Dim objDtVector As soDatasetVector '矢量数据集

Dim objRecordset As soRecordset '记录集

Dim objSelection As soSelection '选择集

'取矢量数据集:取其中面数据集"World"进行查询

Set objDs = SuperWorkspace1.Datasources.Item("MyDataSource") If objDs Is Nothing Then Exit Sub

Set objDtVector = objDs.Datasets("World")

If objDtVector Is Nothing Then

MsgBox "打开数据集错误", vbInformation

Exit Sub

End If

'使用 SQ L过滤条件安从数据集中查询出记录集,

Set objRecordset = objDtVector.Query(txtExpression.Text, True) If objRecordset Is Nothing Then

Exit Sub

Else

'将查询结果加入到选择集中,使其高亮显示

Set objSelection = SuperMap1.Selection

objSelection.FromRecordset objRecordset

'刷新地图窗口

SuperMap1.Refresh

End If

Set objDtVector = Nothing

Set objRecordset = Nothing

Set objSelection = Nothing

End Select

End Sub

Private Sub Command1_Click()

Dim s1 As String

Dim s_id As String

Dim s_nam As String

6

If Text1.Text = "" Then

s_id = "%"

Else

s_id = Text1.Text

End If

If Text2.Text = "" Then

s_nam = "%"

Else

s_nam = Text2.Text

End If

s1 = "select * from goods where id like '" + s_id + "' and nam like '" + s_nam + "'"

Adodc1.RecordSource = s1

Adodc1.Refresh

End Sub

open "c:\1.txt" for input as #1

rs.open "select * from table_a where 字段1 not in (select 字段1 from

table_b)",conn

while not rs.eof

print #1,rs("字段1")

rs.movenext

wend

rs.close

close #1

open "c:\2.txt" for input as #1

rs.open "select * from table_a where 字段1 in (select 字段1 from table_b)",conn while not rs.eof

print #1,rs("字段1")

rs.movenext

wend

rs.close

close #1

(2) 娱乐模块

Private Sub Toolbar3_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button

Case "游戏"

Shell "C:\Documents and Settings\Administrator\桌面\Visual Basic 6.0\ddchess.exe" Case "音乐"

7

Shell "F:\KuGou2010\KuGoo.exe"

Case "惊喜"

Print "售价100万,地科免费!"

FontName ="黑体"

FontItalic = True

FontSize = 48

End Select

End Sub

(3) 精确查找模块

Private Sub btnSQL_Click()

frmSQLExpression.Show vbModal, Me

End Sub

Private Sub btnShowDt_Click()

Dim i As Integer

Dim objDs As soDataSource

Dim objDt As soDataset

If btnShowDt.Caption = "显示生成的数据集" Then Set objDs = SuperWorkspace1.Datasources(1) If strDtName = "" Then Exit Sub

SuperMap1.Layers.RemoveAll

Set objDt = objDs.Datasets(strDtName)

SuperMap1.Layers.AddDataset objDt, True SuperMap1.Refresh

btnShowDt.Caption = "显示全部图层"

Else

Set objDs = SuperWorkspace1.Datasources(1) For i = 1 To objDs.Datasets.Count

Set objDt = objDs.Datasets(i)

SuperMap1.Layers.AddDataset objDt, True Next

btnShowDt.Caption = "显示生成的数据集" End If

SuperMap1.Refresh

End Sub

8

(4) 地图浏览模块

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button

Case "放大"

SuperMap1.Action = scaZoomIn

Case "缩小"

SuperMap1.Action = scaZoomOut

Case "自由缩放"

SuperMap1.Action = scaZoomFree

Case "漫游"

SuperMap1.Action = scaPan

Case "选择"

SuperMap1.Action = scaSelect

Case "全屏"

SuperMap1.ViewEntire

Case "演示"

'建立地图窗口与工作空间的联系,用于显示数据

SuperMap1.Connect SuperWorkspace1.Objec

Dim strAlias As String '数据源别名

Dim nEngineType As seEngineType '数据源引擎类型

Dim strDatasourceName As String '数据源所在路径

Dim objDataSource As soDataSource '数据源对象,指向打开的数据源

Dim bReadOnly As Boolean '数据源是否只读打开

Dim objLayer As soLayer '图层对象变量,指向将要打开的图层

Dim bAddToHead As Boolean '是否将数据集加到地图最上一层显示

Dim i As Integer '数据集索引

strAlias = "MyDataSource" '别名可任意,但建议取数据源文件名相同的名称 nEngineType = sceSDBPlus '可打开不同引擎的数据源

strDatasourceName = "C:\Documents and Settings\Administrator\桌面\Visual Basic 6.0\world.sdb" '数据源所在路径,也可以是相对路径

bReadOnly = False '非只读打开

Set

bReadOnly) objDataSource strAlias, = nEngineType, SuperWorkspace1.OpenDataSource(strDatasourceName,

9

If objDataSource Is Nothing Then

MsgBox "打开数据源失败!", vbInformation

Else

For i = 1 To objDataSource.Datasets.Count

'把数据源中的所有数据集加入到 SuperMap 中显示 bAddToHead = True

SetobjLayer

SuperMap1.Layers.AddDataset(objDataSource.Datasets.Item(i), bAddToHead) Next

End If

'刷新地图窗口

SuperMap1.Refresh '可定制选中对象风格,或保持默认

SuperMap1.Selection.Style.PenColor = RGB(231, 77, 0)

SuperMap1.Selection.Style.PenWidth = 1

SuperMap1.Selection.Style.PenStyle = 1

SuperMap1.Selection.Style.BrushStyle = 5

SuperMap1.Selection.Style.BrushColor = RGB(115, 69, 140)

SuperMap1.Selection.Style.BrushBackColor = RGB(239, 150, 255) SuperMap1.Selection.Style.BrushOpaqueRate = 50

'释放内存

Set objDataSource = Nothing

Set objLayer = Nothing

Case "退出"

End

End Select

End Sub

(5) 帮助模块

Private Sub bb_Click()

MsgBox "GIS全球查询系统1.3,有问题请联系我们!"

End Sub

Private Sub lx_Click()

MsgBox "邮箱jj208512@163.com"

End Sub

Private Sub wz_Click()

= 10

Shell "explorer.exe http://user./470170583/infocenter"

End Sub

3.2.4 用户界面设计

用户界面基于visual basic开发提供,分为登陆界面与使用界面。

登陆界面

Private Sub Command1_Click()

If Text1.Text = "08" And Text2.Text = "08" Then

GIS全球查询系统.Show

GIS全球查询系统3.Hide

Else

MsgBox "密码或账号有错误,请重新输入!", vbExclamation

Text1.Text = ""

Text2.Text = ""

End If

End Sub

Private Sub Command2_Click()

End

GIS软件开发课程设计报告书1

End Sub

图3.2.4(1)

需要账号密码,用户输入后即可享用。通过设置此项目可以保护用户的隐私与使用权。

11

图3.2.4(2)用户使用界面

本界面中提供了世界地图,用户在此界面中可以对地图信息实现查找,分析的功能。能够迅速定位用户所需的地理信息包括人口,面积,经纬度等。

用户除了可以使用主界面已有功能外,另外还可以实现SQL查询(界面如下图)

GIS软件开发课程设计报告书1

图3.2.4(3)

GIS软件开发课程设计报告书1

12

图3.2.4(4)输入相应条件

用户通过输入相应条件,可以检索符合条件的所有结果并对其进行排序,结果如下图图3.2.4(5),3.2.4(6)

GIS软件开发课程设计报告书1

图3.2.4(5)文本显示结果

GIS软件开发课程设计报告书1

13

图3.2.4(6)图片显示结果

通过浏览结果,用户可以查询到符合条件的地区以及其基本地理信息。 4设计结论

全球地理查询系统基于SuperMapObject6.0和VisualBasic的GIS,通过利用信息技术手段,为用户提供传统教学享受不到的便利,界面友好,操作简单,运行过程中反应便捷,迅速,极大提高了教育教学的效率,与传统方式相结合,可以达到相当好的教学效果。

GIS软件开发课程设计报告书1

14

相关推荐