您的位置:首页 > 运维架构 > 网站架构

基于ArcEngine+C#开发的空间数据管理平台架构设计及功能说明

2012-04-04 15:06 1066 查看
一、空间数据管理平台设计说明

1. 概述

ArcCatalog对空间数据管理基于数据的物理存储关系进行数据的组织和管理,它在要素类基础上引入要素集,用于对具有相同坐标系统和空间范围的一组数据统一组织到同一个目录下,实现对要素集的分类管理。但是,仅利用要素集的方式进行空间数据的组织和管理,无法满足实际空间数据组织管理的要求。

空间数据管理平台基于SDE中现有的数据组织管理方式的基础上,通过建立一组数据管理表,扩展了对空间数据的组织和管理,系统采样管理逻辑树的方式按空间数据之间的逻辑关系进行空间数据的组织和管理。

该系统允许用户按需创建自己的空间数逻辑结构,实现对空间数据的按逻辑方式进行组织和管理,通过应用该系统可以方便的实现对空间数据的有序组织和管理应用。

2. 空间数据管理平台类结构图

空间数据管理平台数据管理模型结构如下图:

数据管理目录类是整个空间数据管理的根节点,在根节点下不同类型数据进行分类组织,目前在数据管理目录下系统总体分为三大类数据节点:

2.1. 逻辑数据库节点

逻辑数据库节点是按数据的逻辑关系对空间数据进行分类组织和管理,用户可以在数据管理节点下任意创建逻辑数据库节点。每个逻辑数据库都对应一个具体的物理数据库连接,该物理数据库连接是逻辑数据库中各管理的要素类、要素集、栅格实际存储的位置,不同的逻辑数据库可以使用相同的物理数据库连接,也可以使用不同的物理数据库连接。目前的物理数据连接可以和管理表一致,也可以配置连接到其他物理数据库中。

在逻辑空间数据库中可以采样文件夹节点在次进行数据的分类组织管理,也可以直接将数据添加到逻辑空间数据库节点下,而不使用文件夹节点进行分组管理。在管理平台中使用文件夹节点主要目的是便于用户进行数据分组管理,在不同文件夹节点下可以有同名对象存在。如一个500比例尺文件夹和1000比例尺文件夹节点下都可以有居民地要素类存在。

在逻辑空间数据库和文件夹节点下的要素类节点和要素集节点分别对应物理数据库中的实际的要素类和要素集。和物理数据库要素集一样在要素集节点由一组要素类组成,这组要素类要求其坐标参考是一致的。

如果一个逻辑数据库在编辑状态或进步了编辑版本的提交,那么在该逻辑数据库中欧过的要素类节点下将会有历史数据版本节点,显示不同历史状态下的数据情况。

地图类节点是则是配置的一个图件方案,针对具体逻辑空间数据库需要,用户可以定义各种类型的图件,并设置图件所包含的图层节点以及图层的渲染方式。在应用系统中可直接添加对应地图到视图进行各种数据分析操作。

2.2. 地图模板库节点

地图模板库节点是将所有的制图模板也纳入到管理平台中进行有效的管理和组织。目前的地图模板库的定义和创建由专门的模板定义工具进行定义和配置。

地图模板库节点下有一组地图模板类别节点组成,它主要用于实现对不同类型地图模板的分类组织,不同的地图类别节点下由一组地图模板节点组成,地图模板节点又是由一组模板参数和模板元素节点组成,其中模板参数节点定义了当前模板中预定义的参数,而模板元素节点对应于模板中的各种点、线、面、文本等元素。

2.3. 文档库节点

文档库节点是对文档类型数据的管理和维护,如word、pdf、dwg等文件进行管理,所有文档将被上载到数据库中以二进制方式进行保存,用户进行这些数据查看是将生成本地的临时文件,然后被加载显示。

3. 空间数据管理平台的版本编辑机制设计

在空间数据库管理平台中为了进行数据编辑历史的记录,对版本编辑操作模式进行了定义,仅按本定义进行版本编辑才能正确的记录数据的历史变化情况。

历史数据管理采用SDE的历史数据标记方式实现对历史数据的管理,这里的历史数据仅对企业数据库有效,对文件型数据库不支持历史数据库的管理。进行历史数据编辑的基本要求如下:

l 版本的注册以逻辑数据库进行操作,也可以对逻辑数据库中的单个要素类或要素集进行,并且要素类和要素集需要支持存档模式。

l 首先对一个逻辑数据库创建一个编辑版本,该编辑版本的父版本为sde.DEFAULT版本,在数据库管理系统中,一个逻辑数据库只能有一个编辑版本可供进行编辑,该编辑版本必须提交后才可能创建一个新的编辑版本。

l 在该编辑版本的基础上可以根据具体工作需要创建其相应的子版本用于的数据的编辑处理。

