CN103150348A - 一种gis数据库增量更新方法及其系统 - Google Patents

一种gis数据库增量更新方法及其系统 Download PDF

Info

Publication number
CN103150348A
CN103150348A CN201310049638XA CN201310049638A CN103150348A CN 103150348 A CN103150348 A CN 103150348A CN 201310049638X A CN201310049638X A CN 201310049638XA CN 201310049638 A CN201310049638 A CN 201310049638A CN 103150348 A CN103150348 A CN 103150348A
Authority
CN
China
Prior art keywords
data
computer
gis
pseudo
delta file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310049638XA
Other languages
English (en)
Other versions
CN103150348B (zh
Inventor
刘万增
陈军
赵勇
周晓光
林艳
刘冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NATIONAL GEOMATICS CENTER OF CHINA
Original Assignee
NATIONAL GEOMATICS CENTER OF CHINA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NATIONAL GEOMATICS CENTER OF CHINA filed Critical NATIONAL GEOMATICS CENTER OF CHINA
Priority to CN201310049638.XA priority Critical patent/CN103150348B/zh
Publication of CN103150348A publication Critical patent/CN103150348A/zh
Application granted granted Critical
Publication of CN103150348B publication Critical patent/CN103150348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种GIS(Geographic Information System)数据库增量更新的方法及其系统,方法包括:S1、按照操作的先后顺序,同步记录第一计算机对第一GIS数据进行更新操作时的操作过程数据;S2、将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机不相同时,对所述伪增量文件中的位置信息进行适应性修改;S3、根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二GIS数据进行更新操作。本发明通过记录和传递数据更新的各项操作,而不记录数据本身,解决了GIS数据库增量更新及其高效、安全传递问题。

Description

一种GIS数据库增量更新方法及其系统
技术领域
本发明涉及地理信息系统技术领域,尤其涉及一种GIS数据库增量更新方法及其系统。
背景技术
大范围地理信息的有效持续更新是一个世界性难题。其是利用多源现势资料,通过差异对比、变化提取与测定等,对已有地理信息数据体进行更新处理,以更准确地反映与表达客观世界的现实分布与空间特征。
主数据库更新可分为批量更新和增量更新两种模式。批量更新是直接针对主数据库进行更新处理,包括添加新增目标、删除不再存在的目标,生成新的数据库版本,保存历史数据等,在此过程中,不单独保存更新信息。这种方式操作简单,但存在数据量大、不便于网络传输、用户数据更新集成难度大等缺点。
针对批量更新的不足,Spery(1998)提出了增量更新的概念。即在主数据库更新过程中,只记录主数据库中只记录主数据库中发生变化的要素的变化类型变化量等信息,并以增量文件(Delta file)的方式存储和管理,具有数据量少、便于传输、易于集成等优点。2001年11月,英国军械测量局OS(Ordnance Survey)在其发布了新一代空间数据产品——MasterMap中,采用基于要素(Feature-based)的数据模型管理矢量数据,同时支持批量式(FullUpdate)和增量式(Change-only Update)两种更新服务方式。澳大利亚测绘联合会ICSM(Intergovernmental Committee on Surveying and Mapping)提出统一数据框架HDF(Harmonised Data Framework)旨在解决增量信息的数据传输格式、增量信息的数据接口、增量信息的集成等问题,推进澳大利亚空间框架数据的增量式更新。国际海道测量组织IHO(International HydrographicOrganization)于1996年发布了“数字海道测量数据传输标准S57”(IHOTransfer Standard for Digital Hydrographic Data S57),用于规范电子海图ENC(Electronic Navigational Chart)的制作和更新服务,并提出了一种基于基态数据的增量更新模式。尽管当前世界许多国家正在大力推进空间数据库增量更新,但就总体而言,其进展远逊于需求,相对成熟的增量更新系统还不多,原因在于空间数据库增量更新涉及到的增量信息的定义、分类与建模、增量信息快速提取、半结构增量信息的表达和存储、基态修正时空建模等一系列关键技术和问题尚没有很好解决,限制了其应用。
十一五期间,中国在国家科技支撑项目的支持下,开展了GIS数据库增量更新技术的研究,在增量建模、采集于与更新方面取得了较大进展,仅目前而言,增量更新仍没有进入实用阶段,除了相关技术还有待进一步完善外,一个最大的瓶颈就是数据传输安全问题,因为地理信息数据是国家战略性信息资源,属国家秘密,主数据更新后,如何安全、快捷地传输到主数据库,完成客户数据库的同步更新,一直是困扰GIS(Geographic Information System,地理信息系统)研究人员的瓶颈问题。
现有技术公开了一种变化信息采集与时空数据更新一体化的系统与方法,提出了一种GIS数据增量采集与更新的新方法,但没有解决增量信息的网络安全传输问题。按照《测绘管理工作国家秘密范围的规定》,对于面积大于6平方公里的大比例尺地形图及比例尺在1:1万-1:50万的地形图属于国家秘密或机密数据。该专利及当前检索的所有增量更新方法,其记录的增量信息全部是地理要素的空间坐标与属性,属于国家秘密,目前存在的瓶颈问题是传输数据量大、传输不安全等问题,在主数据库数据更新后,无法通过网络将增量更新信息传输到客户数据库,完成客户数据库的同步更新,目前的做法是由利用专用的存储介质人工传递,既不安全、又浪费时间,同时增加人力和交通成本。
发明内容
本发明的目的在于提出一种GIS数据库增量更新方法及其系统,利用计算机技术,从一种新的视角,只记录和传递更新的各项操作,而不记录数据本身,解决GIS数据库增量更新及其安全传递问题。
为达此目的,本发明提出了一种GIS数据库增量更新方法,用于将第一计算机中对第一GIS数据的更新,通过第二计算机更新到第二GIS数据中,包括:
S1、按照操作的先后顺序,同步记录第一计算机对第一GIS数据进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件;
S2、将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,对所述伪增量文件中的位置信息进行适应性修改;
S3、根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二GIS数据进行更新操作。
进一步地,所述步骤S1中所述同步记录具体为采用钩子技术通过具有回放功能的软件同步记录。
进一步地,所述步骤S1中所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据。
进一步地,所述步骤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编辑软件打开所述需要更新的地形图和/或对应的影像数据,自动驱动鼠标和键盘进行更新操作。
采用和外业计算机端相同的鼠标和键盘动作,打开需要更新的相同区域的旧版本的矢量地图数据,自动执行与外业计算机相同的更新操作,自动记录每一项更新操作产生的增量信息,完成对需要增量更新的数据库进行更新的同时,生成增量更新的增量信息文件,用于进行版本管理。
其中,在本实施例的一个优选实施方式中,所述伪增量信息文件数据结构如下:
Figure BDA00002830758400121
message——指定捕获的消息。
ParamL——这个要看具体的消息来定。如果是捕获的键盘信息,那么这个参数中将存放按键的虚拟码。
ParamH——这个要看具体的消息来定。如果捕获的键盘消息,那么这个参数中存放了按键的重复次数、扫描码和标志等数据。
Time——指操作时间。
Hwnd——指控件或窗体的句柄。
在增量采集之前,为每个目标设置一个永久唯一标识码,为矢量数据添加字段名为FeatID的标识码,并为数据赋值,为Long型;
增量信息文件主要包括两部分:一是采集时间(CaptureTime),二是采集的数据。其中,采集数据分为点、线、面三种要素类型(LayerTypeFeature)存储;在每种要素类型下,以图层(LayerName)为单位,顺序存储对该图层中变化目标的变化类型(ChangeType),点状目标的变化类型有增加、删除、属性修改三种,线目标和面目标变化类型有增加、删除、几何形状修改、属性修改四种,针对不同的变化类型,分别以不同的结构存储增量,如增加(Add)记录了新增目标的各个字段名称和字段值,以及新增图形的坐标信息,修改(Modify)操作记录了当前修改目标的FeatID值,以及修改后目标的坐标信息,删除(Delete)操作只需记录当前目标的FeatID值,属性修改(Attribute)操作记录了当前修改目标的FeatID值,以及修改字段的新属性值。在本实施例的一个优选实施方式中,所述增量信息文件为XML文件。
实施例三
根据本发明的同一构思,本发明还提供了一种GIS数据库增量更新系统。本发明所述GIS数据库增量更新系统,用于将第一计算机中对第一GIS数据的更新,通过第二计算机更新到第二GIS数据中。本实施例以通过将外业计算机中对外业计算机的GIS数据库中的GIS数据的更新,通过需要更新的数据库所在的计算机更新到所述需要更新的数据库中为例,来说明实现GIS数据库增量更新的系统实现。
本实施例所述的GIS数据库增量更新系统结构框图如图4所示,在本实施例的一个优选实施方式中,所述GIS数据库增量更新系统包括:
伪增量文件获取模块401,用于在外业计算机上打开GIS编辑软件,通过所述GIS编辑软件打开需要更新的地形图和/或对应的影像数据,使用鼠标键盘对所述地形图进行更新操作,使用记录程序采用钩子技术按照所述更新操作的先后顺序,同步自动记录所述外业计算机的鼠标动作和轨迹数据以及键盘操作数据,将所述鼠标动作和轨迹数据以及键盘操作数据保存起来作为伪增量文件。
包括以下几种更新操作:
打开编辑:启动地形要素更新编辑功能;
要素新增:对地形图中新增地形要素进行添加,如果是点要素,直接用鼠标点击增加点;如果是线要素,利用鼠标先点击线增加功能,然后沿着新增线要素轨迹,按照GIS数据采集规范,每隔一定距离,采集一个点,直到新增线要素终点;如果是面要素,利用鼠标先点击面增加功能,然后沿着新增面要素边界,按照GIS数据采集规范,每隔一定距离,采集一个点,直到回到起始点,与起始点重合,完成新增面要素构建;
要素删除:对地形图中消失地形要素进行删除,鼠标选中要删除的要素,点击删除操作即可;
要素几何变化:鼠标选中发生几何变化的地形要素,点击要素的每一个节点,按照相同区域遥感或航摄影像中的实际位置,进行节点移位;
属性变化:对地形图中发生属性变化地形要素,鼠标点击打开属性表,进行修改等更新操作;
更新保存:最后保存更新后的地形图数据。
对地理要素更新的同时,利用WINDOWS的事件驱动机制,采用钩子技术,按照更新操作的先后顺序,同步自动记录计算机鼠标移动的屏幕位置坐标(x,y),而不是记录地理要素的坐标,鼠标左键和右键的动作,及键盘的动作,而不是记录地理要素的坐标及属性信息,更新完成后,将从启动更新到最后退出更新过程顺序记录所有的鼠标动作和轨迹数据、键盘操作,自动保存成文本文件,称为伪增量文件。
其中,所述钩子技术是Windows系统中非常重要的系统接口,它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监控系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。用户可以在系统中安装自定餐的钩子,监视系统中特定事件的发生,完成特定的功能。比如截获键盘、鼠标的输入、屏幕的取词、日志监视等等。
按事件分类,所述钩子技术有5种常用类型:
键盘钩子,它可以监视各种键盘消息;
鼠标钩子,它可以监视各种鼠标消息;
外壳钩子,它可以监视各种SHELL事件消息,比如启动和关闭应用程序;
日志钩子,它可以记录从系统消息队列中取出的各种事件消息;
窗口过程钩子,它监视所有从系统消息队列发往目标窗口的消息。
由于钩子技术除了包括键盘钩子和鼠标钩子以外,还包括外壳钩子等,因此,在外业计算机上打开GIS编辑软件,通过所述GIS编辑软件打开需要更新的地形图和/或对应的影像数据这一过程也可通过钩子技术获取。
因此,本实施例中的伪增量文件的获取方式包括:
方式一、在外业计算机上打开GIS编辑软件,通过所述GIS编辑软件打开需要更新的地形图和/或对应的影像数据,使用鼠标键盘对所述地形图进行更新操作,使用记录程序采用钩子技术按照所述更新操作的先后顺序,同步自动记录所述外业计算机的鼠标动作和轨迹数据以及键盘操作数据,将所述鼠标动作和轨迹数据以及键盘操作数据保存起来作为伪增量文件。
方式二、在外业计算机上打开记录程序,打开GIS编辑软件,通过所述GIS编辑软件打开需要更新的地形图和/或对应的影像数据,使用鼠标键盘对所述地形图进行更新操作,所述记录程序采用钩子技术按照所述操作的先后顺序,同步自动记录所述外业计算机的事件消息、鼠标动作和轨迹数据以及键盘操作数据,将所述事件消息、鼠标动作和轨迹数据以及键盘操作数据保存起来作为伪增量文件。
在本实施例的一个优选实施方式中,所述伪增量文件包括:消息类型、横坐标、纵坐标、时间、窗口句柄等。
配置与文件传输模块402,用于将需要增量更新的数据库所在计算机的显示屏的尺寸和分辨率配置为与所述外业计算机相同,将所述伪增量文件存储到所述需要增量更新的数据库所在计算机中。
所述伪增量文件获取模块401获取所述伪增量文件以后,将该伪增量文件通过网络传输到客户数据库端连接互联网的非涉密计算机,并将该伪增量文件拷贝出来,离线导入到需要进行增量更新的数据库所在的计算机中。
为了将外业计算机端的更新操作在需要更新的数据库所在的计算机端进行有效地回放,使回放时执行的操作与所述外业计算机端所执行的操作完全相同,本实施例要求将外业计算机与需要更新的数据库所在计算机配置为同一尺寸的显示屏,采用相同的GIS软件,将二者显示屏分辨率设置相等,并尽可能设为最高。
当然,当所述需要更新的数据库所在计算机的显示屏的尺寸或分辨率与所述外业计算机的显示屏的尺寸或分辨率不相同时,则需要对所述外业计算机产生的伪增量文件中的位置信息进行适应性修改。
所述适应性修改的原则是:要求将修改后的伪增量文件在所述需要更新的数据库所在计算机上进行回放时,驱动所述需要更新的数据库所在计算机进行的更新操作时对GIS数据的修改与所述外业计算机对GIS数据的修改完全相同。
数据更新模块403,用于在所述需要增量更新的数据库所在计算机上,自动驱动所述需要增量更新的数据库所在计算机的鼠标和键盘进行更新操作。
在需要更新的数据库所在的计算机上启动更新操作回放程序,读取所述伪增量文件,同样利用WINDOWS的事件驱动机制,采用钩子技术,将外业计算机端的更新操作进行回放。
若通过上述方式一获取所述伪增量文件,则进行回放具体为:
在所述需要增量更新的数据库所在计算机上,打开GIS编辑软件,通过所述GIS编辑软件打开所述需要更新的地形图和/或对应的影像数据,使用更新操作回放程序采用钩子技术根据所述伪增量文件将所述外业计算机的更新操作进行回放,自动驱动所述需要增量更新的数据库所在计算机的鼠标和键盘进行更新操作。
若通过上述方式二获取所述伪增量文件,则进行回放具体为:在所述需要增量更新的数据库所在计算机上,打开更新操作回放程序,所述更新操作回放程序根据所述伪增量文件将所述外业计算机的更新操作进行回放,自动打开GIS编辑软件,通过GIS编辑软件打开所述需要更新的地形图和/或对应的影像数据,自动驱动鼠标和键盘进行更新操作。
采用和外业计算机端相同的鼠标和键盘动作,打开需要更新的相同区域的旧版本的矢量地图数据,自动执行与外业计算机端相同的更新操作,自动记录每一项更新操作产生的增量信息,完成对需要增量更新的数据库进行更新的同时,生成增量更新的增量信息文件,用于进行版本管理。
其中,在本实施例的一个优选实施方式中,所述伪增量信息文件数据结构如下:
Figure BDA00002830758400171
Figure BDA00002830758400181
message——指定捕获的消息。
ParamL——这个要看具体的消息来定。如果是捕获的键盘信息,那么这个参数中将存放按键的虚拟码。
ParamH——这个要看具体的消息来定。如果捕获的键盘消息,那么这个参数中存放了按键的重复次数、扫描码和标志等数据。
Time——指操作时间。
Hwnd——指控件或窗体的句柄。
在增量采集之前,为每个目标设置一个永久唯一标识码,为矢量数据添加字段名为FeatID的标识码,并为数据赋值,为Long型;
增量信息文件主要包括两部分:一是采集时间(CaptureTime),二是采集的数据。其中,采集数据分为点、线、面三种要素类型(LayerTypeFeature)存储;在每种要素类型下,以图层(LayerName)为单位,顺序存储对该图层中变化目标的变化类型(ChangeType),点状目标的变化类型有增加、删除、属性修改三种,线目标和面目标变化类型有增加、删除、几何形状修改、属性修改四种,针对不同的变化类型,分别以不同的结构存储增量,如增加(Add)记录了新增目标的各个字段名称和字段值,以及新增图形的坐标信息,修改(Modify)操作记录了当前修改目标的FeatID值,以及修改后目标的坐标信息,删除(Delete)操作只需记录当前目标的FeatID值,属性修改(Attribute)操作记录了当前修改目标的FeatID值,以及修改字段的新属性值。在本实施例的一个优选实施方式中,所述增量信息文件为XML文件。
本发明实施例一和实施例二所述的GIS数据库增量更新方法,以及实施例三所述的GIS数据库增量更新系统,针对目前对GIS数据库增量更新存在的技术缺陷,从另外一种视角,充分利用WINDOWS的事件驱动机制,利用钩子技术,在外业计算机端更新操作的同时,自动记录计算机鼠标及键盘的动作类型、屏幕X、Y坐标及操作时间等信息,而不是记录地理要素真实的空间坐标数据及属性信息,这样产生的增量数据具有数据量小、不包含任何保密信息的特点,很好地解决了GIS数据库增量更新及其高效、安全传递问题。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种GIS数据库增量更新方法,用于将第一计算机中对第一GIS数据的更新,通过第二计算机更新到第二GIS数据中,其特征在于,包括:
S1、按照操作的先后顺序,同步记录第一计算机对第一GIS数据进行更新操作时的操作过程数据,将所述操作过程数据保存起来作为伪增量文件;
S2、将所述伪增量文件存储到第二计算机中,当所述第二计算机的显示屏的尺寸或分辨率与所述第一计算机的显示屏的尺寸或分辨率不相同时,对所述伪增量文件中的位置信息进行适应性修改;
S3、根据所述第二计算机中的伪增量文件,自动驱动所述第二计算机对所述第二GIS数据进行更新操作。
2.如权利要求1所述的GIS数据库增量更新方法,其特征在于,所述步骤S1中所述同步记录具体为采用钩子技术通过具有回放功能的软件同步记录。
3.如权利要求1所述的GIS数据库增量更新方法,其特征在于,所述步骤S1中所述操作过程数据包括鼠标动作数据、鼠标轨迹数据和/或键盘操作数据。
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数据库增量更新系统,其特征在于,所述配置与文件传输模块中所述将所述伪增量文件存储到第二计算机中具体包括:将所述伪增量文件从所述第一计算机中拷贝出来,离线导入到所述第二计算机中。
CN201310049638.XA 2013-02-07 2013-02-07 一种gis数据库增量更新方法及其系统 Active CN103150348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310049638.XA CN103150348B (zh) 2013-02-07 2013-02-07 一种gis数据库增量更新方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310049638.XA CN103150348B (zh) 2013-02-07 2013-02-07 一种gis数据库增量更新方法及其系统

Publications (2)

Publication Number Publication Date
CN103150348A true CN103150348A (zh) 2013-06-12
CN103150348B CN103150348B (zh) 2017-08-25

Family

ID=48548426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310049638.XA Active CN103150348B (zh) 2013-02-07 2013-02-07 一种gis数据库增量更新方法及其系统

Country Status (1)

Country Link
CN (1) CN103150348B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544303A (zh) * 2013-10-31 2014-01-29 北京锐安科技有限公司 一种数据同步方法、系统和设备
CN105512163A (zh) * 2015-09-28 2016-04-20 张新长 一种自适应的矢量数据增量更新的方法
CN106997398A (zh) * 2017-04-20 2017-08-01 中博宇图信息科技有限公司 一种地形图数据库更新的自动化方法
CN108228223A (zh) * 2017-10-26 2018-06-29 山东浪潮云服务信息科技有限公司 基于国产cpu环境的多类型数据库统一增量更新方法
CN112307145A (zh) * 2020-10-20 2021-02-02 北京完美知识科技有限公司 一种历史地图数据的批量更新方法及装置、介质、设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101467003A (zh) * 2006-06-30 2009-06-24 电子地图北美公司 用于收集关于地理数据的用户更新请求以支持自动化分析、处理和地理数据更新的方法和系统
US20110208745A1 (en) * 2005-12-01 2011-08-25 Adept Technology, Inc. Mobile autonomous updating of gis maps
US8296394B1 (en) * 2007-04-10 2012-10-23 AT & T Intellectual Property II, LP Method and system for caching real-time data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208745A1 (en) * 2005-12-01 2011-08-25 Adept Technology, Inc. Mobile autonomous updating of gis maps
CN101467003A (zh) * 2006-06-30 2009-06-24 电子地图北美公司 用于收集关于地理数据的用户更新请求以支持自动化分析、处理和地理数据更新的方法和系统
US8296394B1 (en) * 2007-04-10 2012-10-23 AT & T Intellectual Property II, LP Method and system for caching real-time data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
林艳 等: ""面状水系伪增量剔除的拓扑量化法"", 《武汉大学学报-信息科学版》 *
王育红: ""GIS空间数据库更新服务方法与实施对策"", 《测绘科学》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544303A (zh) * 2013-10-31 2014-01-29 北京锐安科技有限公司 一种数据同步方法、系统和设备
CN105512163A (zh) * 2015-09-28 2016-04-20 张新长 一种自适应的矢量数据增量更新的方法
CN106997398A (zh) * 2017-04-20 2017-08-01 中博宇图信息科技有限公司 一种地形图数据库更新的自动化方法
CN108228223A (zh) * 2017-10-26 2018-06-29 山东浪潮云服务信息科技有限公司 基于国产cpu环境的多类型数据库统一增量更新方法
CN112307145A (zh) * 2020-10-20 2021-02-02 北京完美知识科技有限公司 一种历史地图数据的批量更新方法及装置、介质、设备

Also Published As

Publication number Publication date
CN103150348B (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
CN101944204B (zh) 应用于电力系统的地理信息系统
CN102004963B (zh) 一种数字城市生成方法
CN116089555B (zh) 基于cim平台三维空间数据的采集与轻量化系统和方法
CN112053130A (zh) 抽水蓄能电站综合管理方法、平台、系统、设备和介质
CN104951526B (zh) 一种三维模型管理系统
CN101231642A (zh) 时空数据库管理方法及其系统
CN106610958A (zh) 一种地理信息数据综合管理系统
CN103150348A (zh) 一种gis数据库增量更新方法及其系统
CN101051076A (zh) 移动式空间数据采集、处理及发布方法
CN111881238A (zh) 一种适用于Web端的轻量级三维数据构建方法、介质和电子设备
CN116486025A (zh) 一种基于大数据云计算技术的城市地质数据处理平台
CN108932751A (zh) 快速创建vr/ar/mr内容的系统及方法
US20240144576A1 (en) 3d object management data, computer program, and distributed management method for 3d object
CN113570275A (zh) 基于bim和数字高程模型的水资源实时监测系统
CN105117555A (zh) 核电三维设计模型在线浏览系统
CN112069580A (zh) 抽水蓄能电站数字化交付方法、平台、系统、设备和介质
CN110634176B (zh) 一种集成实时掘进数据的盾构隧道施工展示系统及方法
Lu et al. Open3D: crowd-sourced distributed curation of city models
CN109615700A (zh) 三维虚拟现实隧道监测系统及其操作方法
CN104375211A (zh) 一种气象预报等值线图更新方法及系统
CN114610923A (zh) 一种大数据处理方法、装置、设备及介质
CN113641776A (zh) 基于区块链业务空间编码展示的方法、系统及储存介质
CN105786994A (zh) 一种基于地理信息的油气田勘探开发信息集成系统及方法
Gan et al. Hybrid organization and visualization of the DSM combined with 3D building model
CN116958465A (zh) 一种基于地质三维建模可视化的时空大数据云服务平台

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant