建立影像金字塔的意义

影像金字塔结构:指在同一的空间参照下,根据用户需要以不同分辨率进行存储与显示,形成分辨率由粗到细、数据量由小到大的金字塔结构。影像金字塔结构用于图像编码和渐进式图像传输,是一种典型的分层数据结构形式,适合于栅格数据和影响数据的多分辨率组织,也是一种栅格数据或影像数据的有损压缩方式。建立影像金字塔的意义_第1张图片

“分层”是指:影像金字塔(pyramid)索引。其基本思想就是利用采样自底向上生成金字塔,根据需求直接取其中某一级作为操作对象,以提高整体效率。当然就像这个世界中的其它事物一样,效率的提高是有代价的,这就是建塔带来的额外空间开销,建的级越多,越方便查询,当然数据冗余也越大。

如果为大的栅格影像建立了金字塔的话,这些影像便能快速进行显示。除了在屏幕上显示外,金字塔还包含了很多其他信息。如果没有金字塔,那么在显示时就要访问整理栅格数据集,然后进行大量计算来选择哪些栅格像元被显示。金字塔是一种能对栅格影像按逐级降低分辨率的拷贝方式存储的方法。通过选择一个与显示区域相似的分辨率,只需进行少量的查询和少量的计算,从而减少显示时间。

每次用ArcGIS打开一幅影像的时候,都会在状态栏中看到Creating pyramids,这时就是在构建影像的金子塔。现在的google map,visual earth,mapbar这些portal应用都采用的是把地图预先处理成影象金字塔,切块后做四叉树编码。在进行zoom,pan操作的时候动态调用那些maptile。这种架构省略掉了制图引擎这些对服务器性能消耗大的环节。

每一层影像金字塔都有其分辨率的,那么根据你当前操作,比如说放大(无论是拉框放大、还是固定比例放大)、缩小、漫游(此操作不涉及到影像分辨率的改变)计算出进行该操作后所需的影像分辨率及在当前视图范围内会显示的地理坐标范围,然后根据这个分辨率去和已经建好的影像金字塔分辨率匹配,哪层影像金字塔的分辨率最接近就用哪层的图像来显示,并且根据操作后当前视图应该显示的范围,来求取在该层影像金字塔上,应该对应取哪几块,然后读取相应像素的值画上去就可以了。

你可能感兴趣的:(数据结构,Google,服务器,存储,引擎)