ViewshedExAnalysis

new CooSDK.ViewshedExAnalysis(props)

多视域分析,根据提供的点位和观察角度,生成一个视野观察范围,然后分析在该观察范围内的被观察物体是否可见。分析时,范围内可见区域会绿色显示,不可见区域会红色显示。


视域分析效果图
Name Type Description
props Object optional

包含如下属性的Object。

Name Type Default Description
cameraCountMax Number optional

支持视域分析最大个数。最大个数默认为cameracNamesArray的大小。

cameracNamesArray Array.<String> null optional

视域体标志ID对象数组。

vAnglesArray Array.<Number> null optional

视域体垂直夹角对象数组。角度在0-179之间(度)。

hAnglesArray Array.<Number> null optional

视域体水平夹角对象数组。角度在0-179之间(度)。

vRotateAnglesArray Array.<Number> null optional

视域体垂直俯仰角对象数组。观察点和目标点连线与水平面形成的夹角。角度在-90-90之间(度),正下方-90,水平0,正上方90。

hRotateAnglesArray Array.<Number> null optional

视域体水平旋转角对象数组。观察点和目标点连线与正北形成的夹角。角度在0-179之间(度),正北为0,顺时针360。

fixedDistancesArray Array.<Number> null optional

视域体固定视距对象数组。表示观察点到目标点的距离。

defaultVAngle Number 30 optional

默认垂直夹角,未设置垂直夹角时使用。

defaultHAngle Number 30 optional

默认水平夹角,未设置水平夹角时使用。

defaultFixedDistance Number 200 optional

默认固定视距。

defaultVRotateAngle Number 0 optional

默认垂直俯仰角。

defaultHRotateAngle Number 0 optional

默认水平旋转角。

isActivateDraw Boolean false optional

绘制激活状态。默认为false,表示是否重新激活绘制。

isWorld Boolean false optional

是否为世界坐标点。默认为经纬度坐标。

loadEyePointArray Array.<PositionObj> [] optional

预设视域起始点地理坐标对象数组。

loadAimPointArray Array.<PositionObj> [] optional

预设视域目标点地理坐标对象数组。

analysisTextSymbol AnalysisTextSymbol new AnalysisTextSymbol() optional

文字符号对象。

isVisible Boolean true optional

分析显隐开关。

callback NNCallback | String "none" optional

视域分析完成回调事件。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

Example:
// 创建视域分析对象,并绑定分析完成回调函数
var analysisLayer = new CooSDK.ViewshedExAnalysis({
     callback: getResult,
     vAnglesArray: [30, 40, 50],
     hAnglesArray: [30, 40, 50],
     analysisTextSymbol: {
         size: 140
     }
});

function getResult(x, y) {
     var result = viewshedExAnalysis.getResult(CooSDK.EnumAnalysisViewshedEx.EYEPOS);
}
Demo:

Members

analysisTextSymbol : AnalysisTextSymbol

获取或者设置文字Symbol。

callback : function

获取或者设置回调函数。

cameraCountMax : Number

获取或者设置支持视域分析最大个数,最大个数默认为cameracNamesArray的大小。

cameraNamesArray : Array.<String>

获取或者设置视域体标志ID对象集合。

Default Value: null

defaultFixedDistance : Number

获取或者设置视域默认固定视距。

Default Value: 200

defaultHAngle : Number

获取或者设置视域默认水平夹角,未设置水平夹角时使用。

Default Value: 30

defaultHRotateAngle : Number

获取或者设置视域默认水平旋转角。

Default Value: 0

defaultVAngle : Number

获取或者设置视域默认垂直夹角,未设置垂直夹角时使用。

Default Value: 30

defaultVRotateAngle : Number

获取或者设置视域默认垂直俯仰角。

Default Value: 0

fixedDistancesArray : Array.<Number>

获取或者设置视域体固定视距对象数组。表示观察点到目标点的距离。

Default Value: null

hAnglesArray : Array.<Number>

获取或者设置视域分析水平夹角。角度在0-179之间(度)。

Default Value: null

hRotateAnglesArray : Array.<Number>

获取或者设置视域体水平旋转角对象数组。观察点和目标点连线与正北形成的夹角。角度在0-179之间(度),正北为0,顺时针360。

Default Value: null

