大量分块地形数据的动态淹没区提取方法、装置及系统的制作方法

文档序号:6575278阅读:208来源:国知局
专利名称:大量分块地形数据的动态淹没区提取方法、装置及系统的制作方法
技术领域
本发明涉及地球科学计算领域,特别是涉及大数据量分块地形数据的动态 淹没区提取方法、装置及其系统。
背景技术
数字高程模型(Digital elevation model, DEM)是重要的地表参数数据, 但由于地表的连续复杂变化,导致DEM数据量较大,而且随着区域范围的增 大和分辨率的精细而成几何倍数增长。例如,全球lkmDEM的数据量为1.7G (GeoTiff文件格式),而90m DEM的数据量大约为400G。大数据量DEM 在存储、处理和分析上均存在困难,根据地理范围将DEM分块存储,是解决 大数据量DEM存储的有效方法,不仅避免了单个栅格数据文件的容量限制(如 GeoTIFF的4G限制),而且为根据实际需要加载特定区域DEM提供基础。 然而,地理分块使空间相邻的地形单元分拆到不同数据集中,从而对基于DEM 的分析带来困难,尤其是涉及相邻空间拓扑关系判读的分析。现有DEM在尺 度和地理区域上仍然非常有限,在地理范围较大的区域进行分析的过程中,涉 及的DEM往往来自不同来源,且使用不同的分块方式,从而更增加了实施空 间分析的难度,如公里网格分块、Landsat行列分块等不同分块方法。
随着全球变化形式的加剧,海平面变化日益受到广泛重视。而需要根据海 平面的变化情况,快速准确地提取其对沿海地区的影响,提取变化区域(被淹 没或新出现区域)对研究和理解海平面变化的影响具有重要价值。
然而淹没区判断条件较为复杂,不仅依赖于高程,即是否低于海平面,而 且还取决于周围的地形,即拓扑关系,如内陆低地等特殊区域。
传统的淹没区提取方法只能够适用于单个DEM文件,且采用高内存消耗 的算法。对于大区域范围的高精度DEM,由于其参与处理的数据量巨大,对 于内存资源的要求较高。根据上面的分析,海平面淹没区分析的开展,需要基 于研究区与周围较大地理范围内的地形情况,涉及的DEM数据量更大,因而传统的高内存消耗方法难以适用。此外,传统的高内存消耗方法不但受限于计
算机有限的内存资源,而且不适用于分块存储的DEM数据。
故而, 一种能够适应不同的内存资源条件,或者能够控制对内存资源的需 求,并能够针对大数据量分块存储的地形数据进行处理,提取其淹没区的方法, 为科研和产业中亟待解决的问题。

