一种gis数据库增量更新方法及其系统的制作方法

文档序号:6399319阅读:246来源:国知局
专利名称:一种gis数据库增量更新方法及其系统的制作方法
技术领域
本发明涉及地理信息系统技术领域,尤其涉及一种GIS数据库增量更新方法及其系统。
背景技术
大范围地理信息的有效持续更新是一个世界性难题。其是利用多源现势资料,通过差异对比、变化提取与测定等,对已有地理信息数据体进行更新处理,以更准确地反映与表达客观世界的现实分布与空间特征。主数据库更新可分为批量更新和增量更新两种模式。批量更新是直接针对主数据库进行更新处理,包括添加新增目标、删除不再存在的目标,生成新的数据库版本,保存历史数据等,在此过程中,不单独保存更新信息。这种方式操作简单,但存在数据量大、不便于网络传输、用户数据更新集成难度大等缺点。针对批量更新的不足,Spery (1998)提出了增量更新的概念。即在主数据库更新过程中,只记录主数据库中只记录主数据库中发生变化的要素的变化类型变化量等信息,并以增量文件(Delta file)的方式存储和管理,具有数据量少、便于传输、易于集成等优点。2001年11月,英国军械测量局OS (Ordnance Survey)在其发布了新一代空间数据产
品-MasterMap中,采用基于要素(Feature-based)的数据模型管理矢量数据,同时支持
批量式(Full Update)和增量式(Change-only Update)两种更新服务方式。澳大利亚测绘联合会 ICSM (Intergovernmental Committee on Surveying and Mapping)提出统一数据框架HDF (Harmonised Data Framework)旨在解决增量信息的数据传输格式、增量信息的数据接口、增量信息的集成等问题,推进澳大利亚空间框架数据的增量式更新。国际海道测量组织 IHO (International Hydrographic Organization)于 1996 年发布了“数字海道测量数据传输标准 S57,,(IHO Transfer Standard for Digital Hydrographic Data S57),用于规范电子海图ENC (Electronic Navigational Chart)的制作和更新服务,并提出了一种基于基态数据的增量更新模式。尽管当前世界许多国家正在大力推进空间数据库增量更新,但就总体而言,其进展远逊于需求,相对成熟的增量更新系统还不多,原因在于空间数据库增量更新涉及到的增量信息的定义、分类与建模、增量信息快速提取、半结构增量信息的表达和存储、基态修正时空建模等一系列关键技术和问题尚没有很好解决,限制了其应用。十一五期间,中国在国家科技支撑项目的支持下,开展了 GIS数据库增量更新技术的研究,在增量建模、采集于与更新方面取得了较大进展,仅目前而言,增量更新仍没有进入实用阶段,除了相关技术还有待进一步完善外,一个最大的瓶颈就是数据传输安全问题,因为地理信息数据是国家战略性信息资源,属国家秘密,主数据更新后,如何安全、快捷地传输到主数据库,完成客户数据库的同步更新,一直是困扰GIS(GeographicInformation System,地理信息系统)研究人员的瓶颈问题。现有技术公开了一种变化信息采集与时空数据更新一体化的系统与方法,提出了一种GIS数据增量采集与更新的新方法,但没有解决增量信息的网络安全传输问题。按照《测绘管理工作国家秘密范围的规定》,对于面积大于6平方公里的大比例尺地形图及比例尺在1:1万-1:50万的地形图属于国家秘密或机密数据。该专利及当前检索的所有增量更新方法,其记录的增量信息全部是地理要素的空间坐标与属性,属于国家秘密,目前存在的瓶颈问题是传输数据量大、传输不安全等问题,在主数据库数据更新后,无法通过网络将增量更新信息传输到客户数据库,完成客户数据库的同步更新,目前的做法是由利用专用的存储介质人工传递,既不安全、又浪费时间,同时增加人力和交通成本。