isActivateDraw : Boolean

获取或者设置视域绘制激活状态。默认为false,表示是否重新激活绘制。

Default Value: false

isVisible : Boolean

获取或者设置分析显隐开关。

loadAimPointArray : Array.<PositionObj>

获取或者设置预设视域目标点地理坐标对象数组。

Default Value: []

loadEyePointArray : Array.<PositionObj>

获取或者设置预设视域起始点地理坐标对象数组。

Default Value: []

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

vAnglesArray : Array.<Number>

获取或者设置视域分析垂直夹角。角度在0-179之间(度)。

Default Value: null

vRotateAnglesArray : Array.<Number>

获取或者设置视域体垂直俯仰角对象数组。观察点和目标点连线与水平面形成的夹角。角度在-90-90之间(度),正下方-90,水平0,正上方90。

Default Value: null

Methods

deserialize(url)ViewshedExAnalysis

Name Type Description
url String

反序列化文件保存路径,支持本地路径和网络路径。

Returns:

多视域分析对象。

destroy()

从场景中销毁自身。

Returns:

null 空值。

Example:
// 销毁对象
viewshedExAnalysis = viewshedExAnalysis.destroy();

getResult(name, reCallback)String|FDTObject

根据指定参数获取分析结果。

Name Type Description
name EnumAnalysisViewshedEx optional

查询参数。

reCallback CBCallback optional

非IE时可传入:需传递的回调函数,返回查询结果。

Returns:

查询结果。IE:String类型;非IE:FDTObject对象。

Examples:
// IE浏览器写法:
// 获取分析结果
var result = viewshedExAnalysis.getResult(CooSDK.EnumAnalysisViewshedEx.EYEPOS);
console.log(result);
// 非IE浏览器写法:
// 获取分析结果
viewshedExAnalysis.getResult(CooSDK.EnumAnalysisViewshedEx.EYEPOS, function(result){
     console.log(result);
});

remove(cameraArray)

从场景中移除视域目标。

Name Type Description
cameraArray Array.<String>

更新视域目标标志。

Example:
// 移除视域目标
viewshedExAnalysis = viewshedExAnalysis.remove();

serialize(url)

Name Type Description
url String

序列化文件保存路径,仅支持本地路径。

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object。

Name Type Description
cameraCountMax Number optional

支持视域分析最大个数。最大个数默认为cameracNamesArray的大小。

cameraNamesArray Array.<String> optional

视域体标志ID对象数组。

vAnglesArray Array.<Number> optional

视域分析垂直夹角对象数组。角度在0-179之间(度)。

hAnglesArray Array.<Number> optional

视域分析水平夹角对象数组。角度在0-179之间(度)。

vRotateAnglesArray Array.<Number> optional

视域体垂直俯仰角对象数组。观察点和目标点连线与水平面形成的夹角。角度在-90-90之间(度),正下方-90,水平0,正上方90。

hRotateAnglesArray Array.<Number> optional

视域体水平旋转角对象数组。观察点和目标点连线与正北形成的夹角。角度在0-179之间(度),正北为0,顺时针360。

fixedDistancesArray Array.<Number> optional

视域体固定视距对象数组。表示观察点到目标点的距离。

defaultVAngle Number optional

默认垂直夹角,未设置垂直夹角时使用。

defaultHAngle Number optional

默认水平夹角,未设置水平夹角时使用。

defaultFixedDistance Number optional

默认固定视距。

defaultVRotateAngle Number optional

默认垂直俯仰角。

defaultHRotateAngle Number optional

默认水平旋转角。

isActivateDraw Boolean optional

绘制激活状态。默认为false,表示是否重新激活绘制。

isWorld Boolean optional

是否为世界坐标点。默认为经纬度坐标。

loadEyePointArray Array.<PositionObj> optional

预设视域起始点地理坐标对象对象数组。

loadAimPointArray Array.<PositionObj> optional

预设视域目标点地理坐标对象对象数组。

analysisTextSymbol AnalysisTextSymbol optional

文字符号对象。

isVisible Boolean optional

分析显隐开关。

callback NNCallback | String optional

视域分析完成回调事件。

Example:
// 更新模型数据部分属性
viewshedExAnalysis.update({
   hRotateAnglesArray: [0, 10, 80]
});