1系统设计
以GIS技术、数据库技术、ArcGIS软件的优势,与基础地理信息数据库管理系统的需求以及面向对象的高级编程语言结合起来,展开研究工作。主要内容包括:根据基础地理信息数据库管理系统的要求和特点,运用GIS理论方法,结合ArcGIS10软件的优势,通过ArcSDE10连接大型关系型数据库Ora-cle11g,在VisualStudio2010中以C#为编程语言,结合ArcEngine10开发一套面向不同用户的基础地理信息数据库管理系统。系统实现了数据预处理、输入输出、数据表达、查询统计、数据更新、历史数据管理与回溯、元数据管理、数据结构维护和安全管理等功能。
2系统总体设计
基础地理信息数据库管理系统的目标是实现对多源、多比例尺、多类型、时空一体化的连续无缝基础地理信息数据进行格式转换、数据质检、入库更新、统计浏览、专题图制作数据输出等功能。
2.1数据库总体设计
具体目标应满足数据完整性、数据一致性、数据准确性和数据实体化[2]。城市基础地理信息数据库建立的目的是将分幅分层生产的数据进行整理,使之符合统一的标准和规范,并对数据进行有效组织与管理,便于空间数据的查询、分发与制图[3]。因此,基础地理信息数据库的基本要求是:标准化、规范化、编码统一、格式统一。在整个区域范围内操作空间数据时,必须建立逻辑上或物理上无缝的数据库。平面方面,分幅的数据要组织成一个无缝的整体;垂直方向,各种数据相互叠加和套合。功能上,基础地理信息数据库管理系统应具备数据输入输出、数据处理、数据表达、数据更新、历史数据管理、元数据管理、安全管理以及高效的空间数据查询等功能。结合ArcGIS10.0软件体系在空间数据组织、管理上的改进和变化,对空间数据的逻辑组织采用以下组织规则[4](见图1):1)数据库结构设计按对象类型组织和设计子库;2)DLG组织方式按数据几何特征、空间位置组织成不同数据集;3)DEM、DOM空间位置、分辨率信息等划分为不同的栅格编目进行组织存储;4)专题数据按矢量数据类组织,单独存储,但可与DLG数据统一组织管理;5)元数据采用关系表单独存储。
2.2数据库管理系统设计
根据城市测绘与地理信息局的业务要求以及数据建库需求,将城市基础地理信息数据库管理系统分为数据预处理模块、数据入库模块、数据更新模块、数据提取模块、数据浏览查询模块、空间分析模块、数据制图模块、符号化展示与平台环境配置模块[5]。1)数据预处理模块。提供入库前的数据的转换以及质量检查功能,通过该子模块,确保入库数据在格式、坐标参考以及质量等方面满足入库要求。它的作用在于确保数据库数据(实体数据和元数据)的完整性、正确性、权威性。各子模块功能包括。投影转换模块、坐标转换模块、格式转换模块和数据质检模块等。2)数据入库模块。主要实现多源空间数据成果的入库、加载、显示。3)数据更新模块。基础地理信息数据的更新与历史数据查看。各子模块功能有数据版本注册、更新数据编辑、更新数据提交和历史数据查看等。4)数据提取模块。通过导出数据库中数据进行数据分发工作。5)数据查询浏览子模块。其是保障基础地理信息数据库管理的空间数据得以方便、快捷应用的专业软件系统,它提供了一系列地理信息系统软件功能,具体包括:数据浏览、查询、量算、选择、符号化、标注等功能。各模块功能有数据浏览模块、查询统计模块、数据量算模块、数据选择模块、符号化标注模块等。6)空间分析模块。在数据基本查询统计的基础上提供更高级别的数据分析业务,具体包括缓冲区分析和叠加分析。各模块功能有缓冲区分析模块和叠加分析模块。7)数据制图子模块。定位于为图库一体和多样化产品快速制作提供技术支撑,实现数据的快速提供和数据库快速出图,满足数据分发服务的需求。各模块功能有制图数据配置功能、制图视图功能和部件添加编辑功能等。8)平台环境配置模块。定位于为整个系统的风格、权限、用户、系统日志、以及数据库连接参数配置的统一管理和维护。该模块是城市基础地理信息数据库管理系统的根基,为整个系统的正常运行提供支撑。各模块功能有数据库配置模块、日志管理模块和用户管理模块等。
3基础地理信息数据库管理平台的实现
3.1平台运行环境
由于城市基础地理信息数据库管理平台采用C/S架构,利用ArcSDE连接大型关系型数据库Oracle,以嵌入式开发组件ArcEngine作为开发平台[6],因此,平台运行的环境如下:服务器端:Oracle11gR2、ESRIArcSDE10;客户端:ArcEngineRuntime10、城市基础地理信息数据库管理系统。
3.2平台运行实例
用户对数据内容的加载与删除操作都会被系统保存到本地业务库中,当用户登录进入系统时,系统会根据用户类型、用户名记录该用户最近时间内最后一次对数据视图的有效操作,并从数据库中读取当前数据加载情况进行数据展示。图2~4是系统的主界面和功能图。ArcEngine连接ArcSDE[7]需要用到IProper-tyset接口,通过设置连接ArcSDE的服务地址、实例名称、数据库名、用户名称、用户密码和版本库名6个参数,实现ArcSDE[8]数据的加载。数据更新与管理模块[9]提供数据版本化注册/非注册、历史归档、在线版本化更新方式、离线更新方式以及历史数据回溯等功能,通过该模块可以实现数据库的动态实时更新与历史数据的管理查看。
4结束语
本文基于C/S架构采用ArcEngine、ArcSDE、Oracle10g、C#技术设计并建立了具有能够对多比例尺、多数据源、多类型的4D产品进行入库、更新、分发、查询、制图能力的城市基础地理信息数据库管理系统。随着“数字城市”的不断普及,城市基础地理信息数据库的建设也日趋完善,因此对基础地理信息数据库管理系统的需求也在不断增加。本系统是在C/S模式下开发的,还可以根据需要进行改进与完善,可以考虑结合C/S和B/S两种模式开发出功能更强大、实用性更广泛的混合架构模式的应用软件,这方面的研究还有待加强和完善。
作者:郭范春 单位:辽宁省测绘产品质量监督检验站