ViewshedAnalysis

new CooSDK.ViewshedAnalysis(props)

视域分析,根据提供的点位和观察角度,生成一个视野观察范围,然后分析在该观察范围内的被观察物体是否可见。分析时,范围内可见区域会绿色显示,不可见区域会红色显示。视域分析在不同的领域有着广泛的应用,如火灾监控点的设定,观察哨所的设定等等。


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

包含如下属性的Object:

Name Type Default Description
analysisTextSymbol AnalysisTextSymbol new AnalysisTextSymbol() optional

文字符号对象。

callback NNCallback | String "none" optional

视域分析完成回调事件。

customInfo String "" optional

自定义信息。

distance Number null optional

预设视域起始点到目标点的距离。

drawLineColor ColorObj new ColorObj(1, 1, 0, 1) optional

视域分析绘制线颜色。

hAngle Number 60 optional

视域水平方向张角,普通视域模式下,范围在0度-179度;全景视域分析未开启视域球情况下,范围在0-120度。

hRotate Number null optional

预设视域起始点视线水平方向的旋转角度。

isDepthTest Boolean true optional

是否开启深度测试。

isJoinPick Boolean true optional

是否可以被拾取。

isPanoramic Boolean false optional

是否开启全景视域分析,默认为普通视域模式。

isSphere Boolean false optional

在全景视域分析情况下,是否开启视域球。

isTextVisible Boolean false optional

是否显示文字,普通视域模式下生效。

isWorld Boolean false optional

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

lineWidth Number 2.0 optional

线宽度,仅在全景视域模式下生效。

loadAimPoint PositionObj null optional

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

loadEyePoint PositionObj null optional

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

screen CooMap | ScreenObj null optional

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

textLiftUp Number 0 optional

文字抬高高度,普通视域模式下生效。

vAngle Number 60 optional

视域垂直方向张角,普通视域模式下,范围在0度-179度;全景视域分析未开启视域球情况下,范围在0-120度。

vRotate Number null optional

预设视域起始点视线垂直方向的旋转角度。

Example:
// 创建视域分析对象,并绑定分析完成回调函数
var analysisLayer = new CooSDK.ViewshedAnalysis({
     callback: getResult,
     isTextVisible: true,
     analysisTextSymbol: {
         size: 140,
         isHorizontal: true
     }
});

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

Members

analysisTextSymbol : AnalysisTextSymbol

获取或者设置文字符号对象。

Default Value: new AnalysisTextSymbol()

callback : NNCallback|String

获取或者设置视域分析完成回调事件绑定的函数,若取消原先绑定的函数,则赋值为"none"。

Default Value: "none"

customInfo : String

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

Default Value: ""

distance : Number

获取或者设置预设视域起始点到目标点的距离。

Default Value: null

drawLineColor : ColorObj

获取或者设置视域分析绘制线颜色。

Default Value: new ColorObj(1, 1, 0, 1)

hAngle : Number

获取或者设置视域水平方向张角,范围在0度-179度。

Default Value: 60

hRotate : Number

获取或者设置预设视域起始点视线水平方向的旋转角度。

Default Value: null

isDepthTest : Boolean

获取或者设置是否开启深度测试。

Default Value: true

isJoinPick : Boolean

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

Default Value: true

isPanoramic : Boolean

获取或者设置是否开启全景视域分析,默认为普通视域模式。

Default Value: false

isSphere : Boolean

获取或者设置在全景视域分析情况下,是否开启视域球。

Default Value: false

isTextVisible : Boolean

获取或者设置是否显示文字。

Default Value: false

isWorld : Boolean

获取或者设置是否为世界坐标点。默认为经纬度坐标。

Default Value: false

isWorld : Boolean

获取或者设置是否为世界坐标点。默认为经纬度坐标。

Default Value: false

loadAimPoint : PositionObj

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

Default Value: null

loadEyePoint : PositionObj

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

Default Value: null

screen : CooMap|ScreenObj

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

Default Value: null

screen : CooMap|ScreenObj

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

Default Value: null

textLiftUp : Number

获取或者设置文字抬高高度。

Default Value: 0.0

vAngle : Number

获取或者设置视域垂直方向张角,范围在0度-179度。

Default Value: 60

vRotate : Number

获取或者设置预设视域起始点视线垂直方向的旋转角度。

Default Value: null

Methods

deserialize(url)ViewshedAnalysis

Name Type Description
url String

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

Returns:

单视域分析对象。

destroy()

从场景中销毁自身。

Returns:

null 空值。

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

getResult(name, reCallback)String

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

Name Type Description
name EnumAnalysisViewshed optional

查询参数。

reCallback CBCallback optional

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

Returns:

查询结果。

Example:
// 获取分析结果
var result = viewshedAnalysis.getResult(CooSDK.EnumAnalysisViewshed.EYEPOS);
console.log(result);

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

视域分析完成回调事件。

customInfo String optional

自定义信息。

distance Number optional

预设视域起始点到目标点的距离。

drawLineColor ColorObj optional

视域分析绘制线颜色。

hAngle Number optional

视域水平方向张角,普通视域模式下,范围在0度-179度;全景视域分析未开启视域球情况下,范围在0-120度。

hRotate Number optional

预设视域起始点视线水平方向的旋转角度。

isDepthTest Boolean optional

是否开启深度测试。

isJoinPick Boolean optional

是否可以被拾取。

isSphere Boolean optional

在全景视域分析情况下,是否开启视域球。

isTextVisible Boolean optional

是否显示文字,普通视域模式下生效。

isWorld Boolean optional

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

lineWidth Number optional

线宽度,仅在全景视域模式下生效。

loadAimPoint PositionObj optional

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

loadEyePoint PositionObj optional

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

textLiftUp Number optional

文字抬高高度,普通视域模式下生效。

vAngle Number optional

视域垂直方向张角,普通视域模式下,范围在0度-179度;全景视域分析未开启视域球情况下,范围在0-120度。

vRotate Number optional

预设视域起始点视线垂直方向的旋转角度。

Example:
// 更新视域分析写法一
viewshedAnalysis.update({
   // 隐藏视域分析文字
   isTextVisible : false
});

// 更新视域分析写法二
viewshedAnalysis.isTextVisible = false;