发明内容
本发明所要解决的技术问题在于提供一种大量分块地形数据的动态淹没 区提取方法、装置及其系统,用于解决适应于不同的内存资源条件,降低磁盘
IO次数,针对大数据量且以数据分块形式存储和管理的地形数据提取被淹没
区域的问题。
本发明进一步解决了,针对以多种不同分块形式存储的地形数据集进行分 析的问题。
本发明进一步解决了 ,形成代表淹没区的优化矢量形式的地理多边形进行
显示的问题。
为了实现上述目的,本发明提供了一种大量分块地形数据的动态淹没区提 取方法,运行于数据处理装置中,用于对以不同分块形式存储的分块地形数据
集进行分析,包括
扫描分块地形数据集,为分块地形数据集建立对应的地理空间网格索引
表;
根据该数据处理装置的内存资源,设定用于分析该分块地形数据集的移动 窗口的大小;
该移动窗口遍历该索引表,通过该索引表提取空间范围与移动窗口覆盖的 空间范围重叠的分块地形数据集的数据,并根据用户输入的海平面高度变化 值,计算淹没区数据;
从该淹没区数据中提取矢量形式的淹没区边界。
为了实现上述目的,本发明还提供了一种大量分块地形数据的动态淹没区 提取系统,设置于数据处理装置中,用于对以不同分块形式存储的分块地形数 据集进行分析,包括
索引表设立模块,用于扫描分块地形数据集,为分块地形数据集建立对应的地理空间网格索引表;
移动窗口设定模块,用于根据该数据处理装置的内存资源,设定用于分析 该分块地形数据集的移动窗口的大小;
淹没区计算模块,利用该移动窗口遍历该索引表,通过该索引表中提取空 间范围与移动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据用户 输入的海平面高度变化值,计算淹没区数据;
淹没区边界提取模块,用于从该淹没区数据中提取矢量形式的淹没区边界。
本发明还公开了一种大量分块地形数据的动态淹没区提取装置,包括数据 处理模块,输入模块、输出模块、内存模块、数据存储模块,数据存储模块中 存储有以不同分块形式存储的分块地形数据集,该数据处理模块中包括
索引表设立模块,用于扫描数据存储模块中的数据集,并为数据集建立对 应的地理空间网格索引表;
移动窗口设定模块,用于根据该数据处理装置的内存资源,设定用于分析 该分块地形数据集的移动窗口的大小;
淹没区计算模块,利用该移动窗口遍历该索引表,通过该索引表中提取空 间范围与移动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据用户 输入的海平面高度变化值,计算淹没区数据;
淹没区边界提取模块,用于从该淹没区数据中提取矢量形式的淹没区边界。
与现有技术相比,本发明的有益技术效果在于
(1) 通过地理空间网格化索引方法,能够支持数据量大(远超过可用计 算机内存容量)且以数据分块形式存储和管理的地形数据;
(2) 通过控制"移动窗口"的大小,能够使该方法适应于不同内存资源 条件的软硬件环境;
(3) 通过优化的边界矢量化提取方法,能够从本发明的分析结果中提取 矢量化的淹没区域,而且通过指定的角度阈值,能够在保证区域关键形状的前 提下,消除淹没区域多边形的冗余节点,得到代表淹没区域的优化形状。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1所示为本发明的大量分块地形数据的动态淹没区提取装置的结构示
意图1A所示为本发明的大量分块地形数据的动态淹没区提取方法的流程
图IB是本发明的大量地理空间网格索引表示意图2、图2A、图2B、图2C、图3、图3A、图3B、图3C所示为本发明的 大量分块地形数据的动态淹没区提取方法的流程图4所示为本发明的大量分块地形数据的动态淹没区提取系统的结构示 意图。
具体实施例方式
下面结合附图和具体实施方式
对本发明的技术方案作进一步更详细的描述。
本发明公开了一种大量分块地形数据的动态淹没区提取方法、装置及系 统。其针对现有技术中的数据量巨大且以多种不同分块形式存储和管理的地形 数据进行处理,在处理中可适应不同数据处理装置所具备的不同内存资源条 件,增强兼容性。更进一步的,对于提取出的动态淹没区,还可生成地理区域 多边形。更进一步的,还可以明确且优化的形式呈现出淹没区的地理范围。
本发明可应用于一服务器主机或其他数据处理装置中,如图1所示为服务 器主机的结构示意图。服务器10包括数据处理模块11、内存模块12、数据存 储模块13、输入模块14、输出模块15、网络连接模块16。
数据存储模块13中存储有以分块形式存储和管理的分块地形数据集。该 数据集记录了DEM数据,具备较大的数据量。该数据存储模块13还可存储多 种不同分块形式的分块地形数据集。
如图1A所示为本发明的大量分块地形数据的动态淹没区提取方法运行于 数据处理装置ll中的流程图。
步骤IOI,扫描分块地形数据集,为分块地形数据集建立对应的地理空间 网格索引表。
在该步骤中,数据处理装置11扫描遍历存储于数据存储模块13中的分块 地形数据集,分析所有分块地形数据集,建立与数据集对应的地理空间网格索引表。
请参见图1B所示为地理空间网格索引表的示意图。其中,分块地形数据 集以栅格数据集的形式存在。地理空间网格索引表以地理空间网格的形式进行 组织。
地理空间网格索引表包括多个网格单元,每个网格单元用于对应记载一个 分块地形数据集的参数,每个分块地形数据集记录了一定地理空间范围内的地 形单元数据,也就是说,每个数据集包括多个地形单元格数据。而每个网格单 元在索引表中的位置则取决于该数据集在地理空间中的实际范围,g卩,每个网 格单元依照对应数据集的空间位置而排列。索引表中的每个网格单元与对应的 数据集具有关联关系。同时,索引表支持存在空间范围重叠的数据集(见图
1B中C3),以支持不同分区方案和部分重叠的分区方案,也就是说,不同网 格单元在空间上有可能被一个以上数据集所覆盖。
每个网格单元记录对应的数据集的参数和分析过程中需要用到的标识位。
网格单元针对分块地形数据集记录以下参数
al)空间范围(Extent) : g卩,该分块地形数据集在地理空间中覆盖的范 围,其空间范围坐标以矩形方式表示,包括"左下"和"右上"两个坐标对, 以及数据集的空间坐标参考信息;
a2)单元格大小(CellSize):数据集中每个地形单元格在横向和纵向的 大小;
a3)空值的标识(NoData):空值的标识方式,如-9999; a4)网格单元所对应的数据集代码,即数据集引用信息。 分析过程中需要用到的标识位包括
bl)完全排除标识位(Excluded):整个数据集不参与计算;
b2)完全包含标识位(Included):整个数据集已被完全包含在计算结果
中;
b3)暂时挂起标识位(Suspended):暂时不参与分析过程;
b4)新增淹没地形单元格数(AddedNum):最后一次计算过程中新增的淹
没区的地形单元格数量。
本发明中利用该索引表作为移动窗口提取数据集中的数据的中介(详见后
述),以准确的定位需要从数据集中提取的信息。基于地理空间网络,索引表记录了来自不同分块方案的数据集的基本信
息,为基于多种不同分区方案的大数据量分块DEM开展淹没区迭代分析、减少 IO次数、控制资源消耗等方面提供了基础。
步骤102,根据该数据处理装置的内存资源,设定用于分析该分块地形数 据集的移动窗口的大小。
本发明利用移动窗口对数据集进行提取淹没区的处理,基于索引表搜索满 足条件的数据集,提取数据集中的地形单元格数据,以进行后续分析。利用移 动窗口进行数据处理是本领域的现有技术。而移动窗口的大小需与内存资源相 适应,才能保证运行的稳定性与高效率。
在本发明中,移动窗口的大小可根据该数据处理装置的软硬件环境进行设 定。移动窗口的大小与最大内存使用量呈2次方正比,而与磁盘的10次数成 2次方反比。增加移动窗口的大小,可以提高运行速度,但同时增加内存的使 用量;相反,减小移动窗口,降低了内存的使用量,但由于10次数的提高, 使运行速度降低。因此,用户在该步骤,根据系统运行的软硬件环境,根据需 求,设定移动窗口大小。即,利用输入模块14输入移动窗口大小的设定参数, 并传送至数据处理模块11,对移动窗口的大小进行控制。
除用户通过输入模块14手动处理外,还可通过一预先存储的对照表而自 动设定移动窗口的大小,即,预先存储每一内存条件所对应的最佳移动窗口大 小,或, 一最佳范围,在服务器10开机检测阶段对内存模块12进行初始化时, 即获知该内存模块的参数,并根据该内存模块的参数而自动设定移动窗口的大
由于本发明的移动窗口的大小可调节,进而可调节内存使用量和磁盘10 次数,已与数据处理装置当前具备的软硬件条件相匹配,以提高运行的稳定性, 同时还可兼容于多种数据处理装置。
步骤103,该移动窗口遍历该索引表,通过该索引表中提取空间范围与移 动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据用户输入的海平 面高度变化值,计算淹没区数据。
步骤104,从该淹没区数据中提取矢量形式的淹没区边界。
如图2所示,是本发明的大量分块地形数据的动态淹没区提取方法流程 图。步骤103具体包括如下步骤步骤1031,该移动窗口遍历该索引表,通过索引表得到移动窗口对应覆 盖的分块地形数据集的数据,根据该分块地形数据集之中的地形单元格的高程 值、地形类型、周围地形,并根据海平面高度变化值,初始化提取海岸带邻近 淹没区。
步骤1032,该移动窗口从多个不同起点沿不同方向,分别遍历该索引表, 利用海岸带邻近淹没区,迭代计算淹没区数据。
在一个实例中,步骤1031可通过如下具体实现过程实现(如图2A所示) 步骤1,用户通过输入模块14输入一海平面高度变化值。 步骤2,设定初始移动窗口位置。
设定初始移动窗口位置为全部索引范围的西北角,但并不限于西北角。也
可以以其他角作为起始点,但分析方向根据起始点的选择而变化,即以起始点
所在空间范围的反方向作为分析方向。
步骤3,根据该索引表提取当前移动窗口覆盖的数据集。
艮卩,移动窗口首先确定其所覆盖的索引表的网格单元,通过网格单元中的
数据集引用信息,定位实际数据集,从数据集中提取数据,即被移动窗口覆盖
的地形单元格的数据。
步骤4,读取地形单元格数据,填充移动窗口的对应单元。
移动窗口包括多个单元(单元的数目依赖于移动窗口的大小和分块地形数
据集的数据分辨率),根据每个单元中心点的地理空间位置,在当前移动窗口
所提取到的数据集中,提取位于每个单元中心点的地形单元格的数据,也就是
地形高程。
提取过程中顺序分析所提取的数据集是否包括该单元中心点位置的数据, 如不包括则转至下一个数据集,直至找到能够提供该位置地形高程的数据集, 如找不到满足条件的数据集,则标识该单元为空值,在下面的分析中忽略该单 元。
由于索引表包括了数据集的相关参数,故而可保证快速、准确定位需要提 取的数据集,进而减少处理过程中的数据量和处理量。
步骤5,分析读取的各个地形单元格数据,从中提取海岸带邻近淹没区,
提取方法为依次判断所读取的各个地形单元格数据是否同时满足 a.当前地形单元格是陆地地形单元;b. 高程小于海平面变化后的高程值(海平面原始高程值+海平面高度变化
值);
c. 在相邻8个地形单元中存在水域单元。
地形单元格的高程值、地形类型均为数据集中存储的地形高程数据。该地 形类型包括陆地地形单元、水域单元等。
本步骤中,依照上述方式,依次判断所读取的各个地形单元格,是否为海 岸带邻近淹没区。
条件a、 b代表当前的地形单元格是陆地且在海平面变化后将被淹没,条 件c用于排除内陆低地的地形单元。 步骤6,记录分析结果。
对于移动窗口单元的分析结果将写回提供高程信息的数据集单元格,也就 是记录在DEM数据中。
本发明中,移动窗口的分析结果具备两个不同级别,不同级别的分析结果 的存储位置不同。数据集级别的分析结果记录在地理空间网格索引表中,单元 格级别的分析结果记录在DEM数据集的单元格中。步骤6所得到的分析结果是 针对每个地形单元格的数据,故而存储至分块地形数据集的单元格中。
在本发明中,存储于数据存储单元中的是原始DEM数据的拷贝,以避免分 析结果破坏原有DEM数据的缺陷。
步骤7,将完全是水域的数据集和海拔完全高于海平面变化高度(原始海 平面高程值+海平面高度变化值)的数据集的"完全排除标识位"设定为true。
步骤8,如窗口位置为整个索引的东南角,则结束计算,否则向东顺序移 动"移动窗口"至size-1 ( "size"为窗口大小)位置,如移动至超出空间 范围则南移size-l位置,同时在纬向移至最西位置,然后跳至步骤3,循环 执行上述步骤。
通过在一个方向上的一次遍历,得到了海岸带邻近淹没区的数据,作为后
续判断淹没区的基础。
步骤1032可通过如下具体实现过程实现,如图2B、图2C所示
顺序以"东南"、"西北"、"东北"、"西南"的方向进行分析遍历。
第一个分析方向取决于选择起始点位置。即,第一个分析方向是起始点位
置的反方向。起始点位置在索引范围的西北角,则以"东南"方向作为分析方向。
分析方向的顺序并不限于所列顺序,但对角方向会取得比较好的效果。即, "东南"方向分析完毕后,进行"西北"方向的分析。步骤1032包括
步骤A,清零索引表中各数据集的"新增淹没地形单元格数"标志位。 步骤B,在一移动方向上,计算淹没区数据,包括
1) 根据当前移动方向的反方向设定初始移动窗口的位置;
如向"东南"方向移动则设置初始移动窗口在索引范围的西北角;
2) 根据地理空间网格索引表提取当前移动窗口覆盖的数据集,但跳过"完 全排除标识符"为true或"暂时挂起标识位"为true或"完全包含标识位" 为true的数据集;
3) 读取地形单元格数据,填充移动窗口的对应单元; 该步骤具体实现方法参照前述步骤4;
4) 分析各地形单元格,判断是否为淹没区,判断方法为同时满足
a. 当前地形单元格是陆地地形单元;
b. 高程小于海平面变化后的高程值;
c. 在移动方向反方向的2个地形单元格中存在淹没区或海岸带邻近淹没区。
本步骤中,依照上述方式,依次判断所读取的每个地形单元格,是否属于 淹没区。
条件a、 b代表当前的地形单元格是陆地且在海平面变化后将被淹没,条 件c用于排除内陆低地的地形单元,并且基于淹没区将是一连贯区域的特点, 提高确认淹没区的准确度。
5) 将一数据集在步骤4)中新添加的淹没区的单元格个数添加到该数据 集的"新增淹没地形单元格数"标志位中,如新增地形单元格数大于0,则修 改位于当前移动窗口覆盖范围内,且"暂时挂起标识位"为true的数据集的
"暂时挂起标识位"为false,并将该数据集加入当前窗口的分析队列;设定 被完全淹没(高程值小于海平面变化后的高程值)的数据集的"完全包含标识 位,,为true。
在该步骤中,只要移动窗口当前覆盖的区域内存在新增的淹没区,则将移 动窗口当前覆盖的暂时挂起的数据集重新进行如步骤4)所述的分析处理,以提高淹没区分析的准确性。
6) 记录淹没区分析结果;
淹没区分析结果是单元格级别的数据,故而存储至分块地形数据集的单元 格中。
7) 如未到达当前移动方向的终点,则根据当前移动方向移动"移动窗口",
然后跳至步骤2),如果达到当前移动方向的终点,执行步骤C。
艮p,如果当前的移动方向为"东南"方向,则当窗口位置位于整个索引的
东南角,结束计算,否则向东顺序移动"移动窗口"至size-1 ( "size"为 窗口大小)位置,如移动至超出空间范围则南移size-1位置,同时在讳向移 至最西位置,然后跳至步骤2),循环执行上述步骤。
步骤C,设置所有"新增淹没地形单元格数"标志位为0的数据集的"暂 时挂起标识位"为true。
步骤D,判断索引表中的所有网格单元是否均具有"完全排除标识位"或 "完全包含标识位"或"暂时挂起标识位"(均为true),如果是,结束分 析,如果不是,判断所有移动方向是否遍历结束,如果否,设定下一移动方向, 执行步骤A,如果是,结束。
通过上述迭代计算的方法,可得到更加精准的淹没区数据。
步骤104进一步包括如下步骤(如图3所示)
步骤201,在淹没区数据中提取所有边界点,形成边界点序列;
步骤202,利用该边界点序列生成边界多边形;
步骤203,从边界多边形中提取淹没区孤岛,形成矢量形式的淹没区边界。 该步骤201的主要实现步骤在于
通过地理空间网格索引表提取当前移动窗口覆盖的数据集的地形单元数
据;
通过判断当前地形单元格是淹没区的地形单元格且相邻地形单元格中存 在非淹没区的地形单元格,则确定当前地形单元格是淹没边界地形单元; 将淹没边界地形单元加入边界点序列。
在一个实施例中,步骤201进一步包括具体的提取步骤如下(如图3A所 示)
步骤301,设定初始移动窗口位置。例如为索引范围的西北角,则移动方向为"东南"方向;
步骤302,根据索引表提取当前移动窗口覆盖的数据集,跳过"完全排除 标识符"为tme或"完全包含标识位"为true的数据集。 步骤303,将提取的数据对应填充移动窗口。 步骤304,分析各地形单元格,判断是否为淹没边界地形单元。 判断方法为同时满足a.当前地形单元格为淹没区的地形单元;b.相邻 的8个地形单元格中存在非淹没区的地形单元格。
该步骤中,依次分析所提取的各个地形单元格,以确认其是否为淹没边界 地形单元。
步骤305,将淹没边界地形单元格加入边界点序列。
加入边界点序列的具体数据包括该地形单元格的地理坐标(该地形单元 格中心点)和所属数据集代码加入边界点序列。
步骤306,如未到达当前移动方向的终点,则根据当前移动方向移动"移 动窗口",然后跳至步骤302,如果到达当前移动方向的终点,执行步骤202。
根据当前移动方向移动的方式可参照步骤8的方式实现。
该步骤提取出了淹没区的边界的节点,为后续显示边界步骤的基础。
步骤202的主要实现步骤在于
从该边界点序列中取出头部的边界点,基于该边界点采用深度优先的方法 不断搜索相邻点,形成树状节点关系从根节点开始,计算每个分支的地理空间长度,选择最长的路径形成该边 界多边形;
根据每个节点与相邻两个节点的角度,消除该边界多边形中的冗余节点。 在一个实施例中,步骤202进一步包括具体的实现步骤如下(如图3B所 示)
步骤401,从序列中取出队列头部的边界点,采用深度优先的方法从队列 中搜索并取出该点的相邻点,以及相邻点的相邻点,直至找不到相邻点,形成 一个树状的节点关系图。重复该步骤,形成下一个树状节点关系图,直至队列 为空。
步骤402,从每个树状节点关系图形成多边形边界。
在一个实施例中,该步骤的具体做法为从根节点开始,计算每个分支的地理空间长度(即计算每个叶节点经过树状结构到达根节点经过的距离总和), 选择最长的路径形成多边形边界。
步骤403,根据角度阈值,优化多边形节点序列,消除全部冗余节点,执
行步骤203。
在一个实施例中,该步骤的具体做法为计算每个节点与相邻两个节点形 成的角度,计算与180度的角度差,判断
|180 - A| 〈= a (A为角度,a为角度阈值) 如满足该条件则剔除该节点。重复直至所有节点均满足该条件。 步骤203的主要实现步骤在于
按照面积排序所有边界多边形,形成从大到小的多边形队列; 获取所有边界多边形之间的拓扑包含关系;
将被包含的小区域的边界多边形嵌入大区域的边界多边形,形成大区域边 界多边形中的淹没区孤岛,形成淹没区边界。
该步骤实现了优化的边界矢量化提取,能够从分析结果中提取矢量化的淹 没区域,而且通过指定的角度阈值,能够在保证区域关键形状的前提下,消除 淹没区域多边形的冗余节点,得到代表淹没区域的优化形状。所得到的淹没区 边界为地理空间数据形式,其可以输出至后续分析处理模块,作为该分析处理
过程的初始信息,也可通过绘制为具体边界图形的方式,利用输出模块15进
行视觉化的呈现。根据数据绘制图形为本领域的公知技术,在此不赘述。
在一个实施例中,步骤203进一步包括具体的实现步骤如下(如图3C所 示)
步骤501,创建一个空的多边形集合;
步骤502,按照面积,对所有多边形进行排序,形成从大到小的多边形队
列;
步骤503,从队列中取出一多边形(多边形A),与集合中的多边形进行 拓扑关系分析;
艮口,如多边形A被集合中某个多边形(多边形B)完全空间包含,则将多 边形A内嵌到多边形B中,形成多边形B所代表区域的淹没区孤岛;如没有在 集合中找到与多边形A存在拓扑包含关系的多边形,将当前多边形A加入集合。
拓扑关系分析为GIS技术中的成熟的技术,在此不赘述。步骤504,判断队列是否为空,如果否,执行歩骤503,如果是,将多边
形集合进行输出。
通过上述步骤可得到优化的矢量形式的淹没区边界,能够得到在一整片淹 没区中存在的高出海平面的地区,使得淹没区边界的数据更加精确。同时,可
利用输出模块15向用户呈现该矢量形式的淹没区边界,g卩,将淹没区边界的 数据绘制为视觉化的边界图形。或者,将淹没区边界的数据输出至后续分析处 理模块,作为该分析处理过程的初始信息。
所得到的矢量形式的淹没区边界,还可通过网络连接模块16传输至其他 数据处理装置进行远程显示。
本发明进一步公开了一种大量分块地形数据的动态淹没区提取系统。该系 统设置于服务器10的数据处理模块11中,如图4所示,为其结构示意图。
大量分块地形数据的动态淹没区提取系统600用于对数据存储模块13中 以分块形式存储的分块地形数据集进行分析。
其中包括索引表设立模块601,用于扫描分块地形数据集,建立与分块地 形数据集对应的地理空间网格索引表;
移动窗口设定模块602,用于根据该数据处理装置的内存资源,设定用于 分析该分块地形数据集的移动窗口的大小;
其包括两种实施方式, 一种为根据该数据处理装置的内存资源,接收来自 输入模块14的设定参数,该设定参数设定了用于分析该分块地形数据集的移 动窗口的大小;另一种为根据预先存储的对照表,根据该数据处理装置的内存 资源,自动获取移动窗口的大小。
淹没区计算模块603,利用该移动窗口遍历该索引表,通过该索引表中提 取空间范围与移动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据 用户输入的海平面高度变化值,计算淹没区数据;
淹没区边界提取模块604,用于从该淹没区数据中提取矢量形式的淹没区 边界。
该索引表以网格的形式实现,该网格中的每个网格单元对应一个分块地形 数据集,每个网格单元在该网格中的位置对应于该分块地形数据集的地理空间 范围,每个网格单元记录该分块地形数据集的参数和分析过程中用到的标识 位。所应用到的参数与标识位参见对方法部分的说明。
淹没区计算模块603进一步包括 一初始化模块6031以及一迭代计算模 块6032。
初始化模块6031用于具体实现步骤1-8。 迭代计算模块6032用于具体实现步骤A-D。
其中,该初始化模块6031用于供该移动窗口根据所覆盖的该分块地形数 据集之中的地形单元格的高程值、地形类型、周围地形,并根据海平面高度变 化值,初始化提取海岸带邻近淹没区;
该迭代计算模块6032用于供该移动窗口从多个不同起点沿不同方向,分 别遍历该索引表,利用海岸带邻近淹没区,迭代计算淹没区数据。
淹没区边界提取模块604进一步包括 一边界点提取模块6041, —边界 多边形生成模块6042, 一淹没区孤岛提取模块6043。
该边界点提取模块6041用于在淹没区数据中提取所有边界点,形成边界 点序列;
该边界多边形生成模块6042用于利用该边界点序列生成边界多边形; 该淹没区孤岛提取模块6043用于从边界多边形中提取淹没区孤岛。 所述该边界点提取模块6041用于通过地理空间网格索引表提取当前移动 窗口覆盖的数据集的地形单元格数据;通过判断当前地形单元格是否是淹没区 的地形单元格且相邻地形单元格中存在非淹没区的地形单元格,确定是否是淹 没边界地形单元;将淹没边界地形单元加入边界点序列。
所述该边界点提取模块6041还具体用于执行步骤301-306。 所述边界多边形生成模块6042用于从该边界点序列中取出头部的边界 点,基于该边界点采用深度优先的方法不断搜索相邻点,形成树状节点关系图; 从根节点开始,计算每个分支的地理空间长度,选择最长的路径形成该边界多 边形;根据每个节点与相邻两个节点的角度,消除该边界多边形中的冗余节点。 所述该边界点提取模块6042还具体用于执行步骤401-403。 该淹没区孤岛提取模块6043用于按照面积排序所有边界多边形,形成从 大到小的多边形队列;获取所有边界多边形之间的拓扑包含关系;将被包含的 小区域的边界多边形嵌入大区域的边界多边形,形成大区域边界多边形中的淹 没区孤岛,形成淹没区边界。该淹没区孤岛提取模块6043还具体用于执行步骤501-504。
(1) 通过地理空间网格化索引方法,能够支持数据量大(远超过内存容 量)且以数据分块形式存储和管理的地形数据;
(2) 通过控制"移动窗口"的大小,能够使该方法适应于不同内存资源 条件的软硬件环境;
(3) 通过优化的边界矢量化提取方法,能够从本发明的分析结果中提取 矢量化的淹没区域,而且通过指定的角度阈值,能够在保证区域关键形状的前 提下,消除淹没区域多边形的冗余节点,得到代表淹没区域的优化形状。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种大量分块地形数据的动态淹没区提取方法,运行于数据处理装置中,用于对以不同分块形式存储的分块地形数据集进行分析,其特征在于,包括如下步骤扫描分块地形数据集,为分块地形数据集建立对应的地理空间网格索引表;根据该数据处理装置的内存资源,设定用于分析该分块地形数据集的移动窗口的大小;该移动窗口遍历该索引表,通过该索引表提取空间范围与移动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据输入的海平面高度变化值,计算淹没区数据;从该淹没区数据中提取矢量形式的淹没区边界。
2、 根据权利要求1所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,为分块地形数据集建立对应的地理空间网格索引表的步骤包括该索引表以空间网格的形式实现,该索引表中的每个网格单元对应一个分 块地形数据集,每个网格单元在该索引表中的位置对应于该分块地形数据集的 地理空间范围,每个网格单元记录该分块地形数据集的参数和分析过程中用到 的标识位。
3、 根据权利要求1所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,所述计算淹没区数据的步骤进一步包括该移动窗口根据该分块地形数据集之中的地形单元格的高程值、地形类 型、周围地形,并根据海平面高度变化值,初始化提取海岸带邻近淹没区; 该移动窗口从多个不同起点沿不同方向,分别遍历该索引表,根据该海岸带邻近淹没区,迭代计算淹没区数据。
4、 根据权利要求1、 2或3所述的大量分块地形数据的动态淹没区提取方 法,其特征在于,该参数包括空间范围、单元格大小和空值的标识;该标识位包括完全排除标识位、完全包含标识位、暂时挂起标识位和新 增淹没地形单元格数。
5、 根据权利要求4所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,所述初始化海岸带邻近淹没区的步骤包括设定初始移动窗口的起始位置;根据该索引表提取当前移动窗口覆盖的分块地形数据集; 读取该分块地形数据集中的地形单元格数据;分析每个地形单元格数据,判断是否同时满足以下条件是陆地地形单元, 高程小于海平面变化后高程值,相邻地形单元格中存在水域单元;如果满足,判断为海岸带邻近淹没区,记录分析结果,并移动窗口位置, 重新提取当前所覆盖的分块地形数据集进行计算,直至遍历结束。
6、 根据权利要求5所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,所述初始化海岸带邻近淹没区的步骤还包括将完全是水域的地形单元和高程值完全高于海平面变化后的高程值的数 据集的完全排除标识位设定为tme。
7、 根据权利要求4所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,该移动窗口从多个不同起点沿不同方向,分别遍历该索引表,根据 该海岸带邻近淹没区,迭代计算淹没区数据的步骤中,每次迭代均包括以下步 骤清零各数据集的新增淹没地形单元格数标识位;根据该分块地形数据集之中的每个地形单元格的高程值、地形类型、周围 地形,并根据海平面高度变化值,计算该地形单元格是否为淹没区,记录计算 结果,根据计算结果填写标识位;设置所有新增淹没地形单元格数标识位为0的数据集的暂时挂起标识位 为true;当索引表中所有网格单元的完全排除标识位、完全包含标识位、暂时挂起 标识位的值均为true时,结束。
8、 根据权利要求7所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,该计算该地形单元格是否为淹没区的步骤包括判断每个地形单元格是否同时满足以下条件是陆地地形单元,高程小于 海平面变化后高程值,在移动方向的反方向的两个地形单元格中存在淹没区或 者海岸带邻近淹没区,如果满足,判断为淹没区。
9、 根据权利要求8所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,该计算该地形单元格是否为淹没区,记录计算结果,根据计算结果 填写标识位的步骤还包括将新添加的判断为淹没区的地形单元格个数添加到该数据集的新增淹没 地形单元格数标识位中;如新增地形单元格数大于0,修改位于当前移动窗口覆盖范围内,且暂时挂起标识位为true的数据集的暂时挂起标识位为false,并将该数据集加入 当前窗口的分析队列。
10、 根据权利要求1所述的大量分块地形数据的动态淹没区提取方法,其 特征在于,从该淹没区数据中提取矢量形式的淹没区边界的步骤包括在淹没区数据中提取所有边界点,形成边界点序列;利用该边界点序列生成边界多边形;从边界多边形中提取淹没区孤岛。
11、 根据权利要求10所述的大量分块地形数据的动态淹没区提取方法, 其特征在于,在淹没区数据中提取所有边界点,形成边界点序列的步骤包括-通过地理空间网格索引表提取当前移动窗口覆盖的数据集的地形单元格 数据;通过判断每个地形单元格是否是淹没区的地形单元格且相邻地形单元中 存在非淹没区的地形单元格,确定是否是淹没边界地形单元; 将淹没边界地形单元加入边界点序列。
12、 根据权利要求10所述的大量分块地形数据的动态淹没区提取方法, 其特征在于,所述利用该边界点序列生成边界多边形的步骤包括从该边界点序列中取出头部的边界点,基于该边界点采用深度优先的方法 不断搜索相邻点,形成树状节点关系图;从根节点开始,计算每个分支的地理空间长度,选择最长的路径形成该边 界多边形;根据每个节点与相邻两个节点的角度,消除该边界多边形中的冗余节点。
13、 根据权利要求10、 11或12所述的大量分块地形数据的动态淹没区提 取方法,其特征在于,所述从边界多边形中提取淹没区孤岛的步骤包括按照面积排序所有边界多边形,形成从大到小的多边形队列;获取所有边界多边形之间的拓扑包含关系;将被包含的小区域的边界多边形嵌入大区域的边界多边形,形成大区域边 界多边形中的淹没区孤岛,形成矢量形式的淹没区边界。
14、 一种大量分块地形数据的动态淹没区提取系统,设置于数据处理装置 中,用于对以不同分块形式存储的分块地形数据集进行分析,其特征在于,包 括索引表设立模块,用于扫描分块地形数据集,为该分块地形数据集建立对 应的地理空间网格索引表;移动窗口设定模块,用于根据该数据处理装置的内存资源,设定用于分析 该分块地形数据集的移动窗口的大小;淹没区计算模块,利用该移动窗口遍历该索引表,通过该索引表中提取空 间范围与移动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据用户 输入的海平面高度变化值,计算淹没区数据;淹没区边界提取模块,用于从该淹没区数据中提取矢量形式的淹没区边界。
15、 如权利要求14所述的系统,其特征在于,所述淹没区计算模块包括 一初始化模块以及一迭代计算模块;该初始化模块用于供该移动窗口根据该分块地形数据集之中的地形单元 格的高程值、地形类型、周围地形,并根据海平面高度变化值,初始化提取海 岸带邻近淹没区;该迭代计算模块用于供该移动窗口从多个不同起点沿不同方向,分别遍历 该索引表,根据该海岸带邻近淹没区,迭代计算淹没区数据。
16、 如权利要求14或15所述的系统,其特征在于,该淹没区边界提取模 块还包括一边界点提取模块, 一边界多边形生成模块, 一淹没区孤岛提取模块;该边界点提取模块用于在淹没区数据中提取所有边界点,形成边界点序列;该边界多边形生成模块用于利用该边界点序列生成边界多边形; 该淹没区孤岛提取模块用于从边界多边形中提取淹没区孤岛。
17、 如权利要求16所述的系统,其特征在于,所述该边界点提取模块用 于通过地理空间网格索引表提取当前移动窗口覆盖的数据集的地形单元格数据;通过判断当前地形单元格是否是淹没区的地形单元格且相邻地形单元格中 存在非淹没区的地形单元格,确定是否是淹没边界地形单元;将淹没边界地形 单元加入边界点序列。
18、 如权利要求16所述的系统,其特征在于,所述边界多边形生成模块 用于从该边界点序列中取出头部的边界点,基于该边界点采用深度优先的方法 不断搜索相邻点,形成树状节点关系图;从根节点开始,计算每个分支的地理 空间长度,选择最长的路径形成该边界多边形;根据每个节点与相邻两个节点 的角度,消除该边界多边形中的冗余节点。
19、 如权利要求16所述的系统,其特征在于,该淹没区孤岛提取模块用 于按照面积排序所有边界多边形,形成从大到小的多边形队列;获取所有边界 多边形之间的拓扑包含关系;将被包含的小区域的边界多边形嵌入大区域的边 界多边形,形成大区域边界多边形中的淹没区孤岛,形成淹没区边界。
20、 一种大量分块地形数据的动态淹没区提取装置,其特征在于,包括数 据处理模块,输入模块、输出模块、内存模块、数据存储模块,数据存储模块 中存储有以不同分块形式存储的分块地形数据集,该数据处理模块中包括索引表设立模块,用于扫描数据存储模块中的数据集,并为数据集建立对 应的地理空间网格索引表;移动窗口设定模块,用于根据该数据处理装置的内存资源,设定用于分析 该分块地形数据集的移动窗口的大小;淹没区计算模块,利用该移动窗口遍历该索引表,通过该索引表中提取空 间范围与移动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据用户 输入的海平面高度变化值,计算淹没区数据;淹没区边界提取模块,用于从该淹没区数据中提取矢量形式的淹没区边界。
全文摘要
本发明公开了一种大量分块地形数据的动态淹没区提取方法、装置及系统。该方法运行于数据处理装置中,包括扫描分块地形数据集,为分块地形数据集建立对应的地理空间网格索引表;根据该数据处理装置的内存资源,设定用于分析该分块地形数据集的移动窗口的大小;该移动窗口遍历该索引表,通过该索引表提取空间范围与移动窗口覆盖的空间范围重叠的分块地形数据集的数据,并根据用户输入的海平面高度变化值,计算淹没区数据;从该淹没区数据中提取矢量形式的淹没区边界。本发明根据海平面变化高度,提取被淹没区域。可适应不同内存资源,支持对大数据量以分块形式存储和管理的地形数据,形成代表淹没区的地理多边形。
文档编号G06K9/46GK101630366SQ20091009020
公开日2010年1月20日 申请日期2009年7月31日 优先权日2009年7月31日
发明者敏 冯, 佳 宋, 廖顺宝, 杨雅萍 申请人:中国科学院地理科学与资源研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1