多时相瓦片数据集组织和游程编码索引方法

文档序号:6379346阅读:397来源:国知局
专利名称:多时相瓦片数据集组织和游程编码索引方法
技术领域
本发明属于对地观测与导航技术领域,更具体是涉及一种多时相瓦片数据集组织和游程编码索引方法,可用于高效地管理多时相地图瓦片数据集。
背景技术
地图瓦片是网络地图服务中常用的数据或缓存数据形式。通常情况下,瓦片数据集是按照影像金字塔模型组织的瓦片数据集合,其中瓦片数据集中的瓦片关系仅为空间位置关系,缺少历史和版本信息,不利于全面掌握、管理具有时间特性的瓦片数据集。多时相瓦片数据集是多个特定时间或版本的瓦片数据集的逻辑集合,它有效地表达了瓦片数据集的时间信息、空间范围信息、历史信息或版本信息,可以较好地满足任意时间、任意范围、任意时相的瓦片数据集增加、插入等更新应用需求,同时又可以保证不变动原有瓦片数据集。多时相瓦片数据集的组织与索引对于高效管理、查询瓦片数据集,提高网络地图服务的性能具有重要意义。

发明内容
为此,本发明提供一种多时相瓦片数据集组织和游程编码索引方法。根据本发明的一个方面,一种多时相瓦片数据集游程编码索引方法,其中,所述多时相瓦片数据集是由不同时相的数据集通过注册的方法逻辑上形成的瓦片数据集,其中,所述游程编码索引以行为单位,按照列的顺序将连续的瓦片用开始的列号和结束的列号表示,所述游程编码索引按照每行组成行数组,其中,行数组是连续的数组,其特征在于,该方法包括针对于特定瓦片的层级、行号、以及列号而进行的以下步骤S10,判断该层级是否在级别范围内;S20,如果该层级不在所述级别范围内,则对该层级建立新的游程编码索引;S30,如果该层级在级别范围内,则在该层级对应的游程编码索引中,判断该行号是否存在于对应的行数组中;S40,如果步骤S30的判断的结果为否,则追加一个行数组;S50,如果步骤S30的判断的结果为是,则在该行号对应的行数组中遍历游程编码单元,判断应该添加或并入所述列号的位置。根据本发明的一个方面,提供了一种多时相瓦片数据集组织方法,包括由数据集元信息和不同时相的瓦片数据集信息组成所述多时相瓦片数据集,其中,所述多时相瓦片数据集是按照上述游程编码索引方法进行索引的。根据本发明的实施例的多时相瓦片数据集组织和游程编码索引方法实现了多时相瓦片数据集的创建、索引、管理、注册、删除等功能,支持Oracle数据库和SQLite数据库存储数据,主要特性如下I)能够创建多时相数据集并且对原有数据集尽量不做变动。2)能够支持任意范围和任意时间的瓦片数据。3)可以更新任意范围和任意时间的瓦片数据。4)可以向多时相数据集中插入版本。
5)能够实现只读取当前版本的数据和向前版本的浏览。6)读取多时相数据集瓦片时的性能能够和当前读取瓦片的性能相同。本发明的实施例的技术方案的优点在于I)本发明通过设计多时相瓦片数据集,统一了瓦片数据集模型,有利于用户浏览任意时间、任意范围的瓦片数据集,并可以将多时相的瓦片数据集叠加显示,以便于比较分析不同时相的瓦片数据集的变化情况。2)本发明设计了多时相瓦片数据集的游程编码索引,对于瓦片在列空间内密集连续分布的数据集,游程编码索引可以有效地节省索引存储空间,提高检索性能。


图1是根据本发明的实施例的多时相数据集的逻辑组织的示意图;图2是根据本发明的实施例的多时相数据集的信息描述的示意图;图3是示出根据本发明的实施例的瓦片数据的栅格化表示方法的示意图;图4是示出根据本发明的实施例的瓦片数据的多行瓦片数据的游程码构成形式的不意图;图5是示出根据本发明的实施例的判断瓦片是否存在的流程的流程图;图6是示出根据本发明的实施例的表示游程编码索引的二维数组的示意图;图7是示出根据本发明的实施例的多时相瓦片数据集管理系统构架的示意图;图8是示出根据本发明的实施例的多时相数据集的创建流程的流程图;图9是示出根据本发明的实施例的多时相数据集的浏览流程的流程图;图10是示出根据本发明的实施例的多时相瓦片数据集管理工具主界面的示意图。
具体实施例方式图1是根据本发明的实施例的多时相数据集的逻辑组织的示意图。根据本发明的一个实施例,多时相瓦片数据集是由多个具有时间属性的瓦片数据集逻辑组成的,如图1所示。多时相瓦片数据集本身也是一种瓦片数据集,具有瓦片数据集的特点。瓦片数据集可以通过注册成为多时相瓦片数据集的一部分。一个时相数据集也称为数据集的一个版本,这样,多时相数据集就是由多个版本的数据集组成的,每个版本可以包括多个数据集。具体地,多时相瓦片数据集的组织方法如下。多时相瓦片数据集由数据集元信息(MetaData)和若干不同时相的瓦片数据集信息组成,其信息描述如图2所示。所述的数据集元信息包括多时相数据集名称(DataSetName)、多时相数据集类型(DataSetType)、西边界值(West)、东边界值(East)、南边界值(South)、北边界值(North)、瓦片顶层层级(ValidTopLevel)、瓦片底层层级(ValidBottomLevel)、瓦片金字塔(Pyramid)、空间参考(GeographyReference)、像素数(PixelNums)、地形类型(DEMValueType)、无效值(InvalidValue)、层级描述(LevelInfoDetail)。所述的边界值的范围是所有时相数据集范围的并集,所述的瓦片层级范围(瓦片顶层层级(ValidTopLevel)-瓦片底层层级(ValidBottomLevel))也是所有时相数据集瓦片层级范围的并集。所述的不同时相的瓦片数据集信息包括时相标识(TemporalID)、时相名称(TemporalName)、时相开始时间(TemporalStart)、时相结束时间(TemporalEnd)、时相描述(TemporalDescribe)、数据集名称(DatasetName)、数据集范围(DatasetRange)、数据集类型(DatasetType)、与数据集范围对应的游程编码索引(Datasetlndex)、数据集路径(Connection)。下面举例说明多时相瓦片数据集的描述。多时相瓦片数据集由数据集元信息和若干瓦片数据集信息组成,由XML文件描
述,示例如下。〈MultiT emporal>
<!--多时相数据集元信息-->
<MetaData>
<DaiaSctNamc> 名称 </DataSctNamc>
<DataSetT ype> . H</DataSetT ype>
<W est>0</W est :- <East>0</East>
<S o utli > (WSouth〉
<North>0</North>
<VaiidTop Level〉10</ValidTopLevel〉
<VaIidBottoinLevel> 12</Valk!BottomLevel>
<Pvrainid>
〈Basic Description=`”适用于GoogleMap,BingMap等Web地图的金字塔模型”PyramidID=M9dab7487-b3fd-4e84-9e6b-60636d3c85dbM Name=”Web墨卡托金字塔”/>
< Level TopLeveIIndex=i,0,! Bottom Lev el !ndex=f,20M ScaIeX=iiSn ScaIeY=!f2"/>CTileBasic TileSizeX=”256” TileSizeY=M256M OrigiiiRowlndex=nOnOriginColIndex=!JOf,/>
<TopTile rroinX='20037508.3427891990000000000(TFromY-,,20037508.342789199000000()0000" ToX—”20037508 J42789] 9900000000000"ToY=M-20037508.342789199000000000007>
〈Const PI=ft3.14159265358979310000M
lolerance=n0.0000001 19209289550787>
<Range XMin=M-20037508 34278919900000000000”YMin=”-20037508.3427S919900000000000M XMax=”20037508.342789W900000000000nYMax=M20037508.34278919900000000000"^
〈/Pyramid〉
<GeograpiiyReference>PROJCS[&qitot;Mercator (I SP) ( ki[-投
谈)&quot;,GEOGCS[&quot;lUGG 1975&quot;:DATUM[&quot;IUGG
1975&quot;,SPHER01D[&quot;IUGG1975&quot;.6378140,298.257];TOWGS84i0,0.0,0,0,0,0]] PRIMEM[&qiiot;GreenwIch&quot; 0],UNIT[&quot;dcgrcc&quot;,0.0174532925199433]],PROJECT]ON[&quot;Mcrcator_i SP&quot;],PARAMETER[&quot;latitudc_of_odgiii&quot”OLPARAMETER[&quoUccntral—mcridian&quot;,0],[)ARAMETER|&qi!Ot;scalc_factor&qiiot;.l],PARAMETER[&qiiot;falsc_casting(fequot;10],PARAMETER[&quot;false_northiBg&quot;50],UNIT[&qiiot;Meter&quot;,l]j<7GeographyReference><Pixe1Nums>0</Pixe1Nums>
<DEMVaiueType>0</DEMVaIi3eType>
<InvalidVa!ue>0<,invalid Val oe>
<LevelInfbDetail>0</LevelIntbDetail>
</MetaData>
<!--时相信息-->
〈Temporals〉
<T emporal>
<T emporal I D> 10000</T empo ral I D>
<TemporaIName>\\x</TernporalName>
<T eniporaIStart>2012/1 /1 </T eniporal Starl> <TemporaIEnd>9999./9/9</TemporalEnd> <TemporalDescribe>jnii^</TeniporcilDeseribe> <DataserNaiiie>xxxx</DarasetName>
<DaiasetRaiige> - 111:1l^i^DatasetRange-^
<DatasetType>0</DatasetType>
<Dataset!ndex> 丨j</Datasetlndex>
〈Connection〉c:\sqiiteiiie</Connection>
</T etnporaI>
〈/Temporals〉
</MultiT emporal>在Oracle数据库中,数据集元信息用表结构如表I所示的一个元表GE0GL0BE—DATASETEX—BASEMETA、以及若干瓦片数据集表组成,瓦片数据集表的命名规则为“GG—VER—多时相数据集名称”,瓦片数据集表的表结构如表2所示。
权利要求
1.一种多时相瓦片数据集游程编码索引方法,其中,其中,所述多时相瓦片数据集是由不同时相的数据集通过注册的方法逻辑上形成的瓦片数据集,所述游程编码索引以行为单位,按照列的顺序将连续的瓦片用开始的列号和结束的列号表示,所述游程编码索引按照每行组成行数组,其中,行数组是连续的数组,其特征在于,该方法包括针对于特定瓦片的层级、行号、以及列号而进行的以下步骤 S10,判断该层级是否在级别范围内; S20,如果该层级不在所述级别范围内,则对该层级建立新的游程编码索引; S30,如果该层级在级别范围内,则在该层级对应的游程编码索引中,判断该行号是否存在于对应的行数组中; S40,如果步骤S30的判断的结果为否,则追加ー个行数组; S50,如果步骤S30的判断的结果为是,则在该行号对应的行数组中遍历游程编码单元,判断应该添加或并入所述列号的位置。
2.如权利要求1所述的方法,其中,所述步骤S50包括 S60,通过将所述列号和所述行数组中的游程编码单元的距离进行比较,来决定所述列号在对应的行数组中的位置。
3.如权利要求2所述的方法,其中,所述步骤S60包括 S601,如果所述列号和对应的行数组中的游程编码单元的距离小于-1,则将所述列号插入到该游程编码单元之前的游程编码单元长度为I的游程编码单元; S603,如果所述列号和对应的行数组中的游程编码单元的距离的绝对值为1,则将所述列号直接并入到该游程编码单元; S605,如果所述列号和对应的行数组中的游程编码单元的距离的绝对值为O,则不进行任何操作; S607,如果所述列号和对应的行数组中的游程编码单元的距离大于1,则直接在该行数组的最后添加ー个新的游程编码单元。
4.如权利要求3所述的方法,其中,所述步骤S603包括 S6031,在将所述列号直接并入所述游程编码单元之后,若所述游程编码单元之后还存在游程编码单元,则检查所述游程编码单元与之后的游程编码单元是否相连,如果相连,则将之后的游程编码单元并入所述游程编码单元。
5.一种多时相瓦片数据集组织方法,包括 由数据集元信息和不同时相的瓦片数据集信息组成所述多时相瓦片数据集, 其中,所述多时相瓦片数据集是按照权利要求1至4中的ー个所述的游程编码索引方法进行索引的。
6.如权利要求5所述的方法,其中,所述数据集元信息包括多时相数据集名称、多时相数据集类型、边界值、瓦片顶层层级、瓦片底层层级、瓦片金字塔、空间參考、像素数、地形类型、无效值、层级描述。
7.如权利要求5所述的方法,其中,所述不同时相的瓦片数据集信息包括时相标识、时相名称、时相开始时间、时相结束时间、时相描述、数据集名称、数据集范围、数据集类型、与数据集范围对应的游程编码索引、数据集路径。
8.如权利要求5所述的方法,其中,所述边界值的范围是所有时相数据集范围的并集,所述瓦片层 级范围也是所有时相数据集瓦片层级范围的并集。
全文摘要
本发明涉及多时相瓦片数据集组织和游程编码索引方法,其中,所述多时相瓦片数据集是由不同时相的数据集通过注册的方法逻辑上形成的一种瓦片数据集,所述游程编码索引以行为单位,按照列的顺序将连续的瓦片用开始的列号和结束的列号表示,所述游程编码索引按照每行组成行数组,其中,行数组是连续的数组。根据本发明的实施例的多时相瓦片数据集组织和游程编码索引方法实现了多时相瓦片数据集的创建、索引、管理、注册、删除等功能,支持Oracle数据库和SQLite数据库存储数据。
文档编号G06F17/30GK103034677SQ20121040502
公开日2013年4月10日 申请日期2012年11月12日 优先权日2012年11月12日
发明者邓跃进, 宋爱红, 魏延峰, 黄俊韬, 贺楷锴, 程方, 顾恒, 杨曦, 邱文, 陈胜鹏, 刘琳, 张江凯, 王琳 申请人:武大吉奥信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1