GeoSOT网格剖分的核心思想是基于地球剖分原理,通过对地球表面的规格划分,探寻构建一种适用于空间信息或数据组织的专用网格。一方面,该网格能与地球上现有的主要空间信息组织网格有较好的尺度聚合和区位关联关系;另一方面,能在此网格基础上构建一种更适合空间信息组织的区位标识体系,为全球空间信息区位的地理网格标识与一致性索引途径提供参考基础,以解决空间信息的统一区位组织和区域关联调度问题。结合我国国家基本比例尺地形图分幅、国家地理网格,美国USGS、加拿大NTS、澳大利亚、印度等国外的国家地形图分幅标准,以及我国现行航海图、普通航空图等行业分幅标准的分析,得出这些网格或图幅分幅标准的共同组成单位为:4°、2°、1°、2′、1′、2″、1″、0.5″,且这八个基本网格可以聚合所有国家基本比例尺图幅。由此,GeoSOT网格剖分的设计约束为:
l 以国家大地坐标系CGCS2000作为全球空间基准;
l 沿用大地测量的理论与技术体系,最大限度地继承现有历史数据;
l 包含4°、2°、1°、2′、1′、2″、1″、0.5″八个基本网格;
l 网格的规格可以聚合生成现有主要基于经纬度的标准网格。
北京大学空天信息工程研究中心提出2n一维整型数组的全球经纬度剖分网格GeoSOT。其主要思想是经纬度间隔在八个基本网格基础上向上扩展到512°(29°)、在1°与2′之间插入四个层级、1′与2″之间插入四个层级、0.5″以下扩展到1/2048″,得到{29°、28°、27°、26°、25°、24°、23°、22°、21°、20°、25'、24'、23'、 22'、21'、20'、25″、24″、23″、22″、21″、20″、 2-1″、2-2″、2-3″、2-4″、2-5″、2-6″、2-7″、2-8″、2-9″、2-10″、2-11″}基于经纬网的剖分体系;在对地球表面进行网格剖分时,通过三次地球经纬度空间扩展(将地球地理空间扩展为512°、将1°扩展为64′、将1′扩展为64″),实现了整度、整分的整型四叉树剖分网格。
全球经纬度剖分网格GeoSOT的主要特点是:其全球空间基准选择国家大地坐标系CGCS2000;为了最大限度地继承现有历史数据,依据大地测量的理论与技术体系;能够含有基础的4°、2°、1°、2′、1′、2″、1″、0.5″八个网格;能够聚合生成现有的基于经纬度的主要标准网格。
(1)GeoSOT剖分的度级剖分网格
GeoSOT剖分网格属于等经纬度的四叉树剖分网格体系,它的度级剖分网格包含10级,即0~9级。第0级网格是以本初子午线与赤道为交点为中心点的512°×512°单元格,第0级网格编码为G,意为全球(Globe),如图1(a)所示。
GeoSOT剖分的第1级网格在第0级剖分网格基础上平均分为四份,每个网格大小为256°×256°;第1级网格编码为Gd,其中d为0、1、2或3。如图1(b)中,G0就对应空间信息区域位置为东北半球。GeoSOT剖分的第2级网格在第1级剖分网格基础上平均分为四份,每个网格大小为128°×128°。
第2级网格编码为Gdd,其中d为0、1、2或3。如图1(c)中,G00就对应空间信息区域位置为东北半球大部。第2级剖分网格中,部分网格没有实际地理意义,例如G02与G03,不再进行划分;其它第2级网格作为一个整体进入下一级网格的划分,以下层级网格的划分相同。
GeoSOT剖分的第3级网格是第2级剖分网格基础上平均分为四份,每个网格大小为64°×64°;第3级网格编码为Gddd,其中d为0、1、2或3。如图1(d)中,G001就对应空间信息区域位置为中国、印度与东南亚。下层网格剖分原则以此类推。
图1 GeoSOT剖分的第0-3级网格
(2)GeoSOT剖分的分级剖分网格
GeoSOT剖分网格分级剖分是从第10级到第15级,其分级网格根节点与第9级网格(1°网格或60′网格)一一对应,网格大小从60′扩展到64′,如图2所示。GeoSOT剖分的第10级网格定义为在分级网格根节点基础上平均分为四份,每个网格大小为32′×32′;第10级网格编码为Gddddddddd-m,其中d、m取值0、1、2或3的四进制数。下层网格剖分原则以此类推。
图2 GeoSOT剖分的第10-15级剖分
(3)GeoSOT剖分的秒级剖分网格
GeoSOT剖分的秒级剖分网格是从第16级到第21级剖分,其秒级网格根节点与第15级网格(1′网格或60″网格)一一对应,且编码相同,网格大小从60″扩展到64″,如图3所示。GeoSOT剖分在第16级网格开始,定义为在秒级网格根节点基础上平均分为四份。第16级网格编码形式为:Gddddddddd-mmmmmm-s,其中d、m、s取值0、1、2或3的四进制数。下层网格剖分原则以此类推。
图3 GeoSOT剖分的第16-21级剖分
(4) GeoSOT剖分的秒级以下剖分网格
GeoSOT剖分的秒级以下剖分网格是从第22级到第32级剖分,第32级网格大小为1/2048″,网格编码为Gddddddddd-mmmmmm-ssssss.uuuuuuuuuuu;其中d、m、s取值0、1、2或3的四进制数。
按照上述的剖分层级定义,GeoSOT网格一共分为32个层级,大到全球、小到厘米,均匀地将地球表面空间划分为多层次的网格,这些网格形成了全球四叉树系统。GeoSOT网格上下级别之间的面积之比大致都为4:1,是均匀变化的。各级GeoSOT网格的数量和在地面上大致的空间尺度大小如表1所示。
表1 GeoSOT网格大小和网格数量统计表
层级 |
网格大小 |
在赤道附近大致尺度 |
数量 |
层级 |
网格大小 |
在赤道附近 大致尺度 |
数量 |
G |
512˚网格 |
全球 |
1 |
|
|
|
|
1 |
256˚网格 |
1/4地球 |
4 |
17 |
16″网格 |
512米网格 |
3649536000 |
2 |
128˚网格 |
|
8 |
18 |
8″网格 |
256米网格 |
14598144000 |
3 |
64˚网格 |
|
24 |
19 |
4″网格 |
128米网格 |
5132160万*4 |
4 |
32˚网格 |
|
72 |
20 |
2″网格 |
64米网格 |
20528640万 |
5 |
16˚网格 |
|
288 |
21 |
1″网格 |
32米网格 |
82114560万 |
6 |
8˚网格 |
1024公里网格 |
1012*1 |
22 |
1/2″网格 |
16米网格 |
328458240万 |
7 |
4˚网格 |
512公里网格 |
3960 |
23 |
1/4″网格 |
8米网格 |
1313832960万 |
8 |
2˚网格 |
256公里网格 |
15840 |
24 |
1/8″网格 |
4米网格 |
5255331840万 |
9 |
1˚网格 |
128公里网格 |
63360*2 |
25 |
1/16″网格 |
2米网格 |
21021327360万 |
10 |
32'网格 |
64公里网格 |
253440 |
26 |
1/32″网格 |
1米网格 |
84085309440万 |
11 |
16'网格 |
32公里网格 |
1013760 |
27 |
1/64″网格 |
0.5米网格 |
336341237760万 |
12 |
8'网格 |
16公里网格 |
4055040 |
28 |
1/128″网格 |
25厘米网格 |
1345364951040万 |
13 |
4'网格 |
8公里网格 |
14256000*3 |
29 |
1/256″网格 |
12.5厘米网格 |
5381459804160万 |
14 |
2'网格 |
4公里网格 |
57024000 |
30 |
1/512″网格 |
6.2厘米网格 |
21525839216640万 |
15 |
1'网格 |
2公里网格 |
228096000 |
31 |
1/1024″网格 |
3.1厘米网格 |
86103356866560万 |
16 |
32″网格 |
1公里网格 |
912384000 |
32 |
1/2048″网格 |
1.5厘米网格 |
344413427466240万 |
注:
(*1)从8°网格开始,以下数量为南纬88°~北纬88°之间的网格总数;
(*2)1°网格总数=176(南纬88°~北纬88°之间)×360=63360;1°网格以下,除*3、*4两种情况外,上下级网格数量关系均为1:4;
(*3)4′网格总数=225(每1°网格中4′网格数量)×63360(1°网格数量)=14256000;
(*4)4″网格总数=225(每1′网格中4″网格数量)×228096000(1′网格数量)=5132160万。
依据GeoSOT网格剖分原理,将GeoSOT网格编码分为三段,包括度级、分级、秒级及秒以下网格编码,如图4所示。
图4 GeoSOT网格编码的总体结构示意图
(1)四进制1维编码方法
最长的编码位为32位四进制数值编码。第1~9位是度级网格编码,第10~15位是分级网格编码,第16~21位是秒级网格编码,第22~32位是秒以下网格编码,编码长度即为网格层级。
GeoSOT网格的四进制1维编码是以G开头,度、分、秒级编码以“-”隔开,秒以下的编码以“.”隔开,其形式为“Gddddddddd-mmmmmm-ssssss.uuuuuuuuuuu”。其中,d、m、s、u取值均为0、1、2、3。
GeoSOT网格的编码顺序采用Z序编码,如图5所示,即从GeoSOT剖分的第1级网格开始,GeoSOT每一级网格的四进制1维编码Z序编码方向都与该网格所在第1级剖分网格相关。
图5 GeoSOT网格的Z序编码方向示意图
(2)二进制2维编码方法
二进制2维编码方法是在在GeoSOT网格的64位二进制1维编码基础杀个,将每两位数值表示某一级网格在上一级网格中的编码数值拆开,分别对应存.放其编码结构如图6所示。同样,当无法利用编码长度来隐含网格层级时,仍然需要5位二进制数值来记录网格层级。
图6 GeoSOT网格的64位二进制2维编码结构
GeoSOT网格二进制2维编码在地理上的含义直观明确,利用32位二进制数值表示经纬度的纬度、经度坐标值。如图7所示,其编码结构中的首位二进制数值定义南纬与北纬、东经与西经;纬度和经度的整度数分别占用8位二进制数值;纬度和经度的整分数分别占用6位二进制数值;纬度和经度的整秒数分别占用6位二进制数值;整数的纬度和经度秒小数分别占用11位二进制数值;经纬度的表示精度到1/2048秒。
图7 GeoSOT二进制2维编码的地理含义
(3)整型数编码方法
以上两种编码方法均是基于字符串的角度实现。实践表明,在关系数据库中进行数据检索时,基于字符型的数据检索比基于整型的数据检索效率低。为了提高在关系数据库中的检索效率,本文提出了一种GeoSOT整型编码方式,包括以64位整型来编码的GeoSOT64和以32位整型来编码的GeoSOT32。
GeoSOT64整型编码采用一个64位的无符号整型数表示,该编码最多可表示到第29层。其中,第0~57位从偶数位开始的相邻两位,如第i位和第i+1位(i=2×n, 0≤n≤28),表示在第n+1层的编码(0、1、2或3),若少于29层则其右侧用0占位,第58~63位表示层数(如表2)。
表2 GeoSOT64整型编码
0~57位 |
58~63位 |
层级编码 |
层数 |
一般情况下,数据组织与管理可能并不需要达到29级精度的单元网格,14级就可以满足需求。此时,采用一个32位的无符号整型数来编码。与前面的64位整型编码类似,第0~27位从偶数位开始的相邻两位,如第i位和第i+1位(i=2×n, 0≤n≤13),表示在第n+1层的编码(0、1、2或3),若少于14层则其右侧用0占位,第28~31位表示划分的次数(如表3)。
表3 GeoSOT32整型编码
0~27位 |
28~31位 |
层级编码 |
层数 |
上述GeoSOT整型编码既保持了字符编码的特性,又具有整型数据类型的优势,可提高GeoSOT编码在关系数据库中的查询效率。
(GeoSOT及其网格编码、区位编码、全球导航网格码(GNGC)的相关理论和技术探讨,可联系[email protected])