ViewshedExAnalysis

new CooSDK.ViewshedExAnalysis(props)

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


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

包含如下属性的Object。

Name Type Default Description
analysisTextSymbol AnalysisTextSymbol new AnalysisTextSymbol() optional

文字符号对象。

callback NNCallback | String "none" optional

视域分析完成回调事件。

cameraCountMax Number optional

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

cameracNamesArray Array.<String> null optional

视域体标志ID对象数组。

customInfo String "" optional

自定义信息。

defaultFixedDistance Number 200 optional

默认固定视距。

defaultHAngle Number 30 optional

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

defaultHRotateAngle Number 0 optional

默认水平旋转角。

defaultVAngle Number 30 optional

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

defaultVRotateAngle Number 0 optional

默认垂直俯仰角。

fixedDistancesArray Array.<Number> null optional

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

hAnglesArray Array.<Number> null optional

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

hRotateAnglesArray Array.<Number> null optional

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

isActivateDraw Boolean false optional

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

isActive Boolean false optional

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

isJoinPick Boolean true optional

是否可以被拾取。

isVisible Boolean true optional

分析显隐开关。

isWorld Boolean false optional

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

loadAimPointArray Array.<PositionObj> [] optional

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

loadEyePointArray Array.<PositionObj> [] optional

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

vAnglesArray Array.<Number> null optional

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

vRotateAnglesArray Array.<Number> null optional

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

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

customInfo : String

获取或者设置自定义信息。

Default Value: ""

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

isActive : Boolean

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

Default Value: false

isJoinPick : Boolean

获取或者设置是否可以被拾取。

Default Value: true

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

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

Name Type Description
name EnumAnalysisViewshedEx optional

查询参数。

reCallback CBCallback optional

可传递的回调函数,返回查询结果。

Returns:

查询结果。

Example:
// 获取分析结果
var result = viewshedExAnalysis.getResult(CooSDK.EnumAnalysisViewshedEx.EYEPOS);
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
analysisTextSymbol AnalysisTextSymbol optional

文字符号对象。

callback NNCallback | String optional

视域分析完成回调事件。

cameraCountMax Number optional

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

cameraNamesArray Array.<String> optional

视域体标志ID对象数组。

customInfo String optional

自定义信息。

defaultFixedDistance Number optional

默认固定视距。

defaultHAngle Number optional

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

defaultHRotateAngle Number optional

默认水平旋转角。

defaultVAngle Number optional

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

defaultVRotateAngle Number optional

默认垂直俯仰角。

fixedDistancesArray Array.<Number> optional

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

hAnglesArray Array.<Number> optional

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

hRotateAnglesArray Array.<Number> optional

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

isActivateDraw Boolean optional

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

isActive Boolean optional

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

isJoinPick Boolean optional

是否可以被拾取。

isVisible Boolean optional

分析显隐开关。

isWorld Boolean optional

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

loadAimPointArray Array.<PositionObj> optional

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

loadEyePointArray Array.<PositionObj> optional

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

vAnglesArray Array.<Number> optional

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

vRotateAnglesArray Array.<Number> optional

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

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