三维场景中的图层 |
在三维场景中,与二维地图一样,数据是以图层的形式加载到三维球体上进行显示的,例如影像数据、地形数据、矢量数据,都是通过加载到不同的图层中进行显示的。在三维场景中,根据其作用和加载数据内容不同,可以把图层可分为以下几种类型:普通图层、跟踪图层、屏幕图层和地形图层。
三维场景中可以包含多个普通三维图层(Layer3D),也可以包含多个地形图层(TerrainLayer),在每个图层的属性信息里包含了所加载图层的基本信息,如图层名、图层描述、图层的可见性、可选择性及图层范围等属性。
普通图层是用来加载数据显示的。在三维场景中,可以有多个普通图层。普通图层可以设置风格保存在三维场景中,在下次打开这个三维场景时,图层会被自动以上次保存的风格加载到场景中。普通图层中的对象位置相对于球体是固定的,在场景中,会随着对球的操作联动变化,例如对球进行漫游时,图层中的对象会跟着球一起运动。
根据加载数据内容不同,普通图层应分为五种,但 SuperMap 单独定义了地形图层,因此普通图层分为以下四种:矢量数据类型三维图层、影像数据类型三维图层、模型数据类型三维数据、KML\KMZ 类型三维图层。
SuperMap 三维服务中有专门的地形图层用来添加地形数据,加载到三维场景中的地形数据都作为地形图层来管理。添加到三维场景中作为地形图层的地形数据为地形缓存文件数据,即*.sct 格式的文件。三维场景中的地形图层是通过三维场景中的地形图层集合来管理的,可以实现地形图层的添加、删除、调整地形图层的顺序等功能。
三维跟踪图层,是覆盖在三维场景中球体表面的一个临时图层,它总是在三维场景中各图层的最上层,用来临时存放添加到三维跟踪图层中的三维几何对象,当关闭三维场景时,跟踪图层中的内容会随之全部清空。
一个三维场景有且只有一个三维跟踪图层,三维跟踪图层不可以被删除或改变其位置,可以向三维跟踪图层中添加任何类型的三维几何对象,也可以删除对象。跟踪图层中的对象是不保存的,只是在场景显示时,临时存在内存中。当场景关闭后,跟踪图层中的对象就不再存在,当场景再次被打开后,跟踪图层又显示为一个空白而且透明的图层。
SuperMap 三维模块还提供了屏幕图层。屏幕图层是一个比较特殊的图层,不同于以上的普通图层和三维跟踪图层,屏幕图层中的对象并不是依据对象的坐标信息将其放到三维场景中的地球上,而是放在屏幕上(三维窗口表面),因此,屏幕图层上的几何对象不是随三维场景中球体的旋转、倾斜等操作而变化,而是可以随着三维窗口的改变而变化,如随着三维窗口的放大、缩小而改变其位置,可以说屏幕图层上的对象是相对于三维窗口静止的,这样,可以通过屏幕图层,放置诸如 Logo、说明性的文字等等需要静止显示在三维窗口中的内容。
一个三维场景中有且只有一个屏幕图层,可以向屏幕图层添加任何三维几何对象,并且可以设置几何对象的显示位置、大小,也可以删除不需要的几何对象。