l 在加载到地图中的数据就是以编辑版本及其子版本可以进行地图要素的编辑操作,其sde.DEFAULT不允许进行编辑操作。

l 进行编辑完成后,在进行版本提交时,需要同时把该逻辑数据库中所有进行了编辑的数据同时添加到地图中进行整体的版本提交处理,版本提交后将在提交点是创建一个历史标记,记录数据的历史状态,提交后sde.DEFAULT始终是最新的数据。

在数据管理树中的要素类节点下面将显示数据不同历史标记状态,要素类节点始终是sde.DEFAULT版本所对应的数据,即该节点数据是最新数据,其节点下的各历史版本节点则是对应不同数据变更点的历史数据。这样利用版本比较工具就可以对比不同历史时期数据的变化情况。

4. 空间数据管理平台和其他业务平台关系

空间数据管理平台和业务应用平台总体关系简单表示如上图。

空间数据管理平台是作为一个通用的空间管理平台,设计对多个业务应用系统中所设计数据的分类组织和管理,提供通用平台中所应具有的通用的GIS功能,对数据可以执行通用的分析处理,其重点是满足对空间数据库的分类组织和管理的需要。

业务应用系统则是针对空间数据库提供业务专用组件库实现对数据库中数据的统计分析等处理,对空间数据库的访问则可以基于空间数据库管理平台中的管理数据库访问组件实现对本业务所涉及部分逻辑数据库中数据的访问和处理,这样可以保证在业务管理表中对数据的各种操作和各种成果的归档操作后的结果能实现和通用管理平台实现无缝的集成,实现业务应用系统对数据的各种处理操作能自动反映的数据管理平台的管理树节点上。

二、空间数据管理平台使用说明

1. 概述

ArcCatalog对空间数据管理基于数据的物理存储关系进行数据的组织和管理,它在要素类基础上引入要素集,用于对具有相同坐标系统和空间范围的一组数据统一组织到同一个目录下,实现对要素集的分类管理。但是,仅利用要素集的方式进行空间数据的组织和管理,无法满足实际空间数据组织管理的要求。

空间数据管理平台基于SDE中现有的数据组织管理方式的基础上,通过建立一组数据管理表,扩展了对空间数据的组织和管理,系统采样管理逻辑树的方式按空间数据之间的逻辑关系进行空间数据的组织和管理。

该系统允许用户按需创建自己的空间数逻辑结构,实现对空间数据的按逻辑方式进行组织和管理,通过应用该系统可以方便的实现对空间数据的有序组织和管理应用。

2. 空间数据逻辑管理模块

空间数据逻辑树管理功能,采样树状视图实现对空间数据库的逻辑管理和组织,整个空间逻辑树视图结构如下:

树根目录是目录树节点,该节点下面是按逻辑关系创建的各个空间逻辑数据库、然后是整个系统所管理各种文档,如技术规范等,标准表、编码表和制图模板。

整个管理平台的核心是对逻辑空间数据库的组织和管理,其他的节点均是一些辅助的数据管理节点,在此不对这些节点进行详细说明。

逻辑空间数据库节点按数据的逻辑关系实现对空间数据的组织和管理,可以根据具体应用需要建立各自对应的逻辑空间数据库节点,如500比例尺地形图数据库、1000比例尺地形图库、基础数据库、规划数据库等,而对应空间数据的组织管理方式,则是由用户自己进行确定和创建,系统在此不对逻辑数据库的取名和管理的数据内容进行任何限制,用户可以在数节点上按需要创建各自的逻辑空间数据库节点。

逻辑空间数据库节点所创建的逻辑空间数据库可以对应不同的SDE空间数据库中、或和系统的管理数据表在同一个空间数据库之中,这样可以实现对空间数据的分布式管理和组织。对逻辑空间数据库是SDE类型的数据库是,其每个逻辑空间数据库将会有各种对应的数据编辑版本和历史数据版本,如果逻辑空间数据库是在一个空间数据库中,逻辑空间数据库之间不会看到其他逻辑空间数据库的数据编辑版本和历史数据版本。

在逻辑空间数据库节点下可以按文件夹、要素集的方式在进行数据的组织和管理。即用户可以直接在逻辑空间数据库节点下放置要素类、要素集、地图外,还可以在逻辑空间数据库下创建文件夹节点实现对要素类、要素集、地图等节点的分类组织和管理,这里的文件夹节点仅表现数据的逻辑组织关系,对空间数据的几何坐标无任何现在。此外,在文件夹节点下还可以创建子文件夹节点,这类似于磁盘中创建文件夹一样。

功能使用说明

2.1. 创建逻辑数据库

