开篇:润墨网以专业的文秘视角,为您筛选了一篇基于AO的土地信息系统的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要 土地信息化、数字化是当代土地信息技术发展的主要方向。而土地信息系统的设计恰恰能满足土地信息的管理和规划问题,本文就是主要介绍基于ao插件建立土地信息系统的过程。文章首先简要地介绍了土地信息系统的概念、特点和基本构成,以及与系统开发相关的COM组件技术、组件式GIS技术以及ArcObjects开发组件等相关的关键技术,接着对系统的体系结构设计进行了阐述。重点研究了系统要实现的各种功能,包括数据导入、图层管理、数据编辑、信息查询、统计分析、用户管理等。希望能通过此次系统开发,为土地信息系统的建设积累更多经验,从而促进土地信息系统技术的发展。
关键词 土地信息系统;组件式GIS;ArcObjects
中图分类号TM6 文献标识码A 文章编号 1674-6708(2011)43-0206-03
0 引言
土地是人类最重要的资源和最宝贵的财富。但由于人类对土地资源的不合理利用,导致土地环境质量下降及土地资源浪费严重,人地矛盾也就日益尖锐起来[1]。为了更加充分合理地利用现有的土地资源,当今的土地资源管理机构基本上都采用了土地信息系统技术。
土地信息系统(简称LIS)是以土地资源管理为工作对象的计算机信息系统,它将土地空间信息、土地利用现状、土地使用权属、土地状况、土地行政区划等土地信息,以数字形式输入计算机,对有关信息进行收集、组织、存储、分析和表达,根据国家的法律、法规及政策,建立和管理各种文档,并借助输出设备以多种数据形式为管理决策部门提供所需信息和服务。根据地理信息协会的定义,土地信息系统是由土地相关信息组成的数据库以及描述、收集、处理和分配的技术方法组成,它是法律、行政和经济决策的工具,也是规划和发展的辅助工具。土地信息系统是地理信息系统的一个有机的组成部分,QEF的设备、技术方法如数据采集和管理、分析、存储、表达均可适用于土地信息系统。作为采集和提供土地信息的土地信息系统(LIS)是有效管理土地资源、制定土地有关政策的基础,在土地资源管理中发挥重要的作用。
本次设计即是借助ArcObjects开发组件在VB环境下建立了一个针对小型新兴城区的土地信息系统。
1 系统开发的关键技术概述
本系统主要是桌面式软件的开发应用,主要是借助于ArcGIS提供的COM组件ArcObjects,采用VB语言进行二次开发,实现软件需要的功能设计。
1.1 组件式GIS
随着COM组件技术的日趋成熟与不断发展,GIS软件的开发模式也从独立开发或宿主型开发转向了组件式开发。所谓组件式GIS,是指基于组件对象平台,以一组具有某种标准通信接口的、允许跨语言应用的组件形式提供的GIS[2]。组件式GIS符合了当今软件技术的发展潮流,极大地方便了应用和系统集成。同传统的GIS比较,这一技术具有以下几方面特点:[3]可复用性、可封装性、可组装性、语言无关性和无缝集成性。
1.2 ArcObjects简介
ArcObjects是美国ESRI公司ArcGIS家族中应用程序ArcMap、ArcCatalog、ArcScene的开发平台,它是基于Microsoft COM技术所构建的一系列COM组件产品。ArcObjects不是为最终用户而是专门为开发人员提供的二次开发软件。通过ArcObjects,用户可以非常方便地开发出功能强大的GIS应用系统。ArcObjects的体系结构十分庞大,共提供了11个控件、11大类25个组件库、1500多个类、1600多个接口。其中最常见的控件包括MapControl、PageLayoutControl、和SceneViewer,一些重要的功能如二维地图显示、地图制图与输出、三维显示与分析等都是以这三种控件为平台进行的,而所有的组件库提供的类和接口,也主要都是在这些控件的基础上展开应用的[4]。
ArcObjects的二次开发方式有3种:ArcGIS Desktop定制开发、基于高级语言环境开发独立应用程序和用于ArcGIS模块扩展的DLL开发。这3种开发方式各有优缺点,可以根据具体工程项目需要选择。下面简单地把这3种开发方式进行比较[5]。
2 系统的功能设计与数据库设计
一般情况下,土地信息系统是为了管理和规划某一区域的土地资源而专门建立的。因此,在系统设计的过程中要注意结合研究区域的实际需求,提高系统的实用价值。
2.1 系统的功能需求分析
由于本次设计要结合研究区域的实际情况来解决一些具体的应用问题,因此系统除了要具备作为土地信息系统所应具有的基本功能外,还应具有一些有一定针对性的统计分析功能。总体来说,系统的功能应满足如下需求:
1)土地信息系统所应具有的基本功能。如数据输入、图层管理、数据浏览等。这些功能都是土地信息系统的基本组成部分;
2)数据的编辑与维护。数据编辑是土地信息系统必不可少的基本功能之一。因为对于土地数据来说,其固定性是相对的,变化性是绝对的,而建立土地信息系统的目的之一就是要提供准确无误的土地数据,所以有必要对土地数据进行及时的更新。而土地数据变化的缓慢性、局部性以及土地数据的海量性又决定了一旦土地信息系统的数据库创建完成,就不可能因为短时间内的土地利用状况的变化而重新构建其数据库,因此土地数据的更新维护应通过数据的编辑功能来实现;
3)信息查询。查询功能也是土地信息系统所必备的基本功能之一。对土地数据的属性信息的访问主要是通过查询功能来实现的。而许多重要的非图形化土地信息如土地权属、土地利用类别等都是作为属性数据来保存的。因此查询功能是土地信息系统对土地数据进行管理的重要手段;
4)统计分析。虽然编辑功能和查询功能足以实现对土地数据的管理与维护,但一个土地信息系统仅仅实现对数据的管理和维护是远远不够的,还需要能够根据现有的数据进行统计分析以获得新的信息或有用结论,从而为规划与决策提供支持。事实上,研究区域的许多实际需求问题都是通过统计分析功能来解决的;
5)用户管理。进行用户管理主要是出于对土地数据进行保护的考虑。不仅土地数据本身需要保护以维护其准确性,在土地数据基础上通过统计分析所得到的新数据也不能对所有操作者公开。因为通过统计分析得到的新数据往往是规划和决策的重要依据,属于保密信息。
2.2 系统功能结构设计
根据系统需求分析,本次设计的系统功能结构共分为5大体系,即土地信息系统的基本功能、数据的编辑与维护功能、查询功能、统计分析功能和用户管理功能,如图1。
2.3 系统数据库设计
本次设计采用ArcGIS提供的Personal Geodatabase数据库方式,该方式是ArcMap默认的数据存储方式,具有存储效率高,拓扑功能良好的特点。Personal Geodatabase数据库方式采用要素类和要素集的方式来管理要素,如图2。使系统对地物要素的管理更加灵活方便。Personal Geodatabase的具体表现形式是*.mdb数据库文件。MDB(Microsoft Database)格式是Microsoft Access软件使用的一种存储格式,因其对数据操作的方便性而得到了较为广泛的应用。Personal Geodatabase数据库正是以这种格式为基础建立起来的。Personal Geodatabase数据库的具体创建方法是通过ArcCatalog按照数据库文件――要素集――要素类的顺序来创建。其中要素类的设置是地物要素类别的各种相关信息的集中体现如图3。
3 系统主要功能模块的实现
3.1 用户管理
设置用户管理功能的意义有两个。其一是维护数据安全,避免出现数据因有意或无意的篡改而造成的数据错误或数据丢失的严重情况。事实上,一旦出现这种情况,轻则影响土地利用分析规划结果的准确性从而做出错误决策,重则导致土地信息数据库的可用性荡然无存进而不得不重建数据库。用户管理功能的第二个意义是保护秘密信息。因为土地信息涉及到国家社会生活的许多领域,与社会经济发展、国家安全都有着密切的联系,因此土地数据的保密级别往往很高,不可能对所有人公开。本系统将用户管理分为用户登录、注册用户、注销用户3部分,如图4。
3.2 系统主界面设计
系统的主界面由菜单栏、工具栏、图层管理窗口、信息栏、地图窗口共五部分组成,如图5。
3.3 系统基本功能
系统的基本功能是构成系统的基本要素,如果没有基本功能,也就不存在所谓的系统。总体来说,系统的基本功能分为4个部分,即数据输入、图层管理、地图浏览以及要素选择。
3.3.1 数据输入
本次设计的系统支持两类数据的输入,一类是ArcGIS提供的Personal Geodatabase形式的要素类与要素集,另一类是栅格数据。其中要素类与要素集的添加可以实现多个要素类或要素集的同时添加。Personal Geodatabase形式的要素类与要素集属于矢量数据,因此系统支持的数据也可分类为矢量数据与栅格数据。
3.3.2 图层管理
图层管理功能由“图层管理”菜单和图层管理窗口分别承担。图层管理功能主要分为四类,即图层基本操作、图层整饰、图层属性表和编辑层设置。
3.3.3 地图浏览功能
一般来说,地图浏览功能只要具有放大、缩小、平移以及全图显示四大要素即可。但考虑到系统实用性的原则,本次设计开发了前后视图的功能。该功能的实际意义在于能够找回原有视图。在实际应用中经常会出现操作者不慎将视图过度放大或过度缩小从而无法找回原视图的情况。在这种情况下,如果数据正确且没有冗余,则可以通过全图显示功能回到全局视图进而重新开始,但如果数据有误或存在冗余,则全局视图很有可能呈现出一片空白的效果,从而无法找回原视图。如果遇到这种情况,就只能应用前后视图功能来找回原视图。
3.3.4 要素选取
作为一个土地信息系统最基本的操作,要素选取绝非是一个可有可无的功能,而是系统中最基本、最重要的功能。事实上,实现要素选取功能是实现许多复杂功能的必备前提。
本次系统的数据编辑与维护功能主要有绘制删除、要素的拖动与位移、节点编辑、分割合并、撤消恢复、编辑保存、属性数据编辑、冗余去除等。
3.5 查询功能
要素的查询功能是土地信息系统的基本功能,用户获取土地的各种信息都是通过查询手段来实现的。本次系统的查询功能分为3部分,分别是要素查询、属性查询和点坐标查询。
3.6 统计分析功能
在土地信息系统的功能体系中,除统计分析功能外,其余功能都是维护系统正常运行和工作必不可少的基本功能,这些功能虽然极为重要,但其作用在于为解决实际问题提供基础和前提,真正直接解决实际问题的是统计分析功能。也就是说如果没有前文所述的各种基本功能,则根本谈不到解决实际问题;但如果系统只具备基本功能却没有统计分析功能,则同样无法完成对现有数据进行统计分析进而解决实际问题的任务。统计分析功能的开发与设置体现了系统对实际需求的反馈,是系统功能与实际需求相结合的集中体现。本次系统开发的统计分析工具分为3类,分别是图表、地类信息统计和图斑信息统计。
这里以图斑信息统计的功能实现过程来说明统计分析功能的重大作用。图斑信息统计分为两类,一类是针对现有的单个图斑的统计;另一类是根据现有数据进行统计分析并以图斑的形式给出分析结果。
图斑可用面积统计:
图斑可用面积统计提供单个图斑的可用面积及图斑可用面积占图斑面积的百分比,如图6。其实现的核心代码如下:
Function DanKuaiKeYongMianJi(pjFeature As IFeature) As Double
For i = 0 To h
Set pLayer = ditu.MapControl1.Layer(i)
If TypeOf pLayer Is IFeatureLayer Then
Set pFeatureLayer = ditu.MapControl1.Layer(i)
Set pFeatureClass = pFeatureLayer.FeatureClass
If (pjFeatureClass.AliasName pFeatureClass.AliasName) And (pFeatureClass.AliasName "主城区") Then
Set pFields = pFeatureClass.Fields
Set pField = pFields.Field(1)
Set pGeometryDef = pField.GeometryDef
If pGeometryDef.GeometryType = esriGeometryPolygon Then
Set pFeatureCursor = pFeatureClass.Search(pSpatialFilter, False)
Set pFeature = pFeatureCursor.NextFeature
Do While Not pFeature Is Nothing
Set poGeometry = pjTopologicalOperator.Difference(pFeature.Shape)
Set pjTopologicalOperator = poGeometry
……
4 结论
本文借助ArcObjects开发组件,在Visual Basic 6.0的环境下开发了一个针对新兴城区的土地信息系统。本系统的主要功能包括系统管理、图层管理、地图浏览、矢量数据编辑、属性数据编辑。、冗余去除、查询功能、图表分析、地类信息统计和图斑信息统计、工厂选址分析等。虽然本次设计基本完成了设计之初制定的目标与任务,但由于时间仓促,加之本人的水平有限,本次设计难免存在着许多缺陷与不足。希望本文能够引起大家对LIS技术更为广泛和深入的研究与探索,促进土地信息系统技术的进一步发展。
参考文献
[1]杨志毅.基于GIS的土地利用信息系统――以宽城区为例[D].长春:土地资源管理学院,2007.
[2]刁海亭,房玉峰.基于组件式GIS 的城镇土地定级信息系统研究[J].山东农业大学学报:自然科学版,2001,38(4):624-627.
[3]朱大明,徐景中.基于组件式GIS 的旅游景点查询系统开发研究[J].昆明理工大学学报:理工版,2007,32(5):26-29.
[4]韩鹏,徐占华,褚海峰,姜文亮.地理信息系统开发――ArcObjects方法[M].武汉:武汉大学出版社,2005.
[5]夏春林,景海涛,柴华彬.GIS软件使用与开发[M].徐州:中国矿业大学出版社,2008.
注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”