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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
startPos | Vector3 | LonLatAlt | 起点位置(gis模型下为经纬高坐标) |
endPos | Vector3 | LonLatAlt | 终点位置(gis模型下为经纬高坐标) |
depth | number | 深度 |
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
Name | Type | Description |
---|---|---|
rangeOutline | (Vector3 | LonLatAlt )[] | 区域顶点(要形成闭环)gis模型下为经纬高坐标 |
depth | number | 深度 |
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,名字,位置,关系