HEBEI UNITED UNIVERSITY
毕业设计说明书
GRADUATE DESIGN
设计题目:中国世界文化遗产地理信息系统 学生姓名:xxxx 专业班级:xxxxxx 学 院:矿业工程学院 指导教师:xxxxxxxx
2013年06月07日
摘 要
摘 要
中国历史悠久,文化遗产丰富多样,每一处文化遗产都在一定的地域环境下产生,所以利用文化遗产的地域性与地理信息系统对地域的强大的处理功能,特做了本系统,本系统主要采用数据库技术与专业的地理信息技术对中国世界文化遗产进行了整理与分析。利用中国世界文化遗产地理信息系统可以对文化遗产进行添加修改删除等数据管理,可以对文化遗产在地理信息层面上进行查询、定位、缓冲分析等等操作。本系统在C#.NET的环境下采用ArcEngine组件进行二次开发,设计出基于GIS的中国世界文化遗产地理信息系统。为文化管理部门的需要,本系统在针对我国世界文化遗产的需要开发出一种功能适当、界面友好、符合用户操作习惯的系统。
关键词 地理信息系统;文化遗产;C#
-I -
Abstract Abstract
China has a long history and rich cultural heritage, and every cultural heritage in a certain geographical environment, so the use of regional cultural heritage with the geographic information system for regional powerful processing capabilities, made the system, this system mainly uses database technology and geographic information technologies to China world cultural heritage sorting and analyzed. With China world cultural heritage of geographic information system can be carried out on the cultural heritage data management, such as add modification and deletion to level of cultural heritage in the geographic information query, positioning, buffer analysis and so on. This system under the environment of C#.NET using secondary development of ArcEngine component, design China world cultural heritage of geographic information system based on GIS. For cultural management department's need, this system in the world heritage site in China needs to develop a proper function, friendly interface, accord with operating habits of the system.
Keywords Geographic Information Systems; heritage; C#
-II-
目 录 目 录
第1章 绪论 .................................................................................................................. 5 1.1地理信息系统在文化领域的应用的现状 .......................................................... 5 1.1.1 文化遗产地理信息系统在国外的发展状况 ............................................... 5 1.1.2 文化遗产地理信息系统在国内的发展状况 ............................................... 5 1.2本课题的来源 ...................................................................................................... 6 1.3本文主要内容 ...................................................................................................... 7 1.4 本章小结 ............................................................................................................. 7 第2章 系统相关理论与技术 ...................................................................................... 8 2.1系统开发工具与平台 .......................................................................................... 8 2.1.1高级程序设计语言C# .................................................................................. 8 2.1.2 ArcGIS Engine组件开发简介 ...................................................................... 8 2.2基于用户的访问控制技术 ................................................................................ 10 2.3数据库技术 ........................................................................................................ 11 2.4地理信息系统简介 ............................................................................................ 12 2.5 GIS设计方法的选择 ......................................................................................... 13 2.6本章小结 ............................................................................................................ 14 第3章 系统需求分析和设计 .................................................................................... 15 3.1 系统需求分析 ................................................................................................... 15 3.2可行性分析 ........................................................................................................ 15 3.3系统目标 ............................................................................................................ 15 3.4总体设计要求 .................................................................................................... 16 3.5软、硬件配置方案 ............................................................................................ 16 3.6系统设计架构 .................................................................................................... 16 3.7系统功能设计 .................................................................................................... 17 3.8数据库模块 ........................................................................................................ 18 3.8.1数据库表的设计原则 .................................................................................. 18 3.8.2文化地理位置数据 ...................................................................................... 19 3.8.3数据库数据表 .............................................................................................. 20 3.9通用GIS功能模块 ............................................................................................ 20 3.10接口说明 .......................................................................................................... 20 3.11 本章小结 .......................................................................................................... 21 第4章 详细设计 ........................................................................................................ 22
-III -
目 录 4.1界面设计 ............................................................................................................ 22 4.2系统工具栏及快捷菜单实现 ............................................................................ 23 4.2.1 GIS分析模块工具栏 .................................................................................. 23 4.2.2快捷菜单 ...................................................................................................... 24 4.3系统菜单栏实现 ................................................................................................ 24 4.4 系统主要功能实现 ........................................................................................... 25 4.4.1查询功能 ...................................................................................................... 25 4.4.2数据管理功能 .............................................................................................. 26 4.4.3缓冲区分析 .................................................................................................. 27 4.5 本章小结 ........................................................................................................... 28 结 论 .......................................................................................................................... 29 参考文献 ...................................................................................................................... 30 谢 辞 .......................................................................................................................... 31
-IV-
第1章 绪论 第1章 绪论
1.1地理信息系统在文化领域的应用的现状
1.1.1 文化遗产地理信息系统在国外的发展状况
GIS是六十年代中期开始发展起来的新技术。它最初为解决地理问题而起,至今已成为一门涉及测绘学科,环境科学、计算机技术等多学科的交叉学科。1963年加拿大测量学家R.F Tomlinson首先提出了地理信息系统这一术语,并建成世界上第一个GIS(加拿大地理信息系统CGIS),并用于自然资源的管理和规划。不久,美国哈佛大学提出了较完整的系统软件SYMAP。这可算是GIS的起步。进入70年代以后,由于计算机软硬件水平的提高,促使GIS朝着实用方向迅速发展,一些经济发达国家先后建立了许多专业性的GIS,在自然资源管理和规划方面发挥了重大的作用。如从1970年到1976年,美国国家地质调查局就建成50多个信息系统。其他国家如加拿大、德国、瑞典和日本等国了相继发展了自己的GIS。80年代后兴起的计算机网络技术使地理信息的传输时效得到了极大的提高,它的应用从基础信息管理与规划转向更复杂的实际应用,成为辅助决策的工具,并促进了地理信息产业的形成。到1995年,市场上有报价的软件已达上千种,并且涌现出了一些有代表性的GIS软件。
1.1.2 文化遗产地理信息系统在国内的发展状况
在我国地理信息在文化方面的应用目前仍处于试验阶段,至今尚无真正意义上的文化地理信息应用实例。有的仅仅是科研论文,作为开放性的应用平台,文化地理信息系统有非常广阔的应用前景。地理信息系统技术经过近三十年的发展,已经逐步进入了计算机技术主流,从而能够在更深层次为更多的用户提供信息服务。我国GIS的发展虽然较晚,经历了四个阶段,即起步(1970-1980)、准备(1980-1985)、发展(1985-1995)、产业化(1996以后)阶段。GIS已在许多部门和领域得到应用,并引起了部门的高度重视。从应用方面看,地理信息系统已在资源开发、环境保护、城市规划建设、土地管理、农作物调查与结产、交通、能源、通讯、地图测绘、林业、房地产开发、自然灾害的监测与评估、金融、保险、石油与天然气、军事、犯罪分析、运输与导航、110报警系统公共汽车调度等方面得
-5 -
河北联合大学矿业工程学院
到了具体应用。国内外已有城市测绘地理信息系统或测绘数据库正在运行或建设中。一批地理信息系统软件已研制开发成功(如GeoSTAR,CityStar,MapGIS等),一批高等院校已设立了一些与GIS有关的专业或学科,一批专门从事GIS产业活动的高新技术产业相继成立。些外,还成立了\"中国GIS协会\"和\"中国GPS技术应用协会\"等。
自90年代起,地理信息系统步入快速发展阶段。执行地理信息系统和遥感联合科技攻关计划,强调地理信息系统的实用化、集成化和工程化,力图使地理信息系统从初步发展时期的研究实验、局部实用走向实用化和生产化,为国民经济重大问题提供分析和决策依据。努力实现基础环境数据库的建设,推进国产软件系统的实用化、遥感和地理信息系统技术一体化。在地理信息系统的区域工作重心上,出现了\"东移\"和\"进城\"的趋向,促进了地理信息系统在经济相对发达、技术力量比较雄厚、用户需求更为急迫的地区和城市首先实用化。这期间开展的主要研究及今后尚需进一步发展的领域有:重大自然灾害监测与评估系统的建设和应用;重点产粮区主要农作物估产;城市地理信息系统的建设与应用;建立数字化测绘技术体系;国家基础地理信息系统建设与应用;专业信息系统与数据库的建设和应用;基础通用软件的研制与建立;地理信息系统规范化与标准化;基于地理信息系统的数据产品研制与生产。同时经营地理信息系统业务的公司逐渐增多。 总之,中国地理信息系统事业经过十年的发展,取得了重大的进展。地理信息系统的研究和应用正逐步形成行业,具备了走向产业化的条件[1]。
1.2本课题的来源
现代社会是信息社会。随着计算机网络技术、数据库技术、管理技术的发展,对信息的处理和利用已经深入到人类生活的各个方面。中国文化源远流长,博大精深,中国是世界遗产大国,拥有的世界遗产数目排在世界第三位。 中国的世界文化遗产有:长城、莫高窟、平遥古城、皖南古村落(西递村、宏村)、承德避暑山庄和周围寺庙、云冈石窟、大足石刻、明清皇家宫殿、苏州古典园林、秦始皇陵兵马俑、青城山与都江堰、曲阜孔庙孔林孔府、龙门石窟、明清皇家陵寝、天坛、颐和园、丽江古城、周口店北京人遗址、武当山古建筑群、拉萨布达拉宫、高句丽王城王陵及贵族墓葬、澳门历史城区、庐山(文化景观)。 要对这些文化遗产进行统一的认知与管理,就需要一个强大的系统做支撑,而地理信息系统具有空间分析,输入属性数据并能生成需要的属性数据的功能,这一点可作为中国世界文化遗产管理的首选系统[2]。
每一种文化都是在一定的地理环境中产生发展起来的,利用每一种文化的地
-6-
第1章 绪论 理性质与地理信息系统相结合,将中国的世界文化遗产彻底的交给地理信息系统来管理,能方便人们更快的检索到中国的世界文化遗产,了解中国的世界文化遗产详细信息,并能方便文化管理部门整体把握与管理中国的世界文化遗产[3]。
1.3本文主要内容
本文主要设计并实现了一个文化遗产地理信息系统,本系统功能包括用户登录、注册用户、文化遗产数据添加修改删除查询和专业GIS分析等功能。本系统重点是对文化遗产进行管理。
1.4 本章小结
本章主要分析了文化遗产地理信息系统的在国内外的现状,并详细分析了所选课题的来源,总结整理了所有编入世界文化遗产的中国文化景点,指出了本次课设的主要目的和服务对象,最后对本课程设计的主要内容进行了简单介绍。
-7 -
第2章 系统相关理论与技术
第2章 系统相关理论与技术
2.1系统开发工具与平台
本系统选用的ESRI公司的ArcGIS9.3系列软件,辅以ESRI ArcGIS9.3的二次开发工具ArcGIS Engine组件及微软公司所开发的一种面向对象,且运行于.NET Framework之上的高级程序设计语言C#进行设计开发。
2.1.1高级程序设计语言C#
在过去的二十年里,C# 已经成为在商业软件的开发领域中使用最广泛的语言。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
C#语言允许类型定义的,扩展的元数据。这些元数据可以应用于任何对象。项目构建者可以定义领域特有的属性并把他们应用于任何语言元素-类,接口等等。然后,开发人员可以编程检查每个元素的属性。这样,很多工作都变得方便多了,比如编写一个小工具来自动检查每个类或接口是否被正确定义为某个抽象商业对象的一部分,或者只是创建一份基于对象的领域特有属性的报表。定制的元数据和程序代码之间的紧密对应有助于加强程序的预期行为和实际实现的之间的对应关系[4]。
作为一种自动管理的,类型安全的环境,C#适合于大多数企业应用程序。
2.1.2 ArcGIS Engine组件开发简介
ArcGIS Engine是随ArcGIS 9一起推出的一种新的开发者产品,它包含了创建和部署用户GIS解决方案应用程序所需的所有内容。
使用ArcGIS Engine,开发者能够为现有的应用程序添加动态制图和GIS功能,或者构建他们自己的专门制图程序。ArcGIS Engine提供了良好定义的、跨语言的对象集,称之为ArcObjects,它包括了ArcGIS桌面用户界面之外的所有ArcGIS
-8-
河北联合大学矿业工程学院
功
-9 -
第2章 系统相关理论与技术
能。
ArcGIS Engine有两种产品:(1)ArcGIS Engine Developer Kit—包括开发者建立解决方案所需的组件和工具集。(2)ArcGIS Engine Runtime—运行定制的ArcGIS Engine应用程序所需的基础设施.该系统是利用ArcGIS Engine Developer Kit和VB6.0结合开发。
ArcGIS Engine开发包是一套地图制图组件和开发资源库,可以让编程人员为现有的应用程序添加动态制图和GIS功能,或者创建新的定制的制图和GIS解决方案。使用ArcGIS Engine开发包,开发人员在为地图创建定制界面时有了前所未有的灵活性。开发人员可以使用多种具有行业标准的交互式开发环境来创建专门的应用程序,或者将ArcGIS Engine组件和其他软件的组件结合来创建先进的GIS应用程序。
ArcGIS Engine开发包不是面向终端用户的产品,而是专门为开发应用程序的人员设计的。开发人员基于ArcGIS Engine建立应用程序,并将这些程序传递给终端用户。ArcGIS Engine的一个很重要的特征就是在一个应用程序中,地图可以是次要部分,也可以是核心部分。这以特性使得ArcGIS Engine尤其的适合于特定的GIS解决方案。
ArcGIS Engine开发包为一个大型的ArcObjects组件集(ArcGIS就是建立在此软件组件之上)提供接口,并且包括了许多开发控件,用于创建一个高质量的制图用户界面。这些可视化控件与.NET控件、Visual JavaBeans和ActiveX控件一样使用。
ArcGIS Engine开发包还包括所有的开发资源库,以支持全面的开发任务。许多应用程序界面(COM, Java, .NET, 和 C++)除了拥有对象模型图表和ArcGIS Engine每一部分的范例外,还提供一个集成化的帮助系统。ArcGIS Engine开发包允许用户建立和测试ArcGIS Engine应用程序中的包含在ArcGIS Engine Runtime及其所有选项中的功能。部属这些应用程序需要一个ArcGIS Engine Runtime许可和相应的选项[5]。
2.2基于用户的访问控制技术
中国世界文化遗产地理信息系统采用用户身份权限登录,访问控制技术是信息安全理论与技术的一个重要方面,用户在访问文化遗产地理信息系统时,必须是系统用户才能登录,只有通过身份鉴别的用户请求,才能进入系统进行相关操作。
-10-
河北联合大学矿业工程学院
2.3数据库技术
数据是信息系统的中枢,数据库是以一定的组织方式存储在一起的相互关联的数据集合,能以最佳方式,最少重复为多种目的服务。数据库设计时,必须满足数据库建设的要求,需满足中国世界文化遗产地理信息系统的要求。具体而言,数据库的设计要遵循如下一些原则:
(1)数据库安全稳定
数据库是系统良好运行的关键,因此,必须从软硬件平台选型、数据库结构等方面进行优化设计,确保数据库的稳定运行。采用严格的用户身份认证措施防止非法用户的攻击,做好数据的备份,防止数据库的崩溃。
(2)数据库设计必须规范合理
数据库设计必须符合数据完整性和数据最小处理单元的原则,进一步完善数据操作的安全性、完整性、一致性、并发性、保密性等。
(3)空间属性数据的存储管理
为了实现对该系统数据业务的高效访问和操作,便于数据更新维护,必须考虑将空间数据和属性数据进行统一的设计,实现空间和属性的综合查询和管理。
(4)能够适应数据的实时更新
消防数据管理中各项数据的编辑操作应能在数据库中得到实时更新。数据编辑更新后关联数据也必须得到相应的更新,数据库设计将遵循ER实体关系模型,建设各个表之间合理的逻辑关系,确保数据库表之间的关联更新[6]。
对任何系统而言,其核心模块都是面向不同服务对象的数据库,数据库质量的优劣,直接影响着系统目标的成败。中国世界文化遗产地理信息系统的开发需要数据库系统的强有力的支持。考虑到定量的统计或观测数值数据的与空间地理特征信息的不同性质,将数据的存储与管理分为属性数据库和空间数据库,并采用一个共同的关联项,即GPS测得的坐标将它们关联起来。
数据库支持过程如图2.1。
-11 -
第2章 系统相关理论与技术
GIS子系统 查询子系统 数据库 中国世界文化遗产地理信息系统系统 数据库管理 图2.1数据库支持过程图
地理空间数据库的支持如图2.2。
用户界面 数据输入 空间分析 数据输出 应用模块 地理数据库 图2.2 地理数据库模块示意图
2.4地理信息系统简介
地理信息系统(Geographic Information System, 简称 GIS)作为获取、存储、分析和管理地理空间数据的重要工具、技术和学科,近年来得到了广泛关注和迅猛发展。由于信息技术的发展,数字时代的来临,理论上来说,GIS可以运用于现阶段任何行业。GIS经过了40年的发展,到今天已经逐渐成为一门相当成熟的技术,并且得到了极广泛的应用。尤其是近些年,GIS更以其强大的地理信息空间分析功能,在GPS及路径优化中发挥着越来越重要的作用。GIS地理信息
-12-
河北联合大学矿业工程学院
系统是以地理空间数据库为基础,在计算机软硬件的支持下,运用系统工程和信息科学的理论,科学管理和综合分析具有空间内涵的地理数据,以提供管理、决策等所需信息的技术系统。简单的说,地理信息系统就是综合处理和分析地理空间数据的一种技术系统。
空间分析能力是GIS的主要功能,也是GIS与计算机制图软件相区别的主要特征。空间分析是从空间物体的空间位置、联系等方面去研究空间事物,以及对空间事物做出定量的描述。一般地讲,它只回答What(是什么?)、Where(在哪里?)、How(怎么样?)等问题,但并不(能)回答Why(为什么?)。空间分析需要复杂的数学工具,其中最主要的是空间统计学、图论、拓扑学、计算几何等,其主要任务是对空间构成进行描述和分析,以达到获取、描述和认知空间数据;理解和解释地理图案的背景过程;空间过程的模拟和预测;地理空间上发生的事件等目的[7]。
2.5 GIS设计方法的选择
为了保证信息系统的开发质量,降低开发费用及提高系统开发的成功率,必须借助于科学的设计方法。几十年来,人们在大量的系统开发实践中,探索和发展了许多指导系统开发的理论和方法,如结构化生命周期法、原型法和面向对象的开发方法等,这些方法都相对成熟和完善,而且在实践中应用相对广泛。
结构化生命周期法规定了软件开发过程中的各项工程活动,一般包括可行性分析、需求分析、总体设计、详细设计、编码及测试六项活动,并规定了它们从上而下,相互衔接的固定次序,前一阶段的成果是后一阶段工作开始的基础。这种开发方法为软件开发提供了一个较为成熟和完善的管理模式,而且直观易学。其最大的不足是缺乏灵活性,尤其是在软件需求不明确或不准确的情况下,问题更为突出;其次还有修改困难、难以维护和软件模块重用性差等缺点。
原型法的主要思想是借助原型(即所开发软件的一个早期可运行版本,它反应了最终系统的部分重要特性)来辅助软件开发。在开发初期,开发人员根据自己对用户需求的理解,利用开发工具快速构造出原型软件,用户及开发人员通过对原型软件的试运行、评价、修正和改进,逐步明确对软件的功能需求以进行正式开发或者直接把原型扩充成最终产品。这种开发方法的优点是增进了开发人员和用户对系统功能需求的理解,为用户提供了一种有力的学习手段,能有效的保证最终产品的质量,尤其是可以大大提高用户接受性。但是,采用原型法进行软件开发,软件原型是否具有代表性直接影响到软件开发的成功与否。
面向对象技术将客观世界(问题论域)看成是由一些相互联系的事物(对象)组成,每个对象都有自己的运动规律和内部状态,对象间的相互作用和相互联系
-13 -
第2章 系统相关理论与技术
构成了完整的客观世界,问题的解由对象间的通讯来描述。面向对象的开发方法包括分析阶段、高层设计、类的开发、实例的建立、组装测试几个阶段[8]。
考虑到本系统是在自己实际需要的基础上开展的,其用户需求易于明确,还有系统的规模容易控制,故系统选用的是结构化生命周期法和原型法相结合进行系统设计。
2.6本章小结
本章首先介绍了系统开发工具与平台所用到的设计语言和开发组件ArcEngine,说明了基于用户的访问控制技术和数据库技术,最后详细介绍了中国世界文化遗产地理信息系统与地理信息系统的联系和本系统所用GIS方法的选择。
-14-
第3章 系统需求分析和总体设计
第3章 系统需求分析和设计
3.1 系统需求分析
中国历史悠久,文化底蕴深厚,目前已经列入世界文化遗产的名单有27处,由于每一处文化都是在一定的地域环境下产生的,所以每一处文化遗产都有很强的地域性,而地理信息系统对文化遗产的地域性可以做出很好的处理,从而可以从整体把握文化遗产的地域分布和了解各文化遗产的内涵。5月中国文化遗产研究院中国世界文化遗产基础数据库建设采购项目招标结果已经出来了,主要利用地理信息系统处理文化遗产周围的矢量地图数据,建立文化遗产数据库。国内已经有很多文化相关的地理信息系统了。迫于处理高速发展的文化信息和保护现有的文化遗产的完整性,现为文化管理部门编写了中国世界文化遗产地理信息系统。文化管理部门可以对文化遗产数据库进行管理和利用GIS的空间分析功能分析文化遗产产生的影响,为把握文化的发展方向和保护文化遗产提供数据支撑[9]。
3.2可行性分析
中国世界文化遗产地理信息系统选用的ESRI公司的ArcGIS9.3系列软件,辅以ESRI ArcGIS9.3的二次开发工具ArcEngine组件及微软公司所开发的一种面向对象且运行于.NET Framework之上的高级程序设计语言C#进行设计开发。
C#是面向对象的程序设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。而ArcEngine是随ArcGIS 9一起推出的一种新的开发者产品,它包含了创建和部署用户GIS解决方案应用程序所需的所有内容。使用ArcEngine开发者能够为现有的应用程序添加动态制图和GIS功能,或者构建他们自己的专门制图程序。ArcEngine提供了良好定义的、跨语言的对象集,称之为ArcObjects,它包括了ArcGIS桌面用户界面之外的所有ArcGIS功能。两者结合,本系统在技术上并无问题。
3.3系统目标
开发设计中国世界文化遗产的浏览、查询、统计分析模块,为我国的世界文化遗产研究和文化遗产的保护提供数据支持。
-15 -
第3章 系统需求分析和设计
3.4总体设计要求
为了使系统满足科学化、合理化和经济化的总体设计要求,本系统遵循了以下基本原则:
(1)完备性:系统功能齐全完备,具有管理、处理、查询、显示、分析及输出等功能;
(2)系统性:空间数据和非空间数据要有机地结合为一体,与其他系统可以实现数据共享;
(3)实用性:系统数据组织灵活,可以满足不同数据分析的要求,为生产实践、管理、决策服务;
(4)可靠性:数据精度和系统安全都要可靠;
(5)扩充性:系统采用的是模块化结构设计,模块性强,模块的增减及修改对整个系统影响很小,便于系统扩充改进,使该系统随着项目工程进展情况处于不断完善之中[10]。
3.5软、硬件配置方案
用户端软硬件配置推荐如表3-1。
表3-1 用户端软硬件配置
设备 处理器 内存 硬盘 操作系统 数据库软件 软件环境
配置
Intel Pentium 1G Hz
1G 80G Windows7 Access2007
Microsoft Visual Studio 2010 ArcEngine Runtime 10
3.6系统设计架构
系统整体体系结构被分为应用层、分析层、数据管理层、信息源层四个层次,
-16-
河北联合大学矿业工程学院
其层次逻辑结构如图3.1所示:
用户(系统管理员、普通用户)人机界面交互用户(系统管理员、普通用户)应用层数据输入数据存储与显示数据查询与分析数据输出分析层GIS应用平台ArcEngine组件式GIS开发平台系统集成面向对象的高级程序设计语言C#管理层空间、属性数据库信息源层 图3.1 系统架构
3.7系统功能设计
根据系统的目标不同,将本系统分成七个功能模块,如图3.2所示:
中国世界文化遗产地理信息系统 用户登录模块 数据库管理模块 文化遗产欣赏模块 文化遗产链接模块 地图显示模块 文化遗产影响模块 文化遗产查询模块 图3.2中国世界文化遗产地理信息系统结构图
-17 -
第3章 系统需求分析和设计
3.8数据库模块
3.8.1数据库表的设计原则
(1)不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同 组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的性,为系统或表结构的重构提供可能性。
(2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。
(3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。
(4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:一个表应满足第二范式,且属性间不存在传递依赖。
(5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1-N或N-N的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。
(6)在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。这时,应根据反向工程的思路反馈给领域模型。如果表结构中存在多值依赖,则证明领域模型中的对象具有至少两个以上的职责,应根据第一条进行设计修正。第四范式:一个表如果满足BCNF,不应存在多值依赖。
(7)在经过分析后确认所有的表都满足二、三、四范式的情况下,表和表之间的关联尽量采用弱关联以便于对表字段和表结构的调整和重构。并且,我认为数据库中的表是用来持久化一个对象实例在特定时间及特定条件下的状态的,
-18-
河北联合大学矿业工程学院
只是一个存储介质,所以,表和表之间也不应用强关联来表述业务(数据间的一致性),这一职责应由系统的逻辑层来保证,这种方式也确保了系统对于不正确数据(脏数据)的兼容性。当然,从整个系统的角度来说我们还是要尽最大努力确保系统不会产生脏数据,单从另一个角度来说,脏数据的产生在一定程度上也是不可避免的,我们也要保证系统对这种情况的容错性。这是一个折中的方案。
(8)应针对所有表的主键和外键建立索引,有针对性的(针对一些大数据量和常用检索方式)建立组合属性的索引,提高检索效率。虽然建立索引会消耗部分系统资源,但比较起在检索时搜索整张表中的数据尤其时表中的数据量较大时所带来的性能影响,以及无索引时的排序操作所带来的性能影响,这种方式仍然是值得提倡的。
(9)尽量少采用存储过程,目前已经有很多技术可以替代存储过程的功能如“对象/关系映射”等,将数据一致性的保证放在数据库中,无论对于版本控制、开发和部署、以及数据库的迁移都会带来很大的影响。但不可否认,存储过程具有性能上的优势,所以,当系统可使用的硬件不会得到提升而性能又是非常重要的质量属性时,可经过平衡考虑选用存储过程。
(10)当处理表间的关联约束所付出的代价(常常是使用性上的代价)超过了保证不会出现修改、删除、更改异常所付出的代价,并且数据冗余也不是主要的问题时,表设计可以不符合四个范式。四个范式确保了不会出现异常,但也可能由此导致过于纯洁的设计,使得表结构难于使用,所以在设计时需要进行综合判断,但首先确保符合四个范式,然后再进行精化修正是刚刚进入数据库设计领域时可以采用的最好办法。
(11)设计出的表要具有较好的使用性,主要体现在查询时是否需要关联多张表且还需使用复杂的SQL技巧。
(12)设计出的表要尽可能减少数据冗余,确保数据的准确性,有效的控制冗余有助于提高数据库的性能。
3.8.2文化地理位置数据
空间数据类型是地图中的点,线,面等空间实体的图形表达,本系统的示例数据为1:400万中国地图矢量数据。所有空间数据都在Geodatabase这个人空间数据库中,空间坐标参考系为Beijing_1954_3_Degree_GK_CM_117E,所有的文化数据都在culture图层,属性有文化名称、申遗时间、位置等信息。
-19 -
第3章 系统需求分析和设计
3.8.3数据库数据表
中国世界文化遗产地理信息系统文化遗产表如表3-2所示:
表3-2 数据库数据表
表名 登录 文化名称
图片,视频
text, text
用户名、密码
id,文化名称,位置,申遗时间,历史,
字段
数据类型
char,char
int,char,char, date, char,
3.9通用GIS功能模块
通过GIS功能模块,提供一般GIS系统所共有的功能。
(1)图形操作:即主要是提供给用户对地图的操作功能,中国世界文化遗产地理信息系统提供的图形操作功能包括图形的放大、缩小、自由缩放、漫游、全图显示、刷新、选择、编辑等。
(2)信息查询:即主要是空间数据与属性数据之间双向查询,用户可通过用鼠标单击地图要素的方式得到它的属性信息,也可通过设置一定的查询条件,得到满足该条件的所有地图要素,这种查询是在用户参与下交互完成,考虑到用户的操作或输入很可能会出现错误,系统必须具备较强的容错能力。
(3)空间分析:即空间分析功能是GIS系统区别于计算机辅助制图系统的重要特征,是GIS所特有的功能,中国世界文化遗产地理信息系统提供针对地理实体的缓冲区分析等空间分析功能,缓冲区分析则是根据指定的距离在点、线、面实体周围自动建立一定宽度的区域范围的分析方法。
(4)输出功能:即输出功能也是中国世界文化遗产地理信息系统的重要功能之一,具备对地图、表格、专题图的排版、打印输出功能以及将地图输出为多种图片格式的能力。
3.10接口说明
内部接口:图层接口 Ilayer;图层要素接口 Ifeaturelayer; 要素接口 Ifeature;游标接口 Ifeaturecursor;工具接口 Icommand;文件过滤器接口Iqueryfilter;图层数据集接口IDataset等。
外部接口:本系统通过ArcEngine集成好的ToolbarControl, Toccontrol和Mapcontrol控件加载并对地图进行图层的控制和管理操作。
用户接口: 通过ToolBarManager自定义类的ShowControl接口实现对移动
-20-
河北联合大学矿业工程学院
工具条的控制;IRasterAnalyse,IRasterCalculate和IRasterInterpolation实现栅格数据的处理操作,这些接口被MyAboutRasterClass类实现;通过定义Fish类实现生成矢量统计网格的功能,并通过ZonalStatistic类实现将生成的矢量统计网格下的栅格数据的平均值、最大最小值等[11] [12]。
3.11 本章小结
本章主要介绍了中国世界文化遗产地理信息系统的需求分析和系统设计,其中系统分析涉及可行性分析和系统目标,系统设计主要介绍了系统设计方法的选择、总体设计要求、软硬件配置方案、系统设计架构,另外还介绍了系统的功能设计和接口说明。
-21 -
河北联合大学矿业工程学院
第4章 详细设计
4.1界面设计
界面是系统与用户实现交互的部分,它体现了系统的整体感觉,一个系统是否拥有好的界面是用户能否接受该系统的基本前提。而一个拥有了舒适美观、简洁明了又通俗易懂的界面的系统则具有了最起码的市场魅力,从而也为其赢得更高的使用率。
系统数据库界面如图4.1所示:
图4.1 数据库主界面
目前第三方控件在网上形成巨大的共享资源,各种漂亮强大的第三方控件层出不穷。用第三方控件进行界面设计将使得工作事半功倍,俗称“编程中的拿来主义”,且设计出的界面异常漂亮美观,能给用户的视觉带来巨大冲击力。DevComponents.DotNetBar2.dll组件是一种控件相当丰富且控件界面非常美观的第三方组件,它不仅功能丰富,应用简便,而且界面华丽,更可方便定制。对于编程人员来说是个不错的选择。它的菜单栏控件更具代表,完全可以替代开发环境提供的基本控件,而让您编写的程序或软件更显专业化[13]。它还提供完善的帮助系统,资料详尽,可以快速入手。有些高级控件更是零代码的,非常易于使用。
-22-
第4章 详细设计
因此,中国世界文化遗产地理信息系统也部分引用了DevComponents第三方控件,搭建的界面跟Word2007界面十分相似[14],将同一功能模块中的功能按钮分门别类集中放置,使得界面清晰美观,符合或贴近用户使用习惯。
系统GIS分析界面如图4.2所示:
图4.2 GIS分析主界面
4.2系统工具栏及快捷菜单实现
4.2.1 GIS分析模块工具栏
(1)文件菜单:包括打开地图、保存地图、打印和退出系统。
(2) 地图浏览工具:用户可以在工具栏上选择不同工具对地图作任意操作,如图4.3,对电子地图实施放大、缩小、移动、全图显示、中心放大、中心缩小、前一视图、后一视图等操作。这一部分主要是在地图显示的子系统中体现的,在进行地图的操作时,选择不同的功能如放大,缩小,漫游等等操作,这些都是ArcEngine自带的功能,用户可以直接用语言调用采用以鼠标定位点在哪里或者拉一个矩形框对地图进行区域放大,这部分和鹰眼导航联系起来,用户可以任意的浏览地图的每一处。
-23 -
河北联合大学矿业工程学院
图4.3 地图浏览工具栏
4.2.2快捷菜单
本系统主要提供图层控制菜单及地图操作窗口的快捷菜单。图层控制的右键菜单根据右键的位置不同而不同(如图4.4所示),提供了图层控制的常用的操作,打开属性表、标注属性。
图4.4 快捷菜单
4.3系统菜单栏实现
为了使用方便及界面的美观,本系统采用了DevComponents提供的第三方控件。一级菜单包括文件、文化遗产管理、地图显示、文化查询、文化图片欣赏、文化视频欣赏、文化链接等7项。如图4.5所示:
图4.5 一级菜单
(1)文件:用户注册和退出程序。 (2)文化遗产管理:文化添加和文化修改。
(3)地图显示:将文化遗产的位置在中国地图上显示,并可做专业GIS分析。
(4)查询:可以查询文化遗产的详细信息。
(5)文化图片欣赏:可以欣赏想要了解的文化遗产的图片信息。 (6)文化视频欣赏:可以欣赏想要了解的文化遗产的视频介绍。 (7)文化链接:可以链接到相关网站,了解中国世界文化遗产的最新新闻以及其他信息。
-24-
第4章 详细设计
4.4 系统主要功能实现
4.4.1查询功能
本系统提供了两种基本查询功能,数据库查询和地图查询。数据库查询可以方便文化管理着快速找到想要知道的文化遗产信息。地图查询可以方便用户快速在地图上定位并查询文化遗产信息。
(1)数据库查询:是一种最基本的查询方式,文化管理者可以快速查看文化遗产信息,方便文化管理者了解文化遗产信息。查询模块如图4.6所示:
图4.6 数据库查询
(2)按属性选择查询:此处查询应用IQueryFilter接口和IEnumlayer接口,AE中提供了IQueryFilter、ISpatialFilter、IQueryDef三种查询的接口,IEnumlayer接口只有Next和Reset的两种方法,第一种方法用于遍历图层,后一种方法初始化为第一个图层为默认项。按属性选择查询可以让用户按照某种字段进行查询,如图4.7所示高亮的点是符合筛选的条件的查询结果。
-25 -
河北联合大学矿业工程学院
图4.7 按属性选择查询
4.4.2数据管理功能
文化遗产信息管理:主要是对已经列入世界文化遗产的中国文化遗产的数据进行管理,包括对数据的的添加、删除、修改、查询等功能。
(1)查询窗口可对已经列入世界的中国文化遗产进行查询,从中可知道该文化遗产的申遗时间、历史、地理位置等详细信息。查询窗体如图4.8所示:
图4.8 文化信息查询窗口
-26-
第4章 详细设计
(2)修改窗口可对已经存在的文化遗产信息进行些微修改和补充。另外可对已经破坏被注销的文化遗产进行删除操作。修改窗口如图4.9所示:
图4.9 修改窗口
4.4.3缓冲区分析
缓冲区分析是指以空间点状、线状、面状等地物为基础,在其周围建立一定宽度的多边形区域,用来分析空间数据对周边区域的影响。缓冲区分析是地理信息系统中的一种重要的和基本的空间操作功能。空间点状、线状和面状地物的缓冲区形式如下图所示,其中面状地物的缓冲区可以有正负之分,一般以位于多边形内部的缓冲区为负,而位于多边形外部的缓冲区为正。本系统中的缓冲区分析功能通过调用ArcEngine提供的方法来实现,主要用来某个文化遗产对周围县城驻地经济产生的影响,从而为管理者对影响分析结果提供依据。如图4.10所示:
-27 -
河北联合大学矿业工程学院
图4.10 缓冲分析
4.5 本章小结
本章主要介绍了系统各个界面的功能实现和各界面的的实现过程。系统数
据库界面有文件、文化遗产管理、地图显示、查询、文化图片欣赏、文化视频欣赏和文化链接7个菜单。GIS分析模块有文化影响分析、工具箱、编辑数据、文化专题图4个大的功能模块,文化影响分析模块能分析某个文化对周围一定区域的经济或居民生活产生的影响。工具箱里有查询功能、长度测量、面积测量和坐标系转换4个功能。编辑数据模块可以删除图层、添加shp文件、添加cad文件和打印地图4个功能。
-28-
结论
结 论
中国世界文化遗产地理信息系统是在中国世界文化遗产数据库的基础上建立的,运用C#,ARCENGINE,SQL数据库,开发出的服务于中国文化管理部门的系统。并得出以下结论: (1)文化遗产信息管理功能,主要为文化管理者提供对文化遗产的添加、修改、删除、查询功能。方便管理文化遗产信息。(2)GIS分析功能,通过加载中国地图,显示世界文化遗产在全国的分部情况,可对地图进行基本的GIS操作,如地图放大缩小、平移、全图、中心放大中心缩小。另外可以测量距离面积,查询属性,可分析某个文化对周围市区产生的影响。
文化GIS的研究和开发起步较晚,是从城市地理信息系统中完全出来的,针对文化部门的GIS,目前很少。地理信息系统技术在我国许多行业已经得到了成功应用,而且初见成效,尤其是空间数据库技术与 WebGIS 技术的出现,一方面使地理信息系统管理海量数据成为可能,另一方面使地理信息系统走向大众化。这样,不仅使系统建设的技术风险大大下降,同时也使地理信息系统的应用领域和应用水平不断扩大和提高。通过本次课程设计的宗旨在于运用C#+AE来实现一个文化GIS系统,对以后的研究打一个基础。
通过这次学习使我进一步加深了对于ArcEngine二次开发组件的认识,熟悉了二次开发的流程。GIS系统是一个综合性的系统。系统的工作量很大,由于时间等各种因素的,系统的数据信息还需要作进一步的充实和完善。
-29 -
参考文献
参考文献
[1] 李满春,任建武,陈刚等.GIS设计与实现[M].北京:科学出版社,2003. [2] 乌伦,张晶,赵伟等.地理信息系统[M].北京:电子工业出版社,2002. [3] 汤,杨昕.ArcGIS地理信息系统空间分析实验教程[M].北京:科学
出版社,2006.
[4] Kang-tsung Chang.地理信息系统导论[M] .北京:科技出版社,2003. [5] 乌伦,张晶,赵伟,等.地理信息系统[M].北京:电子工业出版社,2002. [6] 吴辰,胡书敏,蔡威等.Visual C# 2005 数据库通用模块开发与系统的移植
[M].北京:清华大学出版社,2007.
[7] 吴辰,胡书敏,蔡威等.Visual C# 2005 数据库通用模块开发与系统的移植
[M].北京:清华大学出版社,2007.
[8] 崔铁军.地理空间数据库原理[M].北京:科学出版社,2007. [9] Kang-tsung Chang.地理信息系统导论[M].北京:科学出版社,2003. [10] 厉以猷. 中国世界遗产地边缘特征及其思考 [ J ] .旅游学刊 , 2005, ( 3) . [11] 吴必虎 ,李咪咪 ,黄国平. 中国世界遗产地保护与旅游需求关系 [ J ] .
地理研究 , 2002, ( 5 ) .
[12] 迈拉·沙克利.游客管理 — 世界文化遗产管理案例分析 [M ] .张晓萍 ,
何昌邑等译. 昆明 :云南大学出版社 , 2004.
[13] Michael F.Goodchild,The link between GIS and Spatial analysis,Journal of
Geographical systems,2000,2.
[14] Yin Bangzhi. Implemention of the Using Chinese Phonemic Notation Initial to
Query SQLServer 2005 Database with VC#2008[J]. Computer Knowledge and Technology, 2007(11): 650-651.
-30-
谢辞
谢 辞
-31 -
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务