http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> ArcObjects开发 >> 正文

基于ArcGlS Engine的地理信息数据库管理系统设计与实现

作者:杨平  骆…    文章来源:国土资源信息部信息中心    点击数:    更新时间:2007-1-28
摘要:
 

   随着城市建设的发展,在城市规划和土地管理过程中需要使用大量的地理图形数据,同时在具体业务办理过程中也要产生大量的空间信息,这些信息既是国土资源管理的结果,也是下一阶段工作的 重要参考和决策依据。

 

  广州市国土资源和房屋管理局作为广州市的土地管理部门,历年来积累了大量的地形、地籍和土地利用等空间和属性数据,但这些数据分散在局内各个部门,且数据的坐标基础和数据格式都不尽相同,给各部门间的业务衔接和数据共享带来了极大的麻烦。因此必须依据统一的标准规范建立一个全局共享的地理信息数据库,并开发一套能够集中管理、维护并更新海量空间数据的地理信息数据库管理系统对其进行管理和维护,从而为各部门业务办理和应用系统开发提供统一的数据平台,从整体上提高广州市国土房管局的工作效率和管理水平。


   本文简述了地理信息数据库管理系统的结构和功能,以及用.Net开发语言建立基于ArcGIS  Engine 的广州市国土资源和房屋管理局地理信息数据库管理系统的思路和方法。


  1  ArcGIS  Engine简介


    ArcGIS  Engine是与ArcGIS9.0同时推出的独立的软件开发包,可以脱离ArcGIS  Desktop环境进行应用程序开发。


    ArcGIS  Engine提供了21个组件对象库,其 中有基本的图形库esriGeometry、显示库esriDis-play、制图库esriCarto等,扩展的对象库有三维分析库esri3D An alyst、网络分析库esriNetworkAnalyst等。这些组件对象库对ArcGIS底层功能进行了封 装,使GIS开发人员能够集中精力按照应用需求进行开发。


    ArcGIS  Engine是按照COM标准实现的,支持跨平台和多种编程语言的开发,在Windows下支持C++、Java、VB、Delphi和.Net等,在UNIX和LINUX下支 持C++和Java,所以可以选择多种开发方式。

 

    同ArcObiects相比,ArcGIS Engine是对ArcOb-iects的提炼和简化,Arcobjects是对ArcMap、ArcCata- log等应用程序的基础,所以结构庞大。脱离了Ar- cG IS桌面软件的ArcGIS  Engine结构更加合理,其提供的功能完全能够满足各种层次的开发需要,而且保持了开放性和扩展性。


   利用ArcGIS在地理信息系统方面的基础结构,构建面向特殊应用的地理信息系统软件。


  2  系统的总体设计


  2.1设计依据


    标准是数据库建设的灵魂,也是数据库管理系统开发的基础。国家、省、市都对土地利用、地形、地籍等数据制定了一系列标准规范。结合广州市的实际特点,系统严格依据《广州市城乡地籍数据库建库标准》来组织数据、定制功能、设计数据库和接口,并在具体实现中对其进行必要的扩充,使系统具有良好的规范性和可扩展性。


  2.2系统结构


    系统运行在国土局内部的局域网环境中,采用C/S体系结构,数据库系统采用Oracle9i,在局内建立统一的数据服务器,地理信息数据统一集中存储,以保持数据的一致性。服务器端用ArcSDE作为空间数据引擎。利用ArcGIS  Engine开发的地理信息数据库管理系统作为客户端部署在数据库管理部门,提供对数据的检查、数据入库和数据更新等功能。


  系统的总体结构如图1。

 

            

 

