System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于信息特征码的地理空间矢量数据增量更新方法技术_技高网

一种基于信息特征码的地理空间矢量数据增量更新方法技术

技术编号:43990723 阅读:10 留言:0更新日期:2025-01-10 20:11
本发明专利技术公开了一种基于信息特征码的地理空间矢量数据增量更新方法,该方法根据空间要素的几何特征和属性描述特征,通过散列算法将空间要素的特征抽象为一个信息特征码,并将其作为属性描述信息进行存储,要素在编辑过程中,随着要素特征的改变,其信息特征码也同步改变,在进行增量更新时,直接使用信息特征码代替空间要素本身进行匹配和对比。本发明专利技术将二维空间非结构化数据的比对归化为一维列表的比对,具有更低的时间和空间复杂度,增量更新效率更高。

【技术实现步骤摘要】

本专利技术涉及地理空间数据应用,尤其涉及一种基于信息特征码的地理空间矢量数据增量更新方法


技术介绍

1、目前,地理空间矢量数据增量更新入库主要使用两种方法,一种是基于图形特征匹配的增量更新,先基于几何特征进行要素匹配,然后逐个比对匹配要素的坐标点和属性信息;另一种是基于要素唯一标识码(一般是生成的gu id码,与要素的特征无关联)的增量更新,该方法通过查找要素唯一标识码匹配要素,然后逐个比对要素的坐标点和属性信息,虽然避免了几何特征匹配,但仍然要对要素特征进行逐一比对,且由于要素在编辑中涉及打断、分割、合并等操作,其唯一标识码与对象之间的关系难以继承和维护,会产生大量的假新增和假删除记录。上述常规方法随着数据范围和数据复杂度的增加,查找和比对运算次数急剧增长,导致耗时也将大幅度增加,在大面积、复杂要素的更新场景下,无法满足高效增量更新的需求,本专利技术提出的技术方法意在解决大面积、复杂要素场景下增量更新效率低下的问题。


技术实现思路

1、本专利技术的目的是为了解决现有技术中存在的缺点,而提出的一种基于信息特征码的地理空间矢量数据增量更新方法。

2、为了实现上述目的,本专利技术采用了如下技术方案:

3、设计一种基于信息特征码的地理空间矢量数据增量更新方法,具体步骤如下:

4、s1、建立空间数据库,用于存储地理空间矢量要素;

5、s2、地理空间矢量要素设置新增时间和删除时间标识,建立增量存储机制,删除时间用于标识要素的删除状态和删除时间,新增时间则标识要素产生的时间;

6、s3、建立地理空间矢量要素增删改事件与空间数据库记录增删改的对应关系,要素新增事件触发在空间数据库表插入新纪录,并添加新增时间信息;要素删除事件触发在数据库表对应记录中添加删除时间;要素修改事件触发在数据库表按修改后的现状信息插入新记录,添加新增时间信息,同时给要素原始记录添加删除时间;

7、s4、设置地理空间矢量要素信息特征码存储字段feature与feature_salt,用于存储生成地理空间矢量要素信息特征码和对要素特征加盐后生成的信息特征码,feature_salt用于数据校验,防止信息特征码的碰撞;

8、s5、建立信息特征码生成器;

9、s6、建立信息特征码更新触发器,当矢量要素本身发生增删改事件时,触发对矢量要素feature和feature_salt的更新,由信息特征码更新触发器调用信息特征码生成器,以维护信息特征码与要素特征的匹配性;

10、s7、获取数据源进行增量更新入库。

11、优选的,所述生成器有如下特性:根据给定要素,组合要素特征字符串m0:地物类型(geotype)|地物编码(code)|坐标信息串|属性信息串,属性信息串不包含信息特征码字段,然后使用散列函数nn=h1(mn)生成特征码n0,存入要素的feature字段中,在要素特征字符串m0前添加要素的图层名,组合成为新的要素特征字符串m1:layername|m0,使用上述散列函数生成特征码n1,存入要素的feature_salt字段中。

12、优选的,坐标信息串具体如下:

13、x1|y1|z1|pointtype1|x2|y2|z2|pointtype2|.......xn|yn|zn|pointtypen。

14、优选的,属性信息串具体如下:

15、field1|value1|field2|value2|......fieldn|valuen。

16、优选的,在s7中执行如下流程:

17、1、获取增量更新区域范围p={p1,p2......pn};

18、2、获取增量更新数据源集合,使用p与数据源集合进行相交运算,获取完全和局部在p内的矢量要素,构造集合updatelist;

19、3、遍历updatelist,获取集合内要素的信息特征码集合updatefeaturelist与updatefeaturelist_salt,三个集合索引号一一对应;

20、4、使用p作为空间参数访问目标空间数据库,获取空间数据库要素完全和局部在p内的要素,缓存数据并构造集合databaselist;

21、5、遍历databaselist,获取集合内要素的信息特征码集合databasefeaturelist与databasefeaturelist_salt,三个集合索引号一一对应;

22、6、构造地理空间矢量要素的新增和删除集合deletelist、newlyaddedlist;

23、7、构造哈希表ht1,通过散列函数h2(key)将databasefeaturelist中的记录逐一添加到哈希表ht1,添加过程中,若在相应内存位置已有数据,则不添加,同时表明有重复值,需要去除重复值,得到databasefeaturelist对应的索引号n,将databaselist中索引号n对应的要素添加到deletelist;

24、8、再通过散列函数h2(key)将updatefeaturelist中记录逐一添加到哈希表ht1,若在相应内存位置数据为空,则表明databasefeaturelist不存在相同的记录值,代表该要素为新增,得到updatefeaturelist的索引号,将updatelist对应索引号的要素添加到newlyaddedlist,若在相应内存位置已有数据,则表明databasefeaturelist中有相同的记录值,代表要素未变化,不做任何操作;

25、9、构造哈希表ht2,通过散列函数h2(key)将updatefeaturelist中的记录逐一添加到哈希表ht2,添加过程中,若在相应内存位置已有数据,则不添加;

26、10、再通过散列函数h2(key)将databasefeaturelist中记录逐一添加到哈希表ht2,若在相应内存位置数据为空,则表明updatefeaturelist不存在相同的记录值,代表该要素为删除,得到databasefeaturelist的索引号,将databaselist对应索引号的要素添加到deletelist,若在相应内存位置已有数据,则表明updatefeaturelist中有相同的记录值,代表要素未变化,则不添加;

27、11、构造地理空间矢量要素的新增和删除集合deletelist_salt、newlyaddedlist_salt,分别代替deletelist和newlyaddedlist,同时使用databasefeaturelist_salt代替databasefeaturelist,使用updatefeaturelist_salt代替updatefeaturelist,构造哈希表ht3和ht4,通过散列函数h2(key)重复执行上述步骤7~10;

28、12、将集合deletelist_salt与集合delete本文档来自技高网...

【技术保护点】

1.一种基于信息特征码的地理空间矢量数据增量更新方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的基于信息特征码的地理空间矢量数据增量更新方法,其特征在于,所述生成器有如下特性:根据给定要素,组合要素特征字符串m0:地物类型|地物编码|坐标信息串|属性信息串,属性信息串不包含信息特征码字段,然后使用散列函数nn=H1(mn)生成特征码n0,存入要素的Feature字段中,在要素特征字符串m0前添加要素的图层名,组合成为新的要素特征字符串m1:LayerName|m0,使用上述散列函数生成特征码n1,存入要素的Feature_Salt字段中。

3.根据权利要求2所述的基于信息特征码的地理空间矢量数据增量更新方法,其特征在于,坐标信息串具体如下:

4.根据权利要求2所述的基于信息特征码的地理空间矢量数据增量更新方法,其特征在于,属性信息串具体如下:

5.根据权利要求1所述的基于信息特征码的地理空间矢量数据增量更新方法,其特征在于,在S7中执行如下流程:

【技术特征摘要】

1.一种基于信息特征码的地理空间矢量数据增量更新方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的基于信息特征码的地理空间矢量数据增量更新方法,其特征在于,所述生成器有如下特性:根据给定要素,组合要素特征字符串m0:地物类型|地物编码|坐标信息串|属性信息串,属性信息串不包含信息特征码字段,然后使用散列函数nn=h1(mn)生成特征码n0,存入要素的feature字段中,在要素特征字符串m0前添加要素的图层名,组合成为新的要素特征字符...

【专利技术属性】
技术研发人员:林江伟谢征海滕德贵朱清海杨本廷叶水全王大涛马红滕明星王崎璇
申请(专利权)人:重庆市测绘科学技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1