用于创建一个逻辑数据库节点,逻辑数据库节点需要映射到一个具体的物理数据库中,这样在该逻辑数据库中导入的数据或创建的要素类等都将保存到该对应的物理数据库中,逻辑数据库对应的物理数据库可以和管理表所对应的空间数据库一致,也可以是其他SDE数据库。逻辑数据库创建功能位于目录树根节点下,对应窗体如下:

点击设置空间数据库连接设置对应的空间数据库,界面如下:

确定后将创建一个新的逻辑数据库。

在新的逻辑数据库创建好后可以依次导入数据到逻辑数据库中。

2.2. 创建文件夹

文件夹可以用于实现对数据的分类组织和管理,文件夹创建窗体如下:

在本系统中,逻辑数据库中的文件夹实现对空间数据库分类组织的一种实现方式,例如在基本空间数据库中,可以对不同比例尺的空间数据库创建不同的文件夹用于对空间数据库的组织和管理。在本系统中不同文件夹下的数据节点的名称可以是相同的,文件夹下面可以包含子文件夹,此外文件夹下还可以在包含要素集等。在逻辑空间数据库中除了对要素类的组织管理外,也可以实现对地图对象的管理,可以根据应用需要创建配置各种地图对象,并设置该地图对象所包含的图层及图层的渲染方案信息,在应用系统中可以直接加载获取利用该系统所创建的地图对象,以下是一个简单的一个逻辑数据库节点实例。

目前的规划数据库中创建了要素类和地图2个文件夹,其中要素类文件夹用于组织管理该逻辑数据库中所有的要素集和要素类,该文件夹节点下由6个要素集组成,不同要素集下由对应要素类组成。地图文件夹节点下配置了该空间数据库的一个对应的地图对象。

2.3. 创建要素集

创建要素集和原数据管理中的创建流程一致,仅是在后续完成后将自动在数据库管理表中创建相应的节点信息,这里不进行详细说明。

2.4. 创建要素类

创建要素类在逻辑数据库节点、文件夹节点、要素集节点下,创建要素类节点和原数据管理中的创建流程一致,仅是在后续完成后将自动在数据库管理表中创建相应的节点信息,这里不进行详细说明。

2.5. 附加要素类

附加要素类,用于将以前所建立的空间数据库中的要素类附加到本系统中用于统一管理和维护。附加的空间数据库可以根据应用需要附加到不同的逻辑数据库节点上,可以附加的数据库必须和逻辑空间数据库在同一个数据库中。窗体如下:

选择所需要附加到管理表中的要素类,确定后将在对应的节点下创建要素类节点。附加的要素类只能是该空间数据库中的独立要素类,即该要素类不能属于要素集。

2.6. 附加要素集

附加要素集,用于将以前所建立的空间数据库中的要素集合附加到本系统中用于统一管理和维护。附加的空间数据库可以根据应用需要附加到不同的逻辑数据库节点上,可以附加的数据库必须和逻辑空间数据库在同一个数据库中。窗体如下:

2.7. 创建地图

用于创建地图对象,地图对象记录了地图名称等基本属性,该对象后期将根据应用需要进行扩充完善,以实现对地图中各种信息的记录和管理。其窗体如下:

创建好地图后,可以向其中添加图层,目前系统所支持图层主要是要素类图层的添加,并且该图层的要素类需要在该逻辑空间数据库所对应的SDE空间数据库中。

2.8. 添加图层

在地图对象中添加图层。图层所对应的要素类只能来源于和地图对象所在的逻辑空间数据库中的数据对象(要素类等),系统不提供跨逻辑数据库的要素类的添加。图层对象除记录了图层名称、关联的要素类外,还记录了图层是否可见,图层的最大最小比例范围、图层渲染等基本信息。添加图层一次可以添加多个图层到地图中。添加图层使用的是原来系统中向地图控件中添加数据的窗体,这里不作详细说明。

后期将进一步完善对组合图层、制图图层添加的支持。

2.9. 图层渲染功能

图层渲染功能用于对地图下的图层进行渲染处理,渲染的操作模式和原框架种的一致,这里不做详细说明。这里设置好的渲染方案后,将保存到图层的渲染字段下,以后加载地图到地图控件后,如果图层渲染字段值不为空,将通过获取的渲染信息自动对加载的图层进行渲染处理。把数据添加到地图后,用户应该根据具体应用需要对当前地图中各个图层配置其渲染方案。渲染窗体如下:

2.10. 应用渲染方案

应用渲染方案是将以保存到本地的渲染方案设置到指定图层上,应用渲染方案功能和原平台中的图层树上的应用渲染方案功能相同,此处的应用渲染方案将会自动将设置到图层上的渲染方案信息保存到管理表中该图层对应字段中。

2.11. 地图属性

地图属性窗体用于浏览和编辑地图的各种属性设置。窗体如下:

常规页面列出地图基本属性,图层列表属性中列出了当前地图所包含的图层列表,用户可以在此调整图层的排列顺序。

2.12. 逻辑数据库属性

逻辑数据库属性功能可以重新修改相关逻辑数据库的配置设置,其主要用于将空间数据库的数据整理迁移到其他数据库服务器上后,仅需要修改相关的逻辑空间数据库连接信息,就能保证系统能正确的从数据库管理表中构建空间数据管理目录树。其窗体如下:

2.13. 添加到视图

添加到视图实现将管理目录树上的地图、图层、要素类等添加到当前地图控件中。

3. 历史数据管理模块

3.1. 概述

历史数据管理采用SDE的历史数据标记方式实现对历史数据的管理。为实现历史数据管理,在进行数据的编辑处理时必须按系统的流程执行数据编辑操作。

l 进行编辑前一个逻辑数据库中的数据应该都注册了版本并且支持存档模式。

l 首先对一个逻辑数据库创建一个编辑版本,该编辑版本的父版本为sde.DEFAULT版本,在数据库管理系统中,一个逻辑数据库只能有一个编辑版本可供进行编辑,该编辑版本必须提交后才可能创建一个新的编辑版本。

l 在该编辑版本的基础上可以根据具体工作需要创建其相应的子版本用于的数据的编辑处理。

l 在加载到地图中的数据就是以编辑版本及其子版本可以进行地图要素的编辑操作,其sde.DEFAULT不允许进行编辑操作。

l 进行编辑完成后,在进行版本提交时,需要同时把该逻辑数据库中所有进行了编辑的数据同时添加到地图中进行整体的版本提交处理,版本提交后将在提交点是创建一个历史标记,记录数据的历史状态,提交后sde.DEFAULT始终是最新的数据。

3.2. 功能说明

3.2.1. 创建数据编辑点

对一个逻辑数据库而言,对其进行编辑之前,需要创建一个编辑点版本,在该编辑点版本提交到DEFAULT版本前,不能创建新的编辑点版本,只有该编辑点版本提交后才能创建新的版本。该编辑点版本创建表示数据进入一个编辑工作状态,需要对数据进行更新维护。后续的编辑操作只能是在该编辑版本及其子版本上进行,为了有效的记录数据在不同历史点上的不同,不能在DEFAULT版本上进行数据编辑操作。在编辑点版本提交后也不能在此版本上进行数据编辑,因为该版本一提交即说明对数据的本次更新已经结束,此时将形成一个历史标记,用于记录数据历史更新状态。

创建数据编辑点版本对逻辑数据库节点有效。创建后将在逻辑空间数据库的要素类节点下添加对应编辑点版本节点,如下图:

3.2.2. 创建子编辑版本

在未提交的编辑点版本上可以根据需要创建子编辑版本,在子编辑版本基础上还可以在创建子编辑版本。窗体如下:

创建数据编辑点版本对逻辑数据库节点有效

3.2.3. 删除子编辑版本

删除创建的子编辑版本,窗体如下:

选择编辑点版本上的子版本,确定后即可删除。创建数据编辑点版本对逻辑数据库节点有效。

3.2.4. 版本协调

版本协调主要是检查提交版本和主版本之间是否有冲突,版本提交之间必须进行版本协调处理。其窗体如下:

版本协调,需要将该逻辑空间数据库中所有编辑要素类都添加到当前地图窗体后,在编辑启动状态下进行操作。版本协调和本系统所定义的数据提交模式是相对应的。在本系统的数据提交采用如下模式:

l 编辑点版本数据直接提交到DEFAULT版本中,并自动创建数据的历史版本标记。

l 子编辑点版本则是对应提交到其父版本中去,但不能直接从子版本提交到DEFAULT版本,此外子编辑版本提交不会创建历史标记。

3.2.5. 版本提交

协调无冲突的版本可以直接提交到前面进行协调的版本中去,一个编辑点版本只能进行一次提交,要进行新的编辑是时,需要创建新的编辑点版本。提交后,在要素类节点下将创建数据的历史版本节点,如下图:

历史版本标记以“EP+提交时间”格式自动生成。

3.2.6. 改变版本

改变版本用于改变逻辑数据库中地图节点上的地图中各图层所管理要素类的版本信息。该功能在地图节点上有效。

4. 其他GIS功能模块

其他GIS功能和原有框架的操作一致,在此不做说明,具体见原有框架的介绍说明。

联系电话:13982071140,黄,http://www.linjon.cn,可以在线下载试用
空间数据管理平台可带框架源码方式购买,可免费下载试用!

在线联系 QQ:26326507 ,E-mail:hy2001al@163.com

http://www.ljlk.net/,成都领君科技有限公司,基于ASP.NET的superflow工作流平台免费下载试用!

http://www.ljjlk.com/,成都领君科技有限公司,基于ArcGIS的JLKEngine中间件平台免费下载试用!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