跳到主要内容
版本:9.16.0

视频融合图层(GeoVideoLayer)

方法

addVideoCameras

根据相机参数添加视频对应的虚拟相机。相机参数获取需要依赖视频标定工具,详情请联系客服(右下角)。

参数

名称类型描述
cameraDataObject/Array[Object]必填需要添加的相机参数对象或对象组。
名称类型默认值描述
videoUrlString必填相机资源文件路径。
farNumber必填远平面,值为正数,且 near < far。
fovNumber必填视场角,弧度值,范围:(0, π)。
headingNumber必填相机方位角,弧度值,范围:[-π, π]。
widthNumber必填视频宽度,值为正数。
heightNumber必填视频高度,值为正数。
nameString必填相机名称。
nearNumber必填近平面,值为正数。
pitchNumber必填相机俯仰角,弧度值,范围:[0, π]。
positionArray必填相机位置信息,三维数组,如[x,y,z]。
rollNumber必填相机翻滚角,弧度值,范围:[-π, π]。
aspectNumberwidth/height可选相机宽高比,值为正数。
maskBoxArray[Number][0,1,0,1]可选裁剪视频画面范围。数组表示:[xMin,xMax,yMin,yMax],起点为左下角,xMin、xMax表示视频水平方向裁剪的起点比例和终点比例,yMin、yMax表示视频垂直方向裁剪的起点比例和终点比例,参数取值范围为 0-1,且xMin < xMax,yMin < yMax。
cameraModelNumber0可选畸变纠正类型,0表示无畸变纠正,1表示鱼眼畸变纠正,12表示除法模型畸变纠正。
depthTestBooleantrue可选是否启用深度测试。
factorNumber0可选因子,值为大于等于0的整数。
fxNumber0可选畸变纠正参数,值大于0。
fyNumber0可选畸变纠正参数,值大于0。
k1Number0可选畸变纠正参数,值为有理数。
k2Number0可选畸变纠正参数,值为有理数。
k3Number0可选畸变纠正参数,值为有理数。
k4Number0可选畸变纠正参数,值为有理数。
p1Number0可选畸变纠正参数,值为有理数。
p2Number0可选畸变纠正参数,值为有理数。
unitsNumber0可选单元,值为大于等于0的整数。
u0Number可选畸变纠正参数,值大于0。
videoTypeNumber1可选视频源格式,0表示mp4格式,1表示img,2表示flv。
v0Number可选畸变纠正参数,值大于0。
zThresholdNumber0可选z偏移,值大于等0。
limitHeightNumberundefined可选在三维空间按照指定高度对投影后的视频进行裁剪,默认不裁剪,值大于等于0。
fScaleNumber1可选视角缩放系数,值为正数,默认1不缩放,小于1时视角增大,大于1时视角减小。
cropRangeArray[]可选视频画面的裁剪范围数组,保留裁剪范围内的视频内容,以视频画面的左下角为坐标原点[0,0],X轴向右为正,Y轴向上为正,取值范围0-1,右上角为[1,1]。
colorBalanceArray[]可选用于匀色的3×4颜色校正矩阵,通过二维数组表示,形如[ [ a1, a2, a3, a4],[b1, b2, b3, b4],[c1, c2, c3, c4]]。

getViewPoint

获取当前窗口的视点,返回值可用于setViewPoint接口。

setVideoCameraActiveByIndex

根据索引设置相机的开启。

参数

名称类型描述
activeBoolean必填设置相机画面的开启和隐藏, true 表示开启。
indexNumber必填相机索引序列。
案例
        let models_geo = ["ATModelNew.glb"].map(item => ({
type: 'glb',
url: "../example_data/aoti_models/" + item
}));
let options = {
id: 'model_id1',
type: 'geoVideo',
models: models_geo,
center: [120.744471002000068, 31.306768408000039, 3.617],
project: "3857",
cameraData: cameraData,
callback: function (geoVideo) {
GeoVideo = geoVideo;
}
}
map.addLayer(options);

map.on('click', function (e) {
GeoVideo.setVideoCameraActiveByIndex(0, true);
GeoVideo.setViewPoint(viewData)
})

参考 示例

setViewPoint

根据视点信息设置地图视域。

参数

名称类型描述
viewDataObject必填视点信息对象。
名称类型默认值描述
headingNumber必填视点方位角弧度值,范围:[-π, π]。
pitchNumber必填视点俯仰角,弧度值,范围:[0, π]。
positionArray必填视点位置信息,三维数组,如[x,y,z]。
rollNumber必填视点翻滚角,弧度值,范围:[-π, π]。
isLLHBooleanfalse可选视点位置是否经纬度表示,true表示经纬度。

setCropRangeByIndex

根据索引设置视频画面的裁剪范围,具体可参考 示例

参数

名称类型默认值描述
indexNumber必填相机索引序列。
cropRangeArray[]选填视频画面的裁剪范围数组,保留裁剪范围内的视频内容,以视频画面的左下角为坐标原点[0,0],X轴向右为正,Y轴向上为正,取值范围0-1,右上角为[1,1]。

案例

let options = {
id: 'model_id1',
type: 'geoVideo',
cameraData: [{...},{...},...],
callback: function (geoVideo) {
GeoVideo = geoVideo;
}
}
map.addLayer(options);
// 设置第一个视频的裁剪范围
GeoVideo.setCropRangeByIndex(0, [[0.1,0.1],[0.8,0.1],[0.8,0.8],[0.1,0.8]]);

setColorBalanceByIndex

根据索引设置视频画面的颜色校正矩阵,具体可参考 示例

参数

名称类型默认值描述
indexNumber必填相机索引序列。
colorBalanceArray[]选填用于匀色的3×4颜色校正矩阵,通过二维数组表示,形如[ [ a1, a2, a3, a4],[b1, b2, b3, b4],[c1, c2, c3, c4]],默认空数组即不进行匀色。

案例

let options = {
id: 'model_id1',
type: 'geoVideo',
cameraData: [{...},{...},...],
callback: function (geoVideo) {
GeoVideo = geoVideo;
}
}
map.addLayer(options);
// 设置第一个视频的颜色校正矩阵
GeoVideo.setColorBalanceByIndex(0, [[0.5,0.5,0.5,0.5],[0.5,0.5,0.5,0.5],[0.5,0.5,0.5,0.5]]);