2.3空间数据的组织


    空间数据分矢量和栅格两种不同形式分别存储于数据服务器上。


    矢量数据采用ESRI公司的Geodatabase数据模型进行存储,在逻辑上根据图件的比例尺和种类将空间数据划分为不同的子库,在每个子库中将图件按要素类别划分成不同的图层,同时将类别或性质相关的图层组织成大类。即矢量数据按子库、大类、图层的层次关系进行存储,如将1:10000地形数据定义为一个子库,在子库中定义水系、道路等大类,每个大类中又有一系列的图层,如水系中又分为线状水系和面状水系等图层。矢量数据的具体组织方式以及与Geodatabase模型元素的对 应关系如图2所示。

 

              


    栅格数据主要是正射影像图和一些扫描图件,对于该类数据,以目录文件方式进行存储,将每类栅格数据作为一个子库,对每个栅格子库建立目录,在这个子库级目录下为其所包含的分区建立目录,在具体的分区目录中以图幅为单位存放该区的栅格图像。栅格数据的组织结构如图3所示。

 

                 

 

 3  系统主要功能


    客户端的地理信息数据库管理系统通过一系列功能模块组成的集成化应用程序向用户提供空间数据的管理工具,所有模块以服务器端的地理信息数据库为基础,主要实现以下功能:


    (1)数据质量检查模块:主要依据数据库建库标准以及相应的国家标准和行业规范,对空间数据的位置精度、拓扑关系以及属性数据的完整性和逻辑一致性进行检查,生成检查报告,从而严格控制数据质量,确保数据达到入库的要求。


    (2)数据入库模块:将检验合格的空间数据导人空间数据库,在导人过程中自动完成要素接边, 并将被更新的数据作为历史记录加以保留。


    (3)版本管理模块:由于空间数据具有时间的特性,不同时期具有不同的形状和属性,因此需要将过去的数据保留于历史库中,方便用户对历史情况的查询。该模块在整个数据库中以时间为主线记录了空间数据的变化情况,使用户能够自由浏览各时期数据,将不同时期的数据进行对比,并能将数据库回溯到以前的某个状态。


    (4)数据浏览查询模块:该模块使用户能够对地理信息数据进行图形浏览,完成从图形和属性间的双向查询与检索,并根据用户的要求对数据进行简单的汇总统计。


    (5)制图输出模块:该模块向用户提供以标准图幅或自定义的方式打印地图数据的工具,用户可选择预先定制好的打印模板,对输出图形进行地图整饰,并根据地理数据库中的数据制作各种专题图,包括点密度图、柱状图等。


    (6)空间数据编辑模块:该模块提供类似于CAD的图形编辑功能,让用户通过简单的交互实现对数据库要素的增加和删除以及修改要素的图形特征和属性。


    (7)数据库结构管理模块:提供数据库扩展功能,使用户能够根据需要或新的数据规范增加、删除或修改地理信息数据库的逻辑组织结构。具体包括对子库、大类、图层的增加、删除,以及对各图层中字段的增加、删除和修改。


    (8)元数据管理模块:提供对入库地理信息元数据的集中管理,具体包括对元数据字段的增加和删除,修改元数据字段的描述及数据类型。


    (9)符号库管理模块:系统依据各类图件的图式规范制作了一套完整的地图符号库,并利用该模块对符号库进行管理,可方便地浏览符号库中的所有符号,增加或删除符号,修改设置各符号的基本属性。


    (10)系统安全模块:它是系统能够持续稳定运行的重要保障,用户管理功能将用户划分为不同的组,并为各组分配相应的权限,使其只能使用特定功能或操作特定范围的空间数据;  日志管理功能记录登录用户对数据库的各项操作;数据库的备份与恢复功能,以便在数据库崩溃时能够重建。

 

4  系统的实现
    基于上述设计方案,作者在SUN880服务器上建立了空间数据库。服务器的硬件环境为CPU:2个主频1.2G;内存:4G;硬盘:10个73G的磁盘阵列;备份磁带:800G;软件环境为:操作系统SO-LARIS 9,DBMS:Oracle9i + ArcSDE9.0,通过如此高性能的硬件设备和先进的支撑软件,为整个系统提供了高效、稳定的后台数据库。客户端作者在Windows2000平台上利用VB.Net 2003和ArcGISEngine工具包开发实现了一个客户机/服务器(C/S)两层结构的地理信息数据库管理系统。


    图4显示了系统运行时的主界面,其上的菜单、按钮提供了系统各组成模块的具体功能,用户通过点选适当的功能即可实现对空间数据库的浏览查询以及对整个空间数据库的管理和维护。


    图5显示了对空间数据库图层子段扩展维护的界面。

                 

 

              

 

 

5  小结


    本文简述了建立地理信息数据库管理系统的设 计与实现方法,技术上选择成熟的ArcGIS  Engine 作为开发工具,避免了从底层开发网络应用和空间 数据库访问的技术难度。


    目前广州市国土资源和房屋管理局地理信息数据库管理系统已在全局范围内正式运行。利用系统强大的空间数据管理与维护功能将局内所有空间数据按照统一的标准集中管理,为各处室提供了数据共享平台,并通过空间数据访问接口为需要使用空间数据的应用系统开发提供了一致的开发框架。该系统的使用解决了广州市国土局业务办理中数据流不衔接的问题,提高了业务办理的效率和正确性,推动了广州市国土房管局整体的信息化水平。


  今后,系统将进一步增强统计分析功能,使其能根据具体业务定制各种统计报表并作深入分析,为决策提供依据;系统还将优化数据更新机制,使 数据更新能够更准确、及时、高效,确保数据的现势性,以促进系统更广泛深入的应用。


    参考文献

   11]  ArcGIS  Enginc  Developer  Guide[Z].  EnvivronmentalSystems Research lnstitute lnc,2004.
   [2]王家耀.  空间信息系统原理[M].北京:科学出版社2001.
   [3]冯建华等.  数据库系统设计与原理[M].北京:清华  大学出版社,2004.
  [4]尹建忠,何政伟等.基于ArcGIS的土地资源信息系统 (LRIS)开发研究  [J].新疆石油学院学报,2003.4.

Tags:ArcGlS Engine  
责任编辑:gissky
相关文章列表
没有相关文章
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图