发明内容
本发明的目的在于提出一种GIS数据库增量更新方法及其系统,利用计算机技术,从一种新的视角,只记录和传递更新的各项操作,而不记录数据本身,解决GIS数据库增量更新及其安全传递问题。为达此目的,本发明提出了一种GIS数据库增量更新方法,用于将第一计算机中对第一 GIS数据的更新,通过第二计算机更新到第二 GIS数据中,包括:S1、按照操作的先后顺序,同步记录第一计算机对第一 GIS数据进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件;S2、将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,对所述伪增量文件中的位置信息进行适应性修改;S3、根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二GIS数据进行更新操作。进一步地,所述步骤SI中所述同步记录具体为采用钩子技术通过具有回放功能的软件同步记录。进一步地,所述步骤SI中所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据。进一步地,所述步骤S3中所述进行更新操作的同时,自动记录所述更新操作产生的增量信息。进一步地,所述步骤S2中所述将所述伪增量文件存储到第二计算机中具体包括:将所述伪增量文件从所述第一计算机中拷贝出来,离线导入到所述第二计算机中。进一步地,所述第一计算机对第一 GIS数据进行更新操作具体包括:对所述第一GIS数据中的要素进行新增、删除和/或修改,和/或对所述第一 GIS数据中的要素的属性进行新增、删除和/或修改。进一步地,将所述第二计算机的显示屏的尺寸配置为与所述第一计算机的显示屏的尺寸相同,将所述第二计算机的分辨率设置为与所述第一计算机的分辨率相同。进一步地,所述第一计算机与所述第二计算机为同一计算机。根据本发明的同一构思,本发明还提供了一种GIS数据库增量更新系统,用于将第一计算机中对第一 GIS数据的更新,通过第二计算机更新到第二 GIS数据中,包括:伪增量文件获取模块,用于按照操作的先后顺序,同步记录第一计算机对第一 GIS数据进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件;
配置与文件传输模块,用于将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,对所述伪增量文件中的位置信息进行适应性修改;数据更新模块,用于根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二 GIS数据进行更新操作。进一步地,所述伪增量文件获取模块中所述同步记录具体为采用钩子技术通过具有回放功能的软件同步记录。进一步地,所述伪增量文件获取模块中所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据。进一步地,所述数据更新模块中所述进行更新操作的同时,自动记录所述更新操作产生的增量信息。进一步地,所述配置与文件传输模块中所述将所述伪增量文件存储到第二计算机中具体包括:将所述伪增量文件从所述第一计算机中拷贝出来,离线导入到所述第二计算机中。进一步地,所述第一计算机对第一 GIS数据进行更新操作具体包括:对所述第一GIS数据中的要素进行新增、删除和/或修改,和/或对所述第一 GIS数据中的要素的属性进行新增、删除和/或修改。进一步地,将所述第二计算机的显示屏的尺寸配置为与所述第一计算机的显示屏的尺寸相同,将所述第二计算机的分辨率设置为与所述第一计算机的分辨率相同。进一步地,所述第一计算机与所述第二计算机为同一计算机。本发明针对目前对GIS数据库增量更新存在的技术缺陷,从另外一种视角,充分利用WINDOWS的事件驱动机制,利用钩子技术,在外业更新操作的同时,自动记录计算机鼠标及键盘的动作类型、屏幕X、Y坐标及操作时间等信息,而不是记录地理要素真实的空间坐标数据及属性信息,这样产生的增量数据具有数据量小、不包含任何保密信息的特点,很好地解决了 GIS数据库增量更新及其高效、安全传递问题。基于这种更新方法,只需利用通用的GIS软件,经过简单编程即可实现GIS数据库增量更新。


