云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > worldwind技术手册 - 图文

worldwind技术手册 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/21 3:10:20

2.1.2 NASA World Wind Map Tile System

坐标与图片编号对应公式:

(1)利用下面公式,求某点坐标X,Y(纬,经),在某层N的文件号,图片号

[(X+90)/值*2的N次方=文件夹号A(取整数如256.65即为256) [(Y+180)/值*2的N次方=图片后缀B(取整数)

(2)利用求得的图片编号A_B反求这张图片的左下角坐标

A*值/2的N次方-90=纬度 B*值/2的N次方-180=经度

这样求得图片起始分割点坐标,然后以

值/2的N次的间隔分割图片,把整幅图分成256*256 or 512*512 BMNG(500m) 36 ×36 。LandSat/Geocover(30m/15m) 2.25×2.25 。OnEarth (15m) 2.0×2.0 。USGS (1m) 0.8×0.8 。SRTM (90m/3m0(US)) 20×20 。

5

2.2 瓦片请求调度策略

2.2.1 当前显示请求及其显示(客户端) (1)瓦片金字塔模型构建

金字塔是一种多分辨率层次模型。在地形场景绘制时,在保证显示精度的前提下为提高显示速度,不同区域通常需要不同分辨率的数字高程模型数据和纹理影像数据。数字高程模型金字塔和影像金字塔则可以直接提供这些数据而无需进行实时重采样。尽管金字塔模型增加了数据的存储空间,但能够减少完成地形绘制所需的总机时。分块的瓦片金塔模型还能够进一步减少数据访问量,提高系统的输入输出执行效率,从而提升系统的整体性能。当地形显示窗口大小固定时,采用瓦片金字塔模型可以使数据访问量基本保持不变。瓦片金字塔模型的这一特性对海量地形实时可视化是非常重要的。

在构建地形金字塔时,首先把原始地形数据作为金字塔的底层,即第0 层,并对其进行分块,形成第0 层瓦片矩阵。在第0 层的基础上,按每2??2个像素合成为一个像素的方法生成第1 层,并对其进行分块,形成第1 层瓦片矩阵。如此下去,构成整个瓦片金字塔。

以影像为例,设第l 层的像素矩阵大小为irl×icl,分辨率为resl,瓦片大小为is×is,则瓦片矩阵的大小trl × tcl 为:

trl = ?irl/is??tcl = ?icl/is??

其中“???”为向下取整符,下同。 按每2×2 个像素合成为1 个像素后生成的第l+1 层的像素矩阵大小irl+1×icl+1 为:

irl+1 = ?irl/2??icl+1 = ?icl/2??

其分辨率resl+1 为:

resl+1 = resl ×2

不失一般性,我们规定像素合成从像素矩阵的左下角开始,从左至右从下到上依次进行。同时规定瓦片分块也从左下角开始,从左至右从下到上依次进行。在上述规定的约束下,影像与其瓦片金字塔模型是互逆的。同时,影像的瓦片金字塔模型也便于转换成具有更明确拓扑关系的四叉树结构。

(2)线性四叉树瓦片索引(WW中应用QST,即quadrat size tree)

四叉树是一种每个非叶子节点最多只有四个分支的树型结构,也是一种层次数据结构,其特性是能够实现空间递归分解。图2 是瓦片金字塔模型的四叉树结构示意图,其中矩形符号代表叶子节点,圆形符号代表非叶子节点。

本文采用四叉树来构建瓦片索引和管理瓦片数据。在瓦片金字塔基础上构建线性四叉树瓦片索引分三步:即逻辑分块、节点编码和物理分块。

①逻辑分块

与构建瓦片金字塔对应,规定块划分从地形数据左下角

开始,从左至右,从下到上依次进行。同时规定四叉树的层编码与金字塔的层编码保持一致,即四叉树的底层对应金字塔的底层。

设(ix,iy)为像素坐标,is 为瓦片大小,io 为相邻瓦片重叠度,以像素为单位;(tx,ty)为瓦片坐标,以块为单位;l为层号。

若瓦片坐标(tx,ty)已知,则瓦片左下角的像素坐标(ixlb,iylb)为:

ixlb = tx × is iylb = ty × is

瓦片右上角的像素坐标(ixrt,iyrt)为:

ixrt = (tx + 1) × is + io – 1

6

iyrt = (ty + 1) × is + io – 1

如果像素坐标(ix,iy)已知,则像素所属瓦片的坐标为:

tx = ?ix/is??ty = ?iy/is??

由像素矩阵行数和列数以及瓦片大小,可以计算出瓦片矩阵的行数和列数,然后按从左至右,从下到上的顺序依次生成逻辑瓦片,逻辑瓦片由((ixlb,iylb), (ixrt,iyrt), (tx,ty), l)唯一标识。

②节点编码

假定用一维数组来存储瓦片索引,瓦片排序从底层开始,按从左至右,从下到上的顺序依次进行,瓦片在数组中的偏移量即为节点编码。为了提取瓦片(tx,ty,l),必须计算出其偏移量。我们采用一个一维数组来存储每层瓦片的起始偏移量,设为osl。若第l 层瓦片矩阵的列数为tcl,则瓦片(tx,ty,l)的偏移量offset 为:

offset = ty × tcl + tx + osl

③ 物理分块

在逻辑分块的基础上对地形数据进行物理分块,生成地形数据子块。对上边界和右边界瓦片中的多余部分用无效像素值填充。物理分块完毕,按瓦片编号顺序存储。

(3) 瓦片拓扑关系

瓦片拓扑关系包括同一层内邻接关系和上下层之间的双亲与孩子关系两个方面[2]。邻接关系分别为东(E)、西(W)、南(S)、北(N)四个邻接瓦片,如图3(a)所示;与下层四个孩子的关系分别为西南(SW)、东南(SE)、西北(NW)、东北(NE)四个孩子瓦片,如图3(b)所示;与上层双亲的关系是一个双亲瓦片,如图3(c)所示。若已知瓦片坐标为(tx,ty,l),则该瓦片相关的拓扑关系可表示为:

1) 东、西、南、北四个邻接瓦片的坐标分别为:(tx+1,ty,l)、(tx-1,ty,l)、(tx,ty-1,l)、(tx,ty+1,l);

2) 西南、东南、西北、东北四个孩子瓦片的坐标分别为(2tx,2ty,l-1) 、(2tx+1,2ty,l-1) 、(2tx,2ty+1,l-1) 、(2tx+1,2ty+1,l-1);

3) 双亲瓦片的坐标为(?tx/2?,?ty/2?,l+1)。

(a) 邻接瓦片 (b) 孩子瓦片 (c) 双亲瓦片

(4)地形场景数据的动态管理

①可见区域及最佳地形分辨率计算

根据视点的坐标和视线的方向,就可以计算出视景体与地形平均水平面相交的平面区域范围,即地形可见区域范围。

图4 为地形可见区域示意图,图中XOY 为地形平均水平面,E 为视点,视线EM 与地形平均水平面的交点为M,视点在XOY 上的投影为M0。视景体E_ABCD 与平面XOY的四个交点分别为A?、B?、C?和D?,则地形可见区域范围即为四边形A?B?C?D?。有关点A?、B?、C?和D?的坐标的详细计算方法,可参考文献[3]。

地形可见区域的表示若用于地形显示的屏幕窗口

宽和高分别为Xw 和Yw(以像素为单位),视景体的水平视场角和垂直视场角分别为FovX 和FovY。设当可

7

见区域A?B?C?D?恰好充满显示窗口时,窗口水平方向和垂直方向平均每个像素所对应的地面距离分别为Dx 和Dy,则有:

Dx = EM × tan(FovX / 2) × 2.0 / Xw Dy = EM × tan(FovY / 2) × 2.0 / Yw

即当地形分辨率X 方向低于Dx 或Y 方向低于Dy时,地形显示的精度将会降低;反之,将会产生不必要的数据冗余,影响绘制效率。也就是说,此时的Dx和Dy即为理论上地形绘制所需的最佳分辨率。由于通常地形X 方向和Y 方向的采样间距相同,因此我们在实际应用中取Dx 和Dy 中的小值作为最佳地形分辨率,用作后续瓦片搜索的重要依据。需要指出的是,通常该最佳分辨率被用作窗口中心瓦片所对应的分辨率,而窗口其它位置所对应的瓦片分辨率则根据瓦片中心到视点的距离作适当的降低调整,因为这不仅符合人眼的视觉规律,而且还可以减少用于地形绘制的三角形数量。

②World Wind当前视角高度值与图层调度间关系探讨 How does altitude relate to a level in a layer being displayed?

在WW中,从N-1st 转换到 Nth level的高度值是: ( Level0TileSize * 390km / 2^N )× X(因子) 例如对于NLT LS7图层,它的L0TS=2.25deg。它的0 level从390*2.25 = 877km开始可见,level 1在小于439km可见等;(但这只是从WW的行为分析得到而不是从源代码) 对于较小的高程(小于2000km),X因子近似为1。然而,高于2000km因子就减少(可能是arctan(x)/x,或者其他)

但是,为什么刚好390km?为什么非线性\\非常量的因子?肯能只有WW开发者才知!

A Small Analyse:

(假定屏幕默认尺寸为wWidth=992px 和 wHeight=653px, 南北方向的视角范围为FOV=45deg) 打开OnEarth layer(L0TS=2.0deg)并飞行到高度Alt=195km, 这时level2的瓦片开始显示。

那么图片区域的南北范围尺寸((N-S)dimension- nsDim)是多少?

nsDim = Alt * 2*tan(FOV/2),所以在这里nsDim = 195km * 2*tan(22.5deg) = 161.5km.

将它转换为度数(1deg=111km),得到nsDim = 1.454deg。每个level2的瓦片覆盖0.5× 0.5 degree的区域,因此“照相机”(可视屏幕范围)相应有1.454/0.5 = 2.91个瓦片(南北方向上),或者2.91*512 = 1489 个像素。

数值1489/653=2.28可以称之为线性重采样因子(LOF- Linear Oversampling factor);平方后,得到区域重采样因子(AOF-real oversampling factor)。在我们这例子为5.20。

这意味着什么?5.2个瓦片图片的像素在屏幕上显示为1个像素。

在没有进入下一图层时,这些参数能减少到什么程度?在例子中,下一层的开端为 Alt=97.5km,即195km的一半。当我们达这里时,the level2 tiles减少到只有L.O.F.=1.14或者A.O.F.=1.30。

Now let's generalize it:

When are these LOF and AOF becoming big (giving evidence about vasting)? When the user has - reduced the WW window's height, - increased the FOV (aka zoomed out), - tilted significantly, - gone near the Pole, -.what else have I forgot?

在这些情况下,AOF可能变得非常巨大,例如值为几十,是否意味着100-or-so megabyte of tiles are needed for rendering of about-1 Mpix picture.

还有很多问题例如 (e.g. the When do you know when to 'stop'? (ie. how do you know you are at 1:1) question)

8

搜索更多关于: worldwind技术手册 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2.1.2 NASA World Wind Map Tile System 坐标与图片编号对应公式: (1)利用下面公式,求某点坐标X,Y(纬,经),在某层N的文件号,图片号 [(X+90)/值*2的N次方=文件夹号A(取整数如256.65即为256) [(Y+180)/值*2的N次方=图片后缀B(取整数) (2)利用求得的图片编号A_B反求这张图片的左下角坐标 A*值/2的N次方-90=纬度 B*值/2的N次方-180=经度 这样求得图片起始分割点坐标,然后以

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com