一种多用户森林资源时空数据库构建的方法
技术领域
本发明涉及一种多用户森林资源时空数据库构建的方法,涉及林业资源管理技术领域,尤其涉及林业GIS技术领域。
背景技术
森林资源每年都因为人类在林地上的各种活动、自然灾害、自然生长和枯损而发生变化。森林资源数据要及时客观真实记录和反映森林资源数据动态变化的情况。通过对森林资源数据进行更新,保证森林资源数据的正确性,以用于评定森林资源经营与利用的结果,对森林经营管理部门的动态森林经营管理决策具有重要的意义。森林资源时空数据库的构建及相关应用模型的使用很好的解决了资源数据的动态管理和更新。目前对于森林资源时空数据库的构建和动态管理的实现,主要有以下两种方式:一是对空间数据库中增加时态因子和变化类型的方法实现森林资源小班时空一体化的存储结构,实现了小班数据的历史查询和回溯;二是利用ArcSde和大型DBMS组成的多用户Geodatabase模型和版本技术,实现了多版本、多用户、多时态的森林资源更新管理模式。
现有的森林资源时空数据库的构建使用ArcSDE和大型数据库管理系统DBMS组成多用户Geodatabase模型,其使用费用十分昂贵,并且构建方法非常复杂,技术要求很高,不适合广泛推广和大规模应用;如果使用个人Geodatabase模型并添加时态因子和变化类型实现森林资源小班时空一体化,则需要使用者对数据库设计和实现过程非常熟悉,并且个人Geodatabase的数据存储量仅有2GB,在没有有效的冗余处理措施下,更新后的资源数据存储量将是无法承受和解决的。
发明内容
(一)要解决的技术问题
现有的森林资源时空数据库构建时使用ArcSDE和大型DBMS组成多用户Geodatabase模型,其费用昂贵、构建方法复杂、技术要求高,不适合广泛推广和大规模应用;使用个人Geodatabase模型并添加时态因子和变化类型实现森林资源小班时空一体化时,则需要设计者对数据库设计和实现过程非常熟悉,并且个人Geodatabase的数据存储量仅有2GB,在没有有效的冗余处理措施的情况下,更新后的森林资源数据存储量将是无法承受和解决的。本发明提供一种快速免费的多用户森林资源时空数据库构建的方法以满足低冗余度下的森林资源数据的事务管理、多用户协同和时态管理以及森林资源数据的历史查询和管理,实现森林资源数据的动态管理。
(二)技术方案
为解决上述技术问题,本发明提供了一种多用户森林资源时空数据库构建的方法,该方法包括以下步骤:
S1、用户在数据库服务器端部署SQL Server Express软件,并在SQL Server Express的基础上使用个人空间数据库引擎Personal SDE构建多用户空间数据库,同时通过GIS桌面软件对构建的多用户空间数据库进行授权,并在客户端中建立空间数据库访问接口,通过数据访问接口访问空间数据库,将用户的森林资源数据进行导入和组织,构建多用户森林资源空间数据库;
所述步骤S1具体为:
S11、用户在数据库服务器端部署SQL Server Express软件及其他必要软硬件环境,在客户端部署GIS桌面软件及其他必要软硬件环境;
S12、用户在客户端的GIS桌面软件中发起建立空间数据库请求;
S13、在数据库服务器端SQL Server Express的基础上,利用个人空间数据库引擎Personal SDE构建多用户空间数据库,同时通过GIS桌面软件对所构建的空间数据库进行授权,构建成多用户空间数据库,并在客户端建立多用户空间数据库访问接口;
S14、用户使用客户端中数据库访问接口访问服务器端的多用户空间数据库,将用户的森林资源数据导入并组织,得到多用户森林资源空间数据库。
S2、创建森林资源数据年度版本,并基于森林资源数据年度版本构建森林经营活动版本,形成森林资源数据年度版本和森林资源经营活动版本树;
版本是整个多用户森林资源空间数据库在某个时刻的快照,利用版本可对其内部进行的事务进行追踪,并实现用户在多个编辑会话中协调且无需备份数据。首先构建森林资源数据年度版本,基于年度版本构建森林经营活动版本,形成森林资源数据年度和经营活动版本树。客户端的空间数据库访问接口可以对任意年度版本和森林经营经营活动版本进行连接,显示数据为连接版本当时森林资源数据库中所有数据的快照。
所述多用户森林资源空间数据库满足一个用户访问,也满足两个或三个用户同时访问。
S3、在GIS桌面软件中,注册多用户森林资源空间数据库中的数据为版本并启动存档,将步骤S2中的版本树应用到步骤S1得到的多用户森林资源空间数据库中,得到多用户森林资源时空数据库,同时建立与用户森林资源空间数据库中数据具有相同数据结构的历史存档表,并增加用于记录存档有效使用期限时间戳的附加日期属性以及用于唯一标识的标识属性,数据库中所有数据启动存档之后,对多用户森林资源时空数据库中数据进行更新的操作都将被记录进入历史存档表中。
S4、在客户端的GIS桌面软件中,使用时空查询器访问服务器端森林资源时空数据库中的数据;
所述步骤S4具体为:
S41、在客户端的GIS桌面软件中,构建特定森林资源小班在具体时间段内变化情况的时空查询语句或构建具体时间段内森林资源小班发生变化的查询语句;
S42、将步骤S41构建的查询语句输入历史存档表的查询构建器中,将查询请求发送至数据库服务器端;
S43、数据库服务器端从历史存档表中返回符合条件的数据记录并在客户端显示。
(三)有益效果
本发明提供了一种构建多用户森林资源时空数据库的方法,利用此方法构建的多用户森林资源时空数据库的过程简单、费用低;由于采用版本技术,故可以实现森林资源数据的事务管理和多用户协同,并且数据存储冗余度很低;利用存档技术实现森林资源数据的历史查询和管理,而其实现过程也更简单,实现了森林资源数据的动态管理。
附图说明
图1是本发明提出的多用户森林资源时空数据库构建的方法的流程图;
图2为现有技术中的版本树结构示例图;
图3为现有技术中的版本建立流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。该实施例提供了一种多用户森林资源时空数据库构建的方法,所述方法具体描述如下。
实施方式1:
步骤1、用户在数据库服务器端部署SQL Server Express软件及其他必要软硬件环境,在客户端部署GIS桌面软件及其他必要软硬件环境;
步骤2、用户在客户端向数据库服务器端发送创建空间数据库请求,数据库服务器端在SQL Server Express的基础上使用免费的个人空间数据库引擎Personal SDE构建多用户空间数据库,并通过GIS桌面软件对构建的多用户空间数据库进行授权,可以实现最多三个用户同时访问,并在客户端建立空间数据库访问接口;
步骤3、用户使用客户端的数据库访问接口访问数据库服务器端的经步骤1和步骤2得到多用户空间数据库,将用户的森林资源数据进行导入和组织,构建多用户森林资源空间数据库;
步骤4、在数据库库服务器端创建年度版本,如“2012年度”,其父版本为DEFAULT版本,并以年度版本为父版本创建森林经营活动版本,构建以DEFAULT版本为根、以年度版本为时间基线、以年度森林经营活动为枝叶的时间版本树,利用现有技术构建的版本树结构图如图2所示;
步骤5、使用客户端的数据库访问接口访问多用户森林资源空间数据库,设置连接版本为“2012年度”森林经营活动版本;
步骤6、开展森林经营活动,对当前森林经营活动版本中的数据进行更改;
步骤7、对生产事务进行编辑完成后,将其协调冲突后提交到年度子版本,当年度结束的时候,将所有生产事务都提交到年度子版本,然后将年度版本协调冲突后提交到DEAFAULT版本,完成一年的生产事务,利用现有技术建立版本的流程图如图3所示。
用户通过客户端的数据库访问接口可以对任何一年度版本的任何年度下的森林经营活动版本进行连接,显示的数据均为当时整个空间数据库中的数据库快照,而各个版本的数据存储不是将数据进行复制存储,仅是对其变化数据的存储。
实施方式2:
在实施方式1中步骤1~步骤3的基础上,进行以下步骤:
步骤1、将森林资源空间数据库中的数据注册为版本,并且启动存档,即在数据库服务器端建立与森林资源空间数据库中的数据具有同样数据结构的历史存档表,并增加用于记录存档有效使用期限时间戳的附加日期属性以及用于唯一标识的标识属性。森林资源空间数据库中的数据启动存档后,对多用户森林资源时空数据库中数据的更新操作都将被记录进入历史存档表中;
步骤2、在客户端将历史存档表添加到GIS桌面软件中;
步骤3、在客户端构建历史查询语句,例如,查询炉霍县邓达林场2作业区1林班3号小班从2010年到2011年的变化情况,则构建如下查询语句:
林业局=“炉霍县”AND林场=“邓达林场”AND作业区=“2”AND林班=“1”AND小班=“3”AND GDB_FROM_DATE<′2011-01-0100:00:00′AND GDB_FROM_DATE>=′2010-01-0100:00:00′
又如,如果要查看炉霍县邓达林场在2011年5月1日到2011年6月1日之间的林场内所有进行了更新的小班,则可构建如下查询语句:
林业局=“炉霍县”AND林场=“邓达林场”ANDGDB_FROM_DATE>′2011-05-0100:00:00′AND GDB_FROM_DATE<′2011-06-0100:00:00′
步骤4、客户端将历史查询语句输入历史存档表的查询构建器,将查询请求发送至数据库服务器端,数据库服务器端从历史存档表中返回符合条件的记录并在客户端显示。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。