Skip to content
导览

Class: AnalysisManager

分析管理类 @主要功能 剖面分析,空间叠置等。

Examples

typescript
this.analysisManager = cloud.getAnalysisManager(); 在CreateApp时调用
this.analysisManager = cloud.getAnalysisManager(); 在CreateApp时调用

Hierarchy

  • Callable

    AnalysisManager

Methods

setSpatialAnalysisCallback

setSpatialAnalysisCallback(fn): void

Details

空间叠置进度回调函数

Examples

调用示例:

ts
function changeFinished(re: any) {
    console.log(re)
}
cloud.analysisManager.setSpatialAnalysisCallback(changeFinished)
function changeFinished(re: any) {
    console.log(re)
}
cloud.analysisManager.setSpatialAnalysisCallback(changeFinished)

Parameters

NameTypeDescription
fn(Info: string) => void回调函数,只有进度100%,才可以获取叠置分析结果

Returns

void


sectionAnalysis

sectionAnalysis(startPos, endPos, depth): Promise<sectionAnalysisInfo>

剖面分析

Example

typescript
const te = await cloud.getAnalysisManager()
var startPos = {x:1.5, y:5, z:0.2};
var endPos = {x:1.5, y:5, z:-10.2};
// var startPos = {lon:0.0000142546, lat:0.0000024161, alt:5};
// var endPos = {lon:0.0000142546, lat:-0.0000949820, alt:5};
var depth = 100;
var result = await te.sectionAnalysis(startPos,endPos,depth)
const te = await cloud.getAnalysisManager()
var startPos = {x:1.5, y:5, z:0.2};
var endPos = {x:1.5, y:5, z:-10.2};
// var startPos = {lon:0.0000142546, lat:0.0000024161, alt:5};
// var endPos = {lon:0.0000142546, lat:-0.0000949820, alt:5};
var depth = 100;
var result = await te.sectionAnalysis(startPos,endPos,depth)

Parameters

NameTypeDescription
startPosVector3 | LonLatAlt起点位置(gis模型下为经纬高坐标)
endPosVector3 | LonLatAlt终点位置(gis模型下为经纬高坐标)
depthnumber深度

Returns

Promise<sectionAnalysisInfo>

管线圆心坐标和半径、地面线


beginSpatialAnalysis

beginSpatialAnalysis(rangeOutline, depth): Promise<any>

开始空间叠置分析(设置回调函数,等待分析完成再获取结果)

Example

typescript
gis
 const rangeOutline: Array<LonLatAlt> = [];
rangeOutline.push(new LonLatAlt(0, 0, 0));
rangeOutline.push(new LonLatAlt(0.00045, 0, 0.0002));
rangeOutline.push(new LonLatAlt(0.00045, 0.00045, 0.0004));
rangeOutline.push(new LonLatAlt(0, 0.00045, 0.0002));
rangeOutline.push(new LonLatAlt(0, 0, 0));
const depth = 50;
await cloud.analysisManager.beginSpatialAnalysis(rangeOutline, depth);
///////////////////////////////////////////////////////////////////////////
rangeOutline.push(new Vector3(0, 0, 0));
rangeOutline.push(new Vector3(10, 0, 0));
rangeOutline.push(new Vector3(10, 0, 10));
rangeOutline.push(new Vector3(0, 0, 10));
rangeOutline.push(new Vector3(0, 0, 0));
const depth = 50;
await cloud.analysisManager.beginSpatialAnalysis(rangeOutline, depth);
gis
 const rangeOutline: Array<LonLatAlt> = [];
rangeOutline.push(new LonLatAlt(0, 0, 0));
rangeOutline.push(new LonLatAlt(0.00045, 0, 0.0002));
rangeOutline.push(new LonLatAlt(0.00045, 0.00045, 0.0004));
rangeOutline.push(new LonLatAlt(0, 0.00045, 0.0002));
rangeOutline.push(new LonLatAlt(0, 0, 0));
const depth = 50;
await cloud.analysisManager.beginSpatialAnalysis(rangeOutline, depth);
///////////////////////////////////////////////////////////////////////////
rangeOutline.push(new Vector3(0, 0, 0));
rangeOutline.push(new Vector3(10, 0, 0));
rangeOutline.push(new Vector3(10, 0, 10));
rangeOutline.push(new Vector3(0, 0, 10));
rangeOutline.push(new Vector3(0, 0, 0));
const depth = 50;
await cloud.analysisManager.beginSpatialAnalysis(rangeOutline, depth);

Parameters

NameTypeDescription
rangeOutline(Vector3 | LonLatAlt)[]区域顶点(要形成闭环)gis模型下为经纬高坐标
depthnumber深度

Returns

Promise<any>


getSpatialAnalysisResult

getSpatialAnalysisResult(): Promise<SpatialAnalysisInfo[]>

获取空间叠置分析结果(需要接收到回调消息再调用此接口)

Example

typescript
const infos = await cloud.analysisManager.getSpatialAnalysisResult();
console.log(infos);
const infos = await cloud.analysisManager.getSpatialAnalysisResult();
console.log(infos);

Returns

Promise<SpatialAnalysisInfo[]>

范围内包含和相交关系的节点guid,名字,位置,关系