图1是本发明的GIS数据库增量更新方法示意图;图2是本发明的外业计算端伪增量文件获取方法示意图;图3是本发明的数据更新方法示意图;图4是本发明实施例三所述的GIS数据库增量更新系统结构框图。
具体实施例方式下面结合附图并通过具体实施方式
来进一步说明本发明的技术方案。实施例一本实施例所述GIS数据库增量更新方法用于将第一计算机中对第一 GIS数据的更新,通过第二计算机更新到第二 GIS数据中,其中所述第一计算机与所述第二计算机为同一计算机,但是所述第一 GIS数据与所述第二 GIS数据为存放于不同位置的GIS数据,但是需要其数据和版本相同。当所述第一计算机与所述第二计算机不为同一计算机时,尽量要求两计算机的显示屏的尺寸相同,分辨率相同。同时,必须要求所述第二计算机对GIS数据进行更新操作时所使用的软件及其版本完全相同,例如GIS编辑软件,GIS数据库处理软件等。本实施例具体方法包括:第一步、按照操作的先后顺序,同步记录第一计算机对第一 GIS数据进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件。其中,所述同步记录具体为采用钩子技术通过具有回放功能的软件同步记录。由于钩子技术除了包括键盘钩子和鼠标钩子以外,还包括外壳钩子等,因此,第一计算机上通过GIS编辑软件对所述第一 GIS数据进行编辑更新时,通过所述GIS编辑软件打开所述GIS数据和/或对应的影像数据这一过程也可通过钩子技术获取,实现将这一过程也存储在伪增量文件中。在本实施例的一个优选实施方式中,所述更新操作具体包括:对所述第一 GIS数据中的要素进行新增、删除和/或修改,和/或对所述第一 GIS数据中的要素的属性进行新增、删除和/或修改。在本实施例的一个优选实施方式中,所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据等。第二步、将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,对所述伪增量文件中的位置信息进行适应性修改。为了数据安全,在将所述伪增量文件存储到第二计算机中时,可将所述伪增量文件从所述第一计算机中拷贝出来,离线导入到所述第二计算机中。当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,则需要对所述第一计算机产生的伪增量文件中的位置信息进行适应性修改。所述适应性修改的原则是:要求将修改后的伪增量文件在第二计算机上进行回放时,驱动第二计算机进行的更新操作时对第二 GIS数据的修改与所述第一计算机对第一GIS数据的修改完全相同。第三步、根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二 GIS数据进行更新操作。进一步地,在本步骤中进行更新操作的同时,可自动记录所述更新操作产生的增量信息,用于对所述第一 GIS数据和所述第二 GIS数据进行版本管理。实施例二本发明所述GIS数据库增量更新方法,用于将第一计算机中对第一 GIS数据的更新,通过第二计算机更新到第二 GIS数据中。本实施例以通过将外业计算机中对外业计算机的GIS数据库的GIS数据的更新,通过需要更新的数据库所在的计算机更新到所述需要更新的数据库中为例,来说明实现GIS数据库增量更新的方法。本实施例所述的GIS数据库增量更新方法示意图如图1所示,在本实施例的一个优选实施方式中,所述GIS数据库增量更新方法包括:在外业计算机上启动更新操作记录程序的具体方法示意图如图2所示。打开需要更新的旧版本的矢量地图数据,包括地形图和/或对应的最新影像数据,在外业计算机上使用鼠标键盘对所述地形图进行更新操作,使用记录程序采用钩子技术按照所述更新操作的先后顺序,同步自动记录所述外业计算机进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件。所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据。包括以下几种更新操作:打开编辑:启动地形要素更新编辑功能;要素新增:对地形图中新增地形要素进行添加,如果是点要素,直接用鼠标点击增加点;如果是线要素,利用鼠标先点击线增加功能,然后沿着新增线要素轨迹,按照GIS数据采集规范,每隔一定距离,采集一个点,直到新增线要素终点;如果是面要素,利用鼠标先点击面增加功能,然后沿着新增面要素边界,按照GIS数据采集规范,每隔一定距离,采集一个点,直到回到起始点,与起始点重合,完成新增面要素构建;要素删除:对地形图中消失地形要素进行删除,鼠标选中要删除的要素,点击删除操作即可;要素几何变化:鼠标选中发生几何变化的地形要素,点击要素的每一个节点,按照相同区域遥感或航摄影像中的实际位置,进行节点移位;属性变化:对地形图中发生属性变化地形要素,鼠标点击打开属性表,进行修改等更新操作;更新保存:最后保存更新后的地形图数据。对地理要素更新的同时,利用WINDOWS的事件驱动机制,采用钩子技术,按照更新操作的先后顺序,同步自动记录计算机鼠标移动的屏幕位置坐标(x,y),而不是记录地理要素的坐标,鼠标左键和右键的动作,及键盘的动作,而不是记录地理要素的坐标及属性信息,更新完成后,将从启动更新到最后退出更新过程顺序记录所有的鼠标动作和轨迹数据、键盘操作,自动保存成文本文件,称为伪增量文件。其中,所述钩子技术是Windows系统中非常重要的系统接口,它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监控系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。用户可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能。比如截获键盘、鼠标的输入、屏幕的取词、日志监视等等。按事件分类,所述钩子技术有5种常用类型:键盘钩子,它可以监视各种键盘消息;鼠标钩子,它可以监视各种鼠标消息;外壳钩子,它可以监视各种SHELL事件消息,比如启动和关闭应用程序;日志钩子,它可以记录从系统消息队列中取出的各种事件消息;窗口过程钩子,它监视所有从系统消息队列发往目标窗口的消息。由于钩子技术除了包括键盘钩子和鼠标钩子以外,还包括外壳钩子等,因此,在外业计算机上打开GIS编辑软件,通过所述GIS编辑软件打开需要更新的地形图和/或对应的影像数据这一过程也可通过钩子技术获取。因此,本实施例中的伪增量文件的获取方式包括:方式一、在外业计算机上打开GIS编辑软件,通过所述GIS编辑软件打开需要更新的地形图和/或对应的影像数据,使用鼠标键盘对所述地形图进行更新操作,使用记录程序采用钩子技术按照所述更新操作的先后顺序,同步自动记录所述外业计算机的鼠标动作和轨迹数据以及键盘操作数据,将所述鼠标动作和轨迹数据以及键盘操作数据保存起来作为伪增量文件。方式二、在外业计算机上打开记录程序,打开GIS编辑软件,通过所述GIS编辑软件打开需要更新的地形图和/或对应的影像数据,使用鼠标键盘对所述地形图进行更新操作,所述记录程序采用钩子技术按照所述操作的先后顺序,同步自动记录所述外业计算机的事件消息、鼠标动作和轨迹数据以及键盘操作数据,将所述事件消息、鼠标动作和轨迹数据以及键盘操作数据保存起来作为伪增量文件。在本实施例的一个优选实施方式中,所述伪增量文件包括:消息类型、横坐标、纵坐标、时间、窗口句柄等。获取所述伪增量文件以后,将该伪增量文件通过网络传输到客户数据库端连接互联网的非涉密计算机,并将该伪增量文件拷贝出来,离线导入到需要进行增量更新的数据库所在的计算机中。为了将外业计算机端的更新操作在需要更新的数据库所在的计算机端进行有效地回放,有一种方法是使回放时执行的操作与所述外业计算机端所执行的操作完全相同,本实施例要求将外业计算机与需要更新的数据库所在计算机配置为同一尺寸的显示屏,采用相同的GIS软件,将二者显示屏分辨率设置相等,并尽可能设为最高。当然,当所述需要更新的数据库所在计算机的显示屏的尺寸或分辨率与所述外业计算机的显示屏的尺寸或分辨率不相同时,则需要对所述外业计算机产生的伪增量文件中的位置信息进行适应性修改。所述适应性修改的原则是:要求将修改后的伪增量文件在所述需要更新的数据库所在计算机上进行回放时,驱动所述需要更新的数据库所在计算机进行的更新操作时对GIS数据的修改与所述外业计算机对GIS数据的修改完全相同。如图3所示,在需要更新的数据库所在的计算机上启动更新操作回放程序,读取所述伪增量文件,同样利用WINDOWS的事件驱动机制,采用钩子技术,将外业更新端的更新操作进行回放。若通过上述方式一获取所述伪增量文件,则进行回放具体为:在所述需要增量更新的数据库所在计算机上,打开GIS编辑软件,通过所述GIS编辑软件打开所述需要更新的地形图和/或对应的影像数据,使用更新操作回放程序采用钩子技术根据所述伪增量文件将所述外业计算机的更新操作进行回放,自动驱动所述需要增量更新的数据库所在计算机的鼠标和键盘进行更新操作。若通过上述方式二获取所述伪增量文件,则进行回放具体为:在所述需要增量更新的数据库所在计算机上,打开更新操作回放程序,所述更新操作回放程序根据所述伪增量文件将所述外业计算机的更新操作进行回放,自动打开GIS编辑软件,通过GIS编辑软件打开所述需要更新的地形图和/或对应的影像数据,自动驱动鼠标和键盘进行更新操作。
采用和外业计算机端相同的鼠标和键盘动作,打开需要更新的相同区域的旧版本的矢量地图数据,自动执行与外业计算机相同的更新操作,自动记录每一项更新操作产生的增量信息,完成对需要增量更新的数据库进行更新的同时,生成增量更新的增量信息文件,用于进行版本管理。其中,在本实施例的一个优选实施方式中,所述伪增量信息文件数据结构如下:
权利要求
1.一种GIS数据库增量更新方法,用于将第一计算机中对第一GIS数据的更新,通过第二计算机更新到第二 GIS数据中,其特征在于,包括: 51、按照操作的先后顺序,同步记录第一计算机对第一GIS数据进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件; 52、将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,对所述伪增量文件中的位置信息进行适应性修改; 53、根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二GIS数据进行更新操作。
2.如权利要求1所述的GIS数据库增量更新方法,其特征在于,所述步骤SI中所述同步记录具体为采用钩子技术通过具有回放功能的软件同步记录。
3.如权利要求1所述的GIS数据库增量更新方法,其特征在于,所述步骤SI中所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据。
4.如权利要求1所述的GIS数据库增量更新方法,其特征在于,所述步骤S3中所述进行更新操作的同时,自动记录所述更新操作产生的增量信息。
5.如权利要求1至4之一所述的GIS数据库增量更新方法,其特征在于,所述步骤S2中所述将所述伪增量文件存储到第二计算机中具体包括:将所述伪增量文件从所述第一计算机中拷贝出来,离线导入到所述第二计算机中。
6.如权利 要求5所述的GIS数据库增量更新方法,其特征在于,所述第一计算机对第一 GIS数据进行更新操作具体包括:对所述第一 GIS数据中的要素进行新增、删除和/或修改,和/或对所述第一 GIS数据中的要素的属性进行新增、删除和/或修改。
7.如权利要求6所述的GIS数据库增量更新方法,其特征在于,将所述第二计算机的显示屏的尺寸配置为与所述第一计算机的显示屏的尺寸相同,将所述第二计算机的分辨率设置为与所述第一计算机的分辨率相同。
8.如权利要求1至4之一所述的GIS数据库增量更新方法,其特征在于,所述第一计算机与所述第二计算机为同一计算机。
9.一种GIS数据库增量更新系统,用于将第一计算机中对第一GIS数据的更新,通过第二计算机更新到第二 GIS数据中,其特征在于,包括: 伪增量文件获取模块,用于按照操作的先后顺序,同步记录第一计算机对第一 GIS数据进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件; 配置与文件传输模块,用于将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,对所述伪增量文件中的位置信息进行适应性修改; 数据更新模块,用于根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二 GIS数据进行更新操作。
10.如权利要求9所述的GIS数据库增量更新系统,其特征在于,所述伪增量文件获取模块中所述同步记录具体为采用钩子技术通过具有回放功能的软件同步记录。
11.如权利要求9所述的GIS数据库增量更新系统,其特征在于,所述伪增量文件获取模块中所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据。
12.如权利要求9所述的GIS数据库增量更新系统,其特征在于,所述数据更新模块中所述进行更新操作的同时,自动记录所述更新操作产生的增量信息。
13.如权利要求9至12之一所述的GIS数据库增量更新系统,其特征在于,所述配置与文件传输模块中所述将所述伪增量文件存储到第二计算机中具体包括:将所述伪增量文件从所述第一计算机中拷贝出来,离线导入到所述第二计算机中。
全文摘要
本发明公开了一种GIS(Geographic Information System)数据库增量更新的方法及其系统,方法包括S1、按照操作的先后顺序,同步记录第一计算机对第一GIS数据进行更新操作时的操作过程数据;S2、将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机不相同时,对所述伪增量文件中的位置信息进行适应性修改;S3、根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二GIS数据进行更新操作。本发明通过记录和传递数据更新的各项操作,而不记录数据本身,解决了GIS数据库增量更新及其高效、安全传递问题。
文档编号G06F17/30GK103150348SQ201310049638
公开日2013年6月12日 申请日期2013年2月7日 优先权日2013年2月7日
发明者刘万增, 陈军, 赵勇, 周晓光, 林艳, 刘冬冬 申请人:国家基础地理信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1