layer~S3MLayer(name, url, options)

加载S3M格式的图层,目前支持S3M格式的倾斜摄影和点云,当前兼容4326和3857两种坐标系,需要以空信平台指定的工具和选项进行转换

Summary

Methods:
fromHMapPlatform

通过空间信息服务平台元数据创建图层

_traversalAndSkip

遍历并跳跃,当切片被地图范围完全包含,而且可以继续细化

addfilterPoly

添加过滤多边形,在多边形范围内的模型会筛选出来不绘制。通过该接口可实现过滤区域叠加精细化模型的效果。

addHighlight

添加高亮信息,enableHighlight开启后有效

clearHighlight

清除所有高亮信息

destroy

销毁图层,并取消正在发生的请求

getExtent

获取s3m数据的实际范围

getLayerType

获取图层类型

getRangeRatio

获取渲染参数

getRGBToBGR

获取当前是否将图层数据的纹理采样结果从RGB转成BGR

getScale

获取S3M数据整体缩放

getTranslate

获取S3M数据整体平移

onRootReady

根节点初始化完成之后 执行参数函数内容

removeHighlight

移除该id对应的高亮信息

setRangeRatio

设置渲染参数

setRGBToBGR

设置或取消将图层数据的纹理采样结果从RGB转成BGR

setScale

设置S3M数据整体缩放

setTranslate

设置S3M数据整体平移

zoomToData

缩放到本图层中有数据的部分,需要确保图层已经添加到地图中,并且根节点已经准备好,即在onRootReady回调进入之后再调用。

Constructor

new S3MLayer(name, url, options)

Parameters:
Name Type Description
name String

图层名称

url String

描述文件url,对应的是描述文件.scp的路径。

options Object

可选项

Name Type Description
rangeRatio Number

瓦片精细程度系数,默认为0.5。在相同的视野范围内,值越大,切片加载的就越多,图层显示也越清晰,但同时内存和GPU占用也越大。

cacheNumber Number

s3m图层缓存的切片数量,默认值为100,数值越小,缓存的切片越少,对GPU的占用也越小,但是浏览过程中会频繁请求切片;数值越大,缓存的切片会越多,已缓存的切片不会重复请求,浏览会更流畅,但同时对GPU的占用也越高,在性能较差的电脑上可能会崩溃黑屏。

scale Number

s3m整体缩放比例,默认为1,在实际项目中加载的s3m图层往往对不上实际的经纬度,除了Config.scp中的position字段之外,还需要微调整体缩放,这里放出参数。

translate Array.<Number>

s3m数据集锚点位置,[x,y,z]类型,默认不设置,读取config.scp中position字段。

clipUnderWater Number

水下部分是否裁剪不显示,默认为false。

waterHeight Number

水面高度,单位为米,默认值为9,若clipUnderWater选项开启,则低于waterHeight的高度将被裁剪不显示。

textureScale Number

过滤纹理的缩放比,以纹理大小为512×512为基础,对应的缩放比例1.0,类比2.0对应的是1024×1024。scale越大纹理越大,纹理代表的地理范围越大。另外,不同硬件支持的纹理大小有限,一般显卡以2048×2048为限。故建议值1 2 4。

zUnits Number

S3MLayer在设置平移时,高度上的单位,有"degree"和"meter"两个枚举值,在地图的坐标系为"4326"的情况下,默认为"degree",在坐标系为"3857"的情况下,默认为"meter"。

baseGroundLayer Boolean

是否三维基础图层,如果设置成三维基础图层,贴地绘制的图层将会绘制到该图层上。

imageFilter String

纹理图片采样方式。有两个值可选,"nearest"和"linear", "nearest"代表临近采样,在正视视角下,纹理会更清晰;"linear"代表线性采样,对倾斜视角的场景更加友好,默认为"linear"。

textureLOD String

着色器中纹理采样是否使用LOD纹理,默认为false,如果瓦片数据中的纹理是LOD纹理,设置此选项后纹理会更平滑。

enableLight Boolean

是否开启光照支持,默认false,开启后接受SunLight光照参数,对于纯色的模型,需要开启光照以显示出其轮廓。

enableHighlight Boolean

是否开启高亮(单体化)支持,默认为false,开启后可以高亮某一区域的s3m数据。

numHighlight Number

高亮状态最多支持的个数,默认为5,开启enableHighlight后有效。

RGBToBGR Boolean

是否需要将纹理RGB颜色翻转成BGR,默认为false。在显示纹理颜色有偏差的情况下,可以尝试此选项。

useSpatialIndex Boolean

是否使用空间索引,使用空间索引后,可根据索引文件创建瓦片层次树结构,加快图层数据的索引速度,当前仅空信平台4.0+对应的S3MB3.0数据支持开启,默认为false。

skipFactor Number

层级跳跃系数,默认值为2。在使用空间索引后,可以设置此参数用于跳过部分中间层级的加载细节,在保证显示效果的同时,减少瓦片加载总量,加快图层出图速度。

Members

depthTest

获取图层的深度测试属性
return {Boolean} 深度测试属性

Overrides:

Methods

static fromHMapPlatform(metadataUrl, options) → {Promise}

通过空间信息服务平台元数据创建图层

Parameters:
Name Type Description
metadataUrl String

空间信息服务平台服务对应的元数据地址

options options

可选项,对空间信息服务平台元数据不包含的可选项进行补充,若传入的可选项与元数据中重复,以元数据为准。

Returns:
Promise -

图层创建的promise,resolve返回图层实例

async _traversalAndSkip()

遍历并跳跃,当切片被地图范围完全包含,而且可以继续细化

addfilterPoly(polygon)

添加过滤多边形,在多边形范围内的模型会筛选出来不绘制。通过该接口可实现过滤区域叠加精细化模型的效果。

Parameters:
Name Type Description
polygon Polygon

过滤的多辨析。

addHighlight(id, highlightInfo)

添加高亮信息,enableHighlight开启后有效

Parameters:
Name Type Description
id object

唯一标识,基于该表示可进行对象删除,重复id最后添加的有效

highlightInfo Object

高亮信息

Name Type Description
polygon module:geom~Polygon

二维矢量面数据

minHeight Number

最小高度,默认为-100,地图单位

maxHeight Number

最大高度,默认为1000,地图单位

color module:style~Color

高亮颜色,默认为红色

clearHighlight()

清除所有高亮信息

destroy()

销毁图层,并取消正在发生的请求

getExtent() → {module:basetype~Extent}

获取s3m数据的实际范围

Returns:
module:basetype~Extent -

数据边界

getLayerType() → {String}

获取图层类型

Returns:
String -

图层类型

getRangeRatio() → {Number}

获取渲染参数

Returns:
Number -

渲染参数

getRGBToBGR() → {Boolean}

获取当前是否将图层数据的纹理采样结果从RGB转成BGR

Returns:
Boolean -

布尔值,是否进行了颜色转换

getScale() → {Number}

获取S3M数据整体缩放

Returns:
Number -

整体缩放值

getTranslate() → {Array.<Number>}

获取S3M数据整体平移

Returns:
Array.<Number> -

整体平移,[x,y,z]类型

onRootReady(callback)

根节点初始化完成之后 执行参数函数内容

Parameters:
Name Type Description
callback function

removeHighlight(id)

移除该id对应的高亮信息

Parameters:
Name Type Description
id object

setRangeRatio(rangeRatio)

设置渲染参数

Parameters:
Name Type Description
rangeRatio Number

渲染参数

setRGBToBGR(bool)

设置或取消将图层数据的纹理采样结果从RGB转成BGR

Parameters:
Name Type Description
bool Boolean

布尔值,是否将纹理采样颜色的RGB转成BGR

setScale(scale)

设置S3M数据整体缩放

Parameters:
Name Type Default Description
scale Number 1

整体缩放

setTranslate(trans)

设置S3M数据整体平移

Parameters:
Name Type Description
trans Array.<Number>

整体平移,[x,y,z]类型

zoomToData()

缩放到本图层中有数据的部分,需要确保图层已经添加到地图中,并且根节点已经准备好,即在onRootReady回调进入之后再调用。