CN115408382A - 面向大规模卫星数据的矢量空间信息网格化存储管理方法 - Google Patents
面向大规模卫星数据的矢量空间信息网格化存储管理方法 Download PDFInfo
- Publication number
- CN115408382A CN115408382A CN202210672392.0A CN202210672392A CN115408382A CN 115408382 A CN115408382 A CN 115408382A CN 202210672392 A CN202210672392 A CN 202210672392A CN 115408382 A CN115408382 A CN 115408382A
- Authority
- CN
- China
- Prior art keywords
- vector space
- information
- grid
- space information
- independent
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,包括如下步骤:步骤1、对矢量空间信息使用的地理坐标空间范围进行网格剖分并对网格进行编号;步骤2、将矢量空间信息转换为GeoJSON统一格式,并将各独立矢量空间对象以地理坐标序列的哈希值为文件名保存成文本文件;步骤3、将多元矢量空间信息基于地理坐标和所述编号网格的空间相交关系与相应的网格编号建立逻辑连接索引;步骤4、根据所述编号网格存储模型建立相应数据管理系统,实现对多元矢量空间信息的增加、删除、改写和查找功能。
Description
技术领域
本发明涉及计算机数据存储管理领域,尤其是一种基于大规模矢量空间信息的网格化存储管理方法。
背景技术
空间信息分为栅格信息和矢量信息,栅格信息是指用矩阵存储的空间信息,可以通过对矩阵进行分块实现连续空间信息的分割与存储;矢量信息是通过离散对象存储的空间信息,具有数据组织结构异构、空间分布不均的特点。
原始的卫星遥感影像是一种栅格空间信息。在实际的应用场景中,实时卫星遥感影像数据可以对地表灾情研判、应急响应决策提供重要信息,历年的卫星遥感影像数据对地表环境的变化检测和演化规律研究也不可或缺。随着遥感卫星影像分辨率的提高,单幅卫星遥感影像的体积日益增大,所生产出的遥感影像的体积从几GB到几十GB不等,在特殊情况下甚至可以达到上百GB。随着卫星遥感对地观测工作的持续推进,卫星遥感影像数据规模已达海量。近年来,以深度学习为代表的遥感影像智能解译技术取得了长足进步,从遥感影像提取目标地物矢量信息的精度和速度均日益提高,由此产生了基于海量规模卫星遥感影像数据自动解译的、针对不同目标地物类型的大规模(例如全国范围尺度下)矢量空间信息。
矢量空间信息的存储与查询,是空间分析及应用的基础和核心。传统的矢量空间信息来源主要是专业测绘部门制作的矢量地理信息产品,由于其人工制作更新周期较长,数据规模有限,早期多使用文件系统来进行矢量空间信息的存储和管理;后来,随着计算机技术和数据库技术的发展,为了提高矢量空间信息的存储和查询效率,出现了采用文件+关系型数据库、全关系型数据库以及搭建关系型数据库集群(如Oracle RAC集群)等多种方式进行矢量空间信息的混合存储管理技术;然而,随着矢量空间信息规模的指数级增长,上述方式都无法以高时效的方式对大规模矢量空间信息进行存储与查询,这对大规模矢量空间信息的高效存储管理、快速分析应用提出了新的挑战。
在上述背景下,解决大规模矢量空间信息的存储和查询问题是业界的迫切需求,与此同时许多空间信息存储和查询相关的研究工作也取得了良好的成果。微软公司继Virtual Earth 之后发布了Bing Maps在线地图服务,其将遥感影像数据采用基于四叉树的瓦片划分模型,将每个瓦片数据以二进制格式存储在Windows Azure云计算平台中,使用基于SQL Server 技术构建的SQL Azure关系数据库进行遥感影像的元数据信息管理。谷歌公司也基于与上述微软公司技术体系相似的方法,推出了Google Maps,其依托内部云计算技术,使用了谷歌文件系统、索引大表和Map Reduce编程模型等关键技术。国内方面,来自浙江大学的田帅等人针对遥感影像多源异构的特点,提出了基于Mongo DB和HDFS的遥感影像存储设计模型,解决传统多元数据方面出现的兼容性差和数据不易共享的问题。武汉大学的罗平等人,针对遥感影像I/O读写效率慢的问题,提出了基于NAND Flash为存储介质,在遥感影像多轨迹场景下的实时存储优化策略。上述现有技术主要基于分布式文件系统,面向不经常更新的栅格空间信息的存储和查询需求,进行了针对性设计;但对于基于实时卫星遥感影像解译持续生成、动态更新的大规模矢量空间信息的存储和查询需求,尚不能提供可行的针对性技术方案,原因一方面在于矢量空间信息对象的地理几何形状复杂、大小各异,很难使用简单的方法直接分割存储,导致其在大规模数据量条件下的空间查询效率低下;另一方面在于矢量空间信息对象对应地理实体的原始观测数据具有可扩展的多模态特性,导致地理实体的属性字段的数量、名称、数据类型等数据模式层结构处于经常性迭代演进过程中,现有关系数据库和分布式文件系统均不能针对大规模矢量空间信息的上述特性提供可行技术方案,因此需要一种新的数据管理系统实现对大规模矢量空间信息的存储和查询。
发明内容
为解决上述技术问题,本发明兼容多种成熟的空间网格化剖分方法例如TMS、Google Tiles等,提出了“网格化划分地理空间,形成多尺度逻辑容器,将矢量空间信息以统一且支持在运行时任意扩展属性字段的格式存入逻辑容器,以逻辑容器群作为数据管理系统,支撑对大规模矢量空间信息快速增删改查”的技术路线。
本发明的技术方案为:一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,包括如下步骤:
步骤1、对矢量空间信息使用的地理坐标空间范围进行网格剖分并对网格进行编号;
步骤2、将矢量空间信息转换为GeoJSON统一格式,并将各独立矢量空间对象以地理坐标序列的哈希值为文件名保存成文本文件;
步骤3、将多元矢量空间信息基于地理坐标和所述编号网格的空间相交关系与相应的编号网格建立逻辑连接索引;
步骤4、根据所述编号网格存储模型建立相应的数据管理系统,实现对多元矢量空间信息的增加,删除,改写和查找的功能。
有益效果:
本发明面向卫星遥感影像定期解译持续生成、动态更新的大规模多元矢量空间信息的存储和查询需求,兼容多种网格化地理编码方法,实现大规模多元矢量空间信息的增量化动态存储管理与高性能检索。
附图说明
图1、数据管理系统搭建和功能实现流程图;
图2、网格编码流程图;
图3、平面网格编码示意图;
图4、GeoJson结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
根据本发明的实施例,如图1所示,提出一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,包括如下步骤:
步骤1、对矢量空间信息使用的地理坐标空间范围进行网格剖分并对网格进行编号。
网格剖分方法是空间网格模型的基础,其主要有:平面多边形网格剖分、球面正多面体网格剖分、自适应网格剖分、等积网格剖分和立体网格剖分方法,这些剖分方法通常具有不同的适用场景。用于空间信息组织的网格模型中,应用最广泛的是平面矩形网格剖分、球面正立方体网格剖分和立体网格剖分,分别对应Geohash,Google S2以及Geo SOT-3D算法所采用的网格剖分方法。这三类网格适合常用的数据结构和笛卡尔坐标系,并对常规显示设备友好。
平面矩形网格剖分方法,其基本思想是将局部平面空间或经纬度空间区域,通常以四叉树形式进行递归剖分成一系列矩形网格,该方法使得空间编码计算较为简单且效率高,但对两级地区处理不够友好。球面正立方体网格剖分方法,其基本思路是将地球表面投影至立方体的六个表面,然后对每个面采用平面矩形网格剖分的方法进行递归剖分;该方法较好地考虑到了两级地区,但使得每个面相接处的网格编码计算较为复杂。立体网格剖分方法,其基本思想是将整个三维空间或时空区域,通常以八叉树形式进行递归剖分成一系列立方体网格,该方法可以实现对点云数据,BIM数据等三维空间数据,以及时空数据的表达与组织;而平面矩形网格和球面立方体网格剖分方法,更适合地表覆盖数据的表达与组织。
上述三种网格剖分方法都有比较成熟的实施案例以供使用。根据本发明以平面矩形网格剖分方法的一个实施例,说明基于Web墨卡托投影网格剖分法和TMS网格剖分法计算空间网格编号的具体实施方式,具体步骤如下:
墨卡托投影(Mercator Projection),又称麦卡托投影、正轴等角圆柱投影,是一种等角的圆柱形地图投影法。本投影法得名于法兰德斯出身的地理学家杰拉杜斯·墨卡托,他于1569 年以此方式绘制的世界地图。在以此投影法绘制的地图上,经纬线与任何位置皆垂直相交,使世界地图可以绘制在一个长方形上。由于可显示任两点间的正确方位,航海用途的海图、航路图大都以此方式绘制。在该投影中线型比例尺在图中任意一点周围都保持不变,从而可以保持大陆轮廓投影后的角度和形状不变(即等角);但墨卡托投影会使面积产生变形,极点的比例甚至达到了无穷大。
Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称作WebMercator(Web 墨卡托投影)或Spherical Mercator(球面墨卡托投影),它与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体。
除Google地图外,Bing地图、MapABC地图、百度地图、天地图等在线地图服务均采用了Web墨卡托投影,ESRI的Online地图也有使用此地图投影。除了在切片时候减少图片数量以外均采用了Web墨卡托投影方式,但在地图显示上面为了通俗性的考虑,还是转换成了经纬度的方式显示。
可以使用下面的公式,将经纬度坐标转换为Web墨卡托投影网格编号:
其中,x,y表示Web墨卡托投影网格剖分之后的东西方向网格编号、南北网格编号,y1 表示TMS方法的转换公式,y2表示Google Tiles方法的转换公式。lon,lat表示网格剖分之前的原始经、纬度坐标,z表示网格剖分的等级,sec表示反余弦函数,ln表示对数函数,tan 表示正切函数。不同的等级对应不同数量的网格。
优选的,根据本发明的一个实施例,可采用球面正多面体网格剖分方法,以避免平面矩形网格划分带来的某些地区的巨大形变以及南北极地区无法划分等问题。球面离散网格模型是一种能无限细分,并且不改变形状的球面拟合网格模型,它具有层次性、连续性和近似均匀等特征,有效避免了传统的平面网格在表达全球数据时存在的数据断裂、形变和拓扑不一致等问题,而且能方便地在网格计算环境下实现对空间信息资源的整合、共享与利用。近年来,国际学术界和相关应用部门从不同的侧面对全球离散网格模型进行了研究,在网格构建方面,基于正多面体剖分的球面网格是全球离散网格模型研究的热点。多面体表面的层次剖分图形主要有三角形、菱形、六边形等,在这些网格剖分图形中,菱形网格几何结构简单,具有方向一致性、径向对称性和平移相合性等优点,其网格编号具体计算步骤如下:
菱形网格的剖分方案:
球面网格体系建立首先是基础网格的构建,在此基础上将球面划分成规则的、多层次的网格。使用正八面体和正二十面体作为网格的基础,基础网格的构建过程如下:
1)参考球体的选择
可以把参考球体看作是一个虚拟的地球体,它既能是近似的参考椭球体,也可以根据研究精度的要求简化成正球体。由于椭球体的数学三维空间计算比较复杂,为简化计算一般选择正球体用以网格剖分的研究,本方案也是选择正球体作为虚拟地球体,地球的平均半径约为6371千米,由于本发明为适于天地一体化网格的研究,将参考球体的半径设为7200千米。
2)正多面体的选择
适于菱形网格剖分的球内接正多面体有正八面体和正二十面体。基于正八面体的网格剖分最大的优点是它与经纬度网格的转换关系非常简单,正八面体将参考球体等分成8块区域,主要有6个划分点,包括南北两个极点和四个赤道上的点。
正二十面体上剖分的边界较多,顶点在球面上的定位有几种不同的方案。最常见的一种方式是在两个极点各放置一个顶点,其中一条通过北极的边线和0度经线重合,该方法最大的不足在于网格对于赤道不对称。
3)网格的递归划分
球面菱形的递归剖分过程可以看作是对球面圆弧(菱形边)取中点的过程,圆弧中点的生成方法有两种,一种是大圆弧的中点;一种是经纬线的中点作为球面圆弧的中点。
综上所述,球面菱形网格的传统剖分方案可以归纳为四种,分别是基于正八面体大圆弧剖分的球面菱形网格、基于正八面体经纬网剖分的球面菱形网格、基于正八面体混合剖分的球面菱形网格、基于正二十面体大圆弧剖分的球面菱形网格。上述这四种球面网格的产生过程如图3所示。
在选定网格剖分方案的基础上,为每一个剖分之后的网格单元赋予编号,每一个网格单元编号对应一个存储矢量空间信息的逻辑容器。网格单元编号方法是基于网格模型的数据索引、查询等计算的基础和关键,其主要有:坐标编码、层次编码和填充曲线编码方法。根据本发明的一个实施例,采用坐标编码方法进行网格单元编号,坐标编码是最简单直接的单元编码方案,基本思想是在格网空间中定义m个坐标轴A1、…、Am。单元的m维整数坐标 (i1,i2,…,im)即是编码,其中ij是沿着Aj坐标轴前进的步长数。对于单元递归剖分,添加下标r表示剖分级别。以图3为例说明,这是基于前述TMS网格剖分法的两个坐标轴坐标编码示例,编码形式为(x,y)z,x为横坐标,y为纵坐标,z为针对原始空间的剖分级别(示例中0为初始剖分级别,1对应的级别为初始级别网格单元的下一级剖分结果的级别,以此类推),编码原点(0,0)设定于左下角,x编码由左向右依次加1,y编码由下自上依次加1。以此类推,坐标编码可用推广用于二维、三维等高维度的网格模型。
步骤2、将矢量空间信息转换为GeoJSON统一格式,并将各独立矢量空间对象以地理坐标序列的哈希值为文件名保存成文本文件。
矢量空间信息有多种存储形式,其中GeoJSON是Osgeo组织规定的存储矢量空间信息的标准格式。任何矢量空间对象信息都可以用GeoJson文件格式存储。GeoJson格式可表达的地理要素形态类型,分为Point(点)、MultiPoint(多点)、LineString(线)、MultiLineString (多线)、Polygon(面)、MultiPolygon(多面)、GeometryCollection(几何集合)。GeoJSON 格式规定,将一个地理要素几何形状信息以地理坐标序列化格式封装到单个的geometry对象中,将一个地理要素属性信息以键值对对象序列化格式封装到单个的properties对象中,一个geometry对象与一个properties对象一一对应组合为feature对象(也就是独立矢量空间对象,通常对应一个具体的地理要素个体);各独立矢量空间对象放到一个类型名称为 FeatureCollection的对象的features列表容器中,如图4所示。
因为任意的矢量空间信息都可基于GeoJSON格式完整存储,因此只需读取并且存储 GeoJSON格式中的矢量空间对象信息,即可实现对所有矢量空间信息的存储。根据GeoJSON 的树状结构图可知,GeoJSON中的矢量被存储在“features”这个“键”之后,以“[]”作为矢量列表边界符,“{}”作为独立矢量空间对象的边界符,并且每两个独立矢量空间对象之间使用“,”(半角逗号)分隔。根据GeoJSON格式规范定义,每1个所述独立矢量空间对象都包含1个geometry对象和1个properties对象。
本发明首先将待存储矢量空间信息转换为GeoJSON统一格式,而后从中读取每一个所述独立矢量空间对象,将每一个所述独立矢量空间对象的geometry对象的JSON序列化文本进行哈希值计算(根据本发明的一个实施例,可使用SHA1算法计算哈希值,也可使用其他哈希值算法,只要保证同一个实施例中的哈希值算法一致即可),进而将包含“{}”头部和尾部标识符的每1个所述独立矢量空间对象信息文本独立保存为1个文本文件,并且所述哈希值作为所保存文本文件的文件名。通过这一步骤,形成了以文本形式承载的、独立矢量空间对象的最小化存储单元,并通过哈希值描述了每一个所述独立矢量空间对象的最小化存储单元的、具有唯一性的空间信息特征。同一类型地理实体的矢量空间信息中,各独立矢量空间对象的所述哈希值应当不同,若出现相同的所述哈希值,则说明出现了地理坐标序列完全相同的两个独立矢量空间对象,这通常被认定为一种异常情况,根据业务场景要求加以特殊处理。
基于所述独立矢量空间对象的最小化存储单元存储的文本信息,仅通过简单的字符串拼接方法(仅需根据GeoJSON标准格式定义,在所述独立矢量空间对象的最小化存储单元存储的原始字符序列相应位置,加上固定前缀、后缀字符串、半角逗号分隔符、以及其他的所述独立矢量空间对象的最小化存储单元存储的原始字符序列(例如以下字符串的顺序拼接:固定前缀字符串【{"type":"FeatureCollection","features":[】+所述独立矢量空间对象的最小化存储单元存储的原始字符序列示例1【{"type":"Feature","geometry":{"type": "Point","coordinates":[102.11077899999992,26.112446000000055]},"properties": {"Value_1":0.1234}}】+半角逗号分隔符【,】+所述独立矢量空间对象的最小化存储单元存储的原始字符序列示例2【{"type":"Feature","geometry":{"type":"Point", "coordinates":[102.21077899999992,26.212446000000055]},"properties":{"Value_1": 0.5678}}】+固定后缀字符串【]}】,可以生成下列标准格式GeoJSON格式化文本【{"type": "FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point", "coordinates":[102.11077899999992,26.112446000000055]},"properties":{"Value_1": 0.1234}},{"type":"Feature","geometry":{"type":"Point","coordinates": [102.21077899999992,26.212446000000055]},"properties":{"Value_1":0.5678}}]}】),即可针对任意多个所述独立矢量空间对象组成的集合,快速生成标准格式GeoJSON格式化文本,而无需在内存空间进行繁琐而耗时的原始存储字段数据的反序列化、矢量空间对象构建、 GeoJSON格式输出结果数据的序列化操作。因此,相较于传统的关系数据库存储方式、以及基于分布式文件系统的其他序列化格式文件存储方式,基于所述独立矢量空间对象的最小化存储单元的存储方案,显著提高了大规模矢量空间信息读取和输出速度,且在处理同等数量矢量空间信息条件下占用计算资源大幅降低,能够支持在手机等各类移动终端上单机离线承载局域规模的矢量空间信息的存储、修改、删除和查询操作,解决了现有技术依赖的关系数据库以及分布式文件系统难以在手机等各类移动终端运行导致的规模化矢量空间信息离线应用障碍(例如,在重大灾害导致通信全面中断条件下的应急救援任务场景中,需实现针对救援任务区域的规模化矢量空间信息离线应用)。
步骤3、将多元矢量空间信息基于地理坐标和所述编号网格的空间相交关系与相应的网格编号建立逻辑连接索引。
根据本发明的一个实施例,经过步骤1,矢量空间信息的坐标已经转换到墨卡托投影坐标系。墨卡托投影坐标系将地球表面上的点与正方形平面上的点一一对应,因此,可以使用水平直线和竖直直线将此正方形等分,例如一条竖直的直线和一条水平的直线可以将正方形四等分。划分得越细,划分后的每一小块所表示的空间范围就越小。因此,可以根据所存储矢量空间信息对应的来源遥感影像的空间分辨率、目标应用场景空间分析的精细度要求的约束条件,确定网格化剖分的最小级数z_min和最大级数z_max,进而对于每一个具体的网格化剖分级数z,任意地理坐标所在编号网格的x编号和y编号可唯一确定。
对于每一个步骤2生成的独立矢量空间对象,根据其包含的地理坐标序列信息,判定该独立矢量空间对象与哪些所述编号网格存在空间相交关系,并为每一个与所述独立矢量空间对象存在空间相交关系的所述编号网格,建立一个包含所述编号网格完整编号信息的规则文件名(例如z17_x1234_y5678表示z=17,x=1234,y=5678)的索引文件,在所述编号网格的索引文件中,写入所有与该网格存在空间相交关系的、所述独立矢量空间对象的最小化存储单元的哈希值文件名,索引文件中各哈希值文件名之间以特定分隔符加以间隔,从而完整保存了每一个所述独立矢量空间对象与所述编号网格之间的逻辑连接索引,实现将每一个所述独立矢量空间对象存储到了网格编号对应的逻辑容器之中。
本发明采用增量的方式进行存储,编号网格对应的逻辑容器每次增加、删除独立矢量空间对象时,只需修改编号网格对应的索引文件,并相应地增加、删除所述独立矢量空间对象的最小化存储单元。特别是由于索引文件中各哈希值文件名之间以特定分隔符加以间隔,本发明采用在已有索引文件结尾处追加写入预定分隔符(例如半角逗号“,”)以及哈希值文件名作为增加新的独立矢量空间对象的具体步骤,并不会重写已有的索引文件内容,大大加快了矢量空间信息存储和索引构建的速度。
以所述步骤2、步骤3的存储流程为例,可将该存储流程推广到多元矢量空间信息,规定统一的网格化剖分的最小级数z_min和最大级数z_max,不同的遥感卫星在不同的时间不同的地点拍摄的遥感影像抽取为针对不同类型地物目标的矢量空间信息后,为每一类型的地物目标建立一个命名的逻辑容器集合,为每一个所述编号网格建立一个逻辑容器,存储所有与所述编号网格存在空间相交关系的所述独立矢量空间对象的矢量空间信息,基于逻辑容器实现多元矢量空间信息的统一存储管理。
步骤4、根据所述编号网格存储模型建立相应的数据管理系统,实现对多元矢量空间信息的增加,删除,改写和查找的功能。
增加新的矢量空间信息的具体步骤在步骤3已经叙述,接下来说明本发明实现查找矢量空间信息、修改矢量空间信息和删除矢量空间信息的方法。
1)查找矢量空间信息
为了能够在遥感影像数据中搜索某地物周边的地物或者地形等要素,以往一般是采用将待搜索的地物与一景或者多景遥感影像中的地物矢量逐一比对,计算它们地理坐标之间的距离,从而找到与待搜索的地物相邻的其他地物或者地形,但是这种查找方法所需计算量大,时间长,不适用于面向大规模卫星数据矢量空间信息的查询场景。为了能够快速查找出矢量空间信息集合中针对某地理坐标周围的矢量空间信息,可以基于本发明建立的空间编号网格存储结构实现高效率检索。
根据本发明基于Web墨卡托投影网格剖分法的一个实施例,当一个坐标已知,即可根据网格单元编号规则,计算出该坐标位于Web墨卡托投影平面上的哪一个编号网格中,又因为编号网格逻辑容器对应的索引文件是以包含所述编号网格完整编号信息的规则文件名 (例如z17_x1234_y5678表示z=17,x=1234,y=5678)命名的,因此搜索文件名即可找到任意地理坐标所在编号网格逻辑容器对应的索引文件,进而根据索引文件内容,取得所有与该编号网格存在空间相交关系的、独立矢量空间对象信息;若要查找地理坐标周边更大范围内的矢量,可以根据网格单元编号规则定义的相邻网格编号之间的空间关系,得到指定地理坐标所在编号网格的相邻网格编号,进而获得相邻编号网格逻辑容器对应的索引文件;由于上述扩展编号网格搜索的方法可以对任意一个编号网格使用,得到该编号网格的相邻编号网格,使得总的搜索空间范围渐进扩大,直至满足搜索要求(例如需要搜索某地理坐标周边十公里范围内的所有五星级酒店对应的独立矢量空间对象)。
2)修改矢量空间信息
矢量空间信息的修改,是指独立矢量空间对象的geometry对象包含的地理坐标信息不发生改变、只对独立矢量空间对象的properties对象包含的键值对信息加以变更的操作;若某个待存储的独立矢量空间对象的geometry对象包含的地理坐标信息,与任意一个已完成存储的独立矢量空间对象的geometry对象包含的地理坐标信息都不完全相同,则视为新增的独立矢量空间对象。
由于所述步骤2将每一个独立矢量空间对象的geometry对象的JSON序列化文本计算所得的哈希值作为独立矢量空间对象的存储文件名,因此在修改矢量空间信息时,可基于待修改独立矢量空间对象的geometry对象的JSON序列化文本计算所得的哈希值,直接确定其目标独立矢量空间对象的存储文件名,进而修改该文件名下保存的独立矢量空间对象的 properties对象包含的键值对信息,即完成修改矢量空间信息操作。因此,相较于传统的关系数据库存储方式、以及基于分布式文件系统的其他序列化格式文件存储方式,基于所述独立矢量空间对象的最小化存储单元的存储方案,能够在不中断系统正常运行的情况下,随时适应地理实体的属性字段的数量、名称、数据类型等数据模式层结构的经常性迭代调整,只需要按照最新的数据模式层结构定义,将所述独立矢量空间对象的最小化存储单元中存储的 JSON序列化文本中properties对象部分包含的键值对信息加以重写,即可完成数据模式层结构的在线调整;而传统关系数据库或分布式文件系统必须调整数据模式层结构配置信息并重启相应业务系统,才能实现数据模式层结构的迭代调整。
3)删除矢量空间信息
在删除某个独立矢量空间对象时,首先计算待删除独立矢量空间对象的geometry对象的 JSON序列化文本计算所得的“待删除哈希值”;按照所述步骤3相同的空间相交关系判定方式,根据待删除独立矢量空间对象包含的地理坐标序列信息,判定待删除独立矢量空间对象与哪些所述编号网格存在空间相交关系,并在每一个与待删除独立矢量空间对象存在空间相交关系的所述编号网格对应的所述索引文件中,删除所述“待删除哈希值”、以及所述“待删除哈希值”前缀的特定分隔符后,重新保存所述索引文件,即从所有与待删除独立矢量空间对象存在空间相交关系的编号网格中,清除了待删除独立矢量空间对象的索引信息,达到删除的目的。
优选地,由于删除独立矢量空间对象时,由于需要从索引中移除所述独立矢量空间对象的最小化存储单元的哈希值文件名,涉及编号网格对应的索引文件的重写操作,而在大规模矢量空间信息的应用场景中,这种索引文件的重写操作通常耗时较长,针对此问题,进一步采取延迟重写编号网格对应的索引文件的方案,具体实现方式为:在删除独立矢量空间对象时,不直接重写索引文件,而是建立一个包含所述编号网格完整编号信息的规则文件名(例如z17_x1234_y5678_deleted表示z=17,x=1234,y=5678上已被删除的)的删除索引文件,在所述编号网格的删除索引文件中,写入所有与该网格存在空间相交关系的、已被删除的所述独立矢量空间对象的最小化存储单元的哈希值文件名,所述删除索引文件中各哈希值文件名之间以特定分隔符加以间隔,从而完整保存了每一个已被删除的所述独立矢量空间对象与所述编号网格之间的逻辑连接索引,实现将被删除的所述独立矢量空间对象在网格编号对应的逻辑容器之中的逻辑删除,而无需重写已有的索引文件。
优选地,在本发明所述方法运行系统的计算负荷低于设定的阈值、且满足设定的时间段条件时,根据所述删除索引文件中已被删除的所述独立矢量空间对象的最小化存储单元的哈希值文件名,重写相应编号网格对应的所述索引文件,并在所述索引文件重写成功后删除相应的所述删除索引文件,从而在下一次访问相应编号网格中的矢量空间信息时可减少对所述删除索引文件的比对计算动作,进一步提高大规模矢量空间信息的读取和输出速度。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (10)
1.一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,包括如下步骤:
步骤1、对矢量空间信息使用的地理坐标空间范围进行网格剖分并对网格进行编号;
步骤2、将矢量空间信息转换为GeoJSON统一格式,并将各独立矢量空间对象以地理坐标序列的哈希值为文件名保存成文本文件;
步骤3、将多元矢量空间信息基于地理坐标和所述编号网格的空间相交关系与相应的编号网格建立逻辑连接索引;
步骤4、根据所述编号网格存储模型建立相应的数据管理系统,实现对多元矢量空间信息的增加,删除,改写和查找的功能。
2.根据权利要求1所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤1包括:
步骤1.1、选择参考球体;
步骤1.2、选择正多面体;
步骤1.3、对网格进行递归划分,然后为每一个划分之后的网格单元赋予编号,每一个网格单元编号对应一个存储矢量空间信息的逻辑容器。
3.根据权利要求2所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤1.3中,所述的网格单元编号采用坐标编码、层次编码和填充曲线编码方法之一。
4.根据权利要求1所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤2包括:
首先将待存储矢量空间信息转换为GeoJSON统一格式,而后从中读取每一个所述独立矢量空间对象,将每一个所述独立矢量空间对象的geometry对象的JSON序列化文本进行哈希值计算,进而将包含头部和尾部标识符的每1个所述独立矢量空间对象信息文本独立保存为1个文本文件,并且所述哈希值作为所保存文本文件的文件名,形成以文本形式承载的、独立矢量空间对象的最小化存储单元,并通过哈希值描述了每一个所述独立矢量空间对象的最小化存储单元的、具有唯一性的空间信息特征。
5.根据权利要求1所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤3进一步包括:对步骤2生成的独立矢量空间对象,根据其包含的地理坐标序列信息,判定该独立矢量空间对象与哪些所述编号网格存在空间相交关系,并为每一个与所述独立矢量空间对象存在空间相交关系的所述编号网格,建立一个包含所述编号网格完整编号信息的规则文件名的索引文件,在所述编号网格的索引文件中,写入所有与该网格存在空间相交关系的、所述独立矢量空间对象的最小化存储单元的哈希值文件名,索引文件中各哈希值文件名之间以预定分隔符加以间隔,从而完整保存了每一个所述独立矢量空间对象与所述编号网格之间的逻辑连接索引,实现将每一个所述独立矢量空间对象存储到了网格编号对应的逻辑容器之中。
6.根据权利要求1所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤4中,对于多元矢量空间信息的增加,采用增量的方式进行存储,编号网格对应的逻辑容器每次增加、删除独立矢量空间对象时,只需修改编号网格对应的索引文件,并相应地增加、删除所述独立矢量空间对象的最小化存储单元。
7.根据权利要求6所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,将该存储流程推广到多元矢量空间信息,规定统一的网格化剖分的最小级数z_min和最大级数z_max,不同的遥感卫星在不同的时间不同的地点拍摄的遥感影像抽取为针对不同类型地物目标的矢量空间信息后,为每一类型的地物目标建立一个命名的逻辑容器集合,为每一个所述编号网格建立一个逻辑容器,存储所有与所述编号网格存在空间相交关系的所述独立矢量空间对象的矢量空间信息,基于逻辑容器实现多元矢量空间信息的统一存储管理。
8.根据权利要求1所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤4中,对多元矢量空间信息的查找矢量空间信息,具体包括:
对一个坐标已知的地理对象设计,即可根据网格单元编号规则,计算出该坐标位于Web墨卡托投影平面上的哪一个编号网格中,编号网格逻辑容器对应的索引文件是以包含所述编号网格完整编号信息的规则文件名命名的,通过搜索文件名即可找到任意地理坐标所在编号网格逻辑容器对应的索引文件,进而根据索引文件内容,取得所有与该编号网格存在空间相交关系的、独立矢量空间对象信息。
9.根据权利要求1所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤4中,对多元矢量空间信息进行修改矢量空间信息,具体包括:
基于待修改独立矢量空间对象的geometry对象的JSON序列化文本计算所得的哈希值,直接确定其目标独立矢量空间对象的存储文件名,进而修改该文件名下保存的独立矢量空间对象的properties对象包含的键值对信息,即完成修改矢量空间信息操作。
10.根据权利要求1所述的一种面向大规模卫星数据的矢量空间信息网格化存储管理方法,其特征在于,所述步骤4中,对多元矢量空间信息进行删除矢量空间信息,具体包括:
在删除某个独立矢量空间对象时,首先计算待删除独立矢量空间对象的geometry对象的JSON序列化文本计算所得的“待删除哈希值”;按照所述步骤3相同的空间相交关系判定方式,根据待删除独立矢量空间对象包含的地理坐标序列信息,判定待删除独立矢量空间对象与哪些所述编号网格存在空间相交关系,并在每一个与待删除独立矢量空间对象存在空间相交关系的所述编号网格对应的所述索引文件中,删除所述“待删除哈希值”、以及所述“待删除哈希值”前缀的特定分隔符后,重新保存所述索引文件,即从所有与待删除独立矢量空间对象存在空间相交关系的编号网格中,清除了待删除独立矢量空间对象的索引信息,达到删除的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210672392.0A CN115408382B (zh) | 2022-06-15 | 2022-06-15 | 面向大规模卫星数据的矢量空间信息网格化存储管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210672392.0A CN115408382B (zh) | 2022-06-15 | 2022-06-15 | 面向大规模卫星数据的矢量空间信息网格化存储管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115408382A true CN115408382A (zh) | 2022-11-29 |
CN115408382B CN115408382B (zh) | 2023-09-22 |
Family
ID=84157956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210672392.0A Active CN115408382B (zh) | 2022-06-15 | 2022-06-15 | 面向大规模卫星数据的矢量空间信息网格化存储管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408382B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171380A (zh) * | 2023-11-02 | 2023-12-05 | 北京观微科技有限公司 | 遥感影像确定方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050285876A1 (en) * | 2004-06-29 | 2005-12-29 | Piotr Balaga | Composition of raster and vector graphics in geographical information systems |
CN103488736A (zh) * | 2013-09-18 | 2014-01-01 | 中国科学技术大学 | 一种多源地理空间信息关联模型的构建方法及系统 |
CN110059067A (zh) * | 2019-04-04 | 2019-07-26 | 南京南瑞水利水电科技有限公司 | 一种水利空间矢量大数据存储管理方法 |
WO2020252799A1 (zh) * | 2019-06-18 | 2020-12-24 | 中国科学院计算机网络信息中心 | 一种面向海量遥感影像的并行数据访问方法与系统 |
CN112579722A (zh) * | 2020-12-22 | 2021-03-30 | 北京航天世景信息技术有限公司 | 一种高定制的遥感影像自动化快速切图方法 |
CN113515525A (zh) * | 2021-07-29 | 2021-10-19 | 郑州众合景轩信息技术有限公司 | 一种基于全球多尺度格网的空间数据组织方法 |
-
2022
- 2022-06-15 CN CN202210672392.0A patent/CN115408382B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050285876A1 (en) * | 2004-06-29 | 2005-12-29 | Piotr Balaga | Composition of raster and vector graphics in geographical information systems |
CN103488736A (zh) * | 2013-09-18 | 2014-01-01 | 中国科学技术大学 | 一种多源地理空间信息关联模型的构建方法及系统 |
CN110059067A (zh) * | 2019-04-04 | 2019-07-26 | 南京南瑞水利水电科技有限公司 | 一种水利空间矢量大数据存储管理方法 |
WO2020252799A1 (zh) * | 2019-06-18 | 2020-12-24 | 中国科学院计算机网络信息中心 | 一种面向海量遥感影像的并行数据访问方法与系统 |
CN112579722A (zh) * | 2020-12-22 | 2021-03-30 | 北京航天世景信息技术有限公司 | 一种高定制的遥感影像自动化快速切图方法 |
CN113515525A (zh) * | 2021-07-29 | 2021-10-19 | 郑州众合景轩信息技术有限公司 | 一种基于全球多尺度格网的空间数据组织方法 |
Non-Patent Citations (3)
Title |
---|
关丽;程承旗;吕雪锋;: "基于球面剖分格网的矢量数据组织模型研究", 地理与地理信息科学, no. 03 * |
廖永丰;李博;吕雪锋;程承旗;: "基于GeoSOT编码的多元灾害数据一体化组织管理方法研究", 地理与地理信息科学, no. 05 * |
李爽;程承旗;童晓冲;陈波;翟卫欣;: "基于多级信息网格的海量遥感数据存储管理研究", 测绘学报, no. 1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171380A (zh) * | 2023-11-02 | 2023-12-05 | 北京观微科技有限公司 | 遥感影像确定方法、装置、电子设备及存储介质 |
CN117171380B (zh) * | 2023-11-02 | 2024-01-23 | 北京观微科技有限公司 | 遥感影像确定方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115408382B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Floriani et al. | Algorithms for visibility computation on terrains: a survey | |
CN113515525A (zh) | 一种基于全球多尺度格网的空间数据组织方法 | |
CN103412962A (zh) | 一种海量瓦片数据的存储方法及读取方法 | |
CN112115534A (zh) | 一种将三维房屋模型转换带高度属性的二维矢量面的方法 | |
Schön et al. | Octree-based indexing for 3D pointclouds within an Oracle Spatial DBMS | |
CN113268557B (zh) | 一种适应显示导向型可视化分析的快速的空间索引方法 | |
CN105528460A (zh) | 一种瓦片金字塔模型的建立方法及瓦片读取方法 | |
CN113269870B (zh) | 一种基于三维剖分网格的多分辨率数字地形集成方法 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN109492060A (zh) | 一种基于MBTiles的地图瓦片存储方法 | |
CN114820975B (zh) | 基于全要素参数符号化的三维场景仿真重构系统及方法 | |
CN110990612A (zh) | 一种矢量大数据快速显示的方法及终端 | |
CN111427978B (zh) | 基于城市形态学和r树的三维模型索引方法 | |
CN112395288A (zh) | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 | |
CN115408382B (zh) | 面向大规模卫星数据的矢量空间信息网格化存储管理方法 | |
Azri et al. | Review of spatial indexing techniques for large urban data management | |
Angelo | A brief introduction to quadtrees and their applications | |
Kim et al. | Efficient encoding and decoding extended geocodes for massive point cloud data | |
Schön et al. | Storage, manipulation, and visualization of LiDAR data | |
Qiao et al. | A rapid visualization method of vector data over 3D terrain | |
Schon et al. | Three-dimensional spatial information systems: State of the art review | |
CN114092654A (zh) | 兼容北斗网格的数字地球三维空间场景管理方法 | |
Gong et al. | Object-oriented and integrated spatial data model for managing image, DEM, and vector data | |
CN117874301B (zh) | 基于网格数据金字塔切片的处理、存储、调用的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |