Analysis
三维分析。
FloodAnalysis
淹没分析可视化。
参数
名称 | 类型 | 描述 |
---|---|---|
layer | Layer | 必填图层实例,ModelLayer 或 3DTilesLayer。 |
案例
// 初始化淹没分析类
new mapmost.FloodAnalysis(layer)
实例成员
analyse
设置淹没参数并进行淹没分析渲染模型。
参数
名称 | 类型 | 描述 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
option | Object | 必填参数
|
案例
let analysis = new mapmost.FloodAnalysis(layer);
let polygon = [
[120.74091493906315, 31.309723842354217],
[120.74462296468971, 31.311393233066624],
[120.74484083816549, 31.30670598817069],
[120.74227073726502, 31.306037256905938],
[120.74091493906315, 31.309723842354217]];
analysis.analyse({
minHeight: 0,
maxHeight: 20,
startColor: "#07ff8a",
endColor: "#ff10fd",
speed: 5,
colorMix: 0.4,
range: polygon
});
clear
移除淹没分析可视化效果。
案例
let analysis = new mapmost.FloodAnalysis(layer);
analysis.clear();
参考示例 三维模型淹没分析。 参考示例 3DTiles淹没分析。
ClassifyAnalysis
分析类,可进行三维模型和3DTiles单体化分析
参数
名称 | 类型 | 描述 |
---|---|---|
map | Map | 必填map实例。 |
案例
// 初始化分析类
new mapmost.ClassifyAnalysis(map)
实例成员
analyse
设置单体化分析参数并进行单体化。
参数
名称 | 类型 | 描述 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
option | Object | 必填参数
|
案例
let analysis = new mapmost.ClassifyAnalysis(map);
let coordinate = [
[120.7440396705365, 31.30775759163872],
[120.74733413440896, 31.308306621332633],
[120.74646526481644, 31.305344916185064],
[120.74501714882791, 31.305043327408995],
[120.743795300964, 31.306288341506914],
];
let option = {
coordinate: coordinate,
color: "#ff0000",
opacity: 0.5,
baseHeight: 25,
stretchHeight: 35,
};
analysis.analyse(option);
clear
移除单体化效果。
案例
let analysis = new mapmost.ClassifyAnalysis(map);
analysis.clear();
参考示例 3DTiles动态单体化。
ViewshedAnalysis
分析类,可进行可视域分析,场景中需要有background
图层。
参数
名称 | 类型 | 描述 |
---|---|---|
map | Map | 必填map实例。 |
案例
// 初始化分析类
new mapmost.ViewshedAnalysis(map)
实例成员
analyse
设置分析参数并进行可视域分析。
参数
名称 | 类型 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
option | Object | 必填参数
|
案例
let map = new mapmost.Map({
......
viewshedBufferSize: 2048 // 设置可视域缓冲区大小,必须为2的幂次方
});
// 初始化分析实例
let analysis = new mapmost.ViewshedAnalysis(map);
// 分析参数
let opt = {
position: [120.69878455823062, 31.30434269979058, 1000],
pitch: 60,
bearing: 60,
fovX: 90,
fovY: 45,
distance: 1000,
visibleColor: "#007f00",
visibleOpacity: 0.3,
invisibleColor: "#990000",
invisibleOpacity: 0.5,
wireframeColor: "#ffff00",
wireframeDisplay: true,
wireframeDensity: 8,
}
// 开始分析
analysis.analyse(opt);
calcOption
根据起止点获取分析参数。
参数
名称 | 类型 | 描述 |
---|---|---|
startPoint | Array | 必填起点,形如[经度,纬度,高度]。 |
endPoint | Array | 必填终点,形如[经度,纬度,高度]。 |
案例
let analysis = new mapmost.ViewshedAnalysis(map);
// 根据起止点获取可视域参数
let st = [120.703589426768602, 31.314416492134825, 1000];
let et = [120.681136937730201, 31.324054117146595, 1];
let opt = analysis.calcOption(st, et);
// 开始分析
analysis.analyse(opt);
clear
清除分析结果,地图清除可视域分析结果,分析实例保留,可调用analyse方法更新分析结果。
案例
analysis.clear();
destroy
销毁分析实例,地图清除分析结果并销毁分析实例,销毁后实例所有方法均不可调用。
案例
analysis.destroy();
getOption
获取分析参数。
案例
let analysis = new mapmost.ViewshedAnalysis(map);
// 获取分析配置信息
let opt = analysis.getOption();
// 更新分析参数
opt.pitch= 45;
analysis.analyse(opt);
setViewPoint
设置当前分析视角为地图视角。
案例
analysis.setViewPoint();
参考示例 可视域分析。
ExcavationAnalysis
分析类,可进行地表开挖分析,作用于矢量和栅格数据。
参数
名称 | 类型 | 描述 |
---|---|---|
map | Map | 必填map实例。 |
案例
// 初始化分析类
new mapmost.ExcavationAnalysis(map)
实例成员
analyse
设置分析参数并进行地表开挖分析,多次调用会覆盖之前分析结果。
参数
名称 | 类型 | 描述 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
option | Object | 必填参数
|
案例
// 初始化分析实例
let excavation = new mapmost.ExcavationAnalysis(map);
// 开始分析
excavation.analyse({
range: [
[120.67470712700884, 31.31986091806357],
[120.67778068126427, 31.31802931914737],
[120.67315076176152, 31.317359955173245],
[120.67470712700884, 31.31986091806357],
], // 开挖范围
depth: 20, // 开挖深度
sideImg: './excavationAnalysis/excavate_kuangqu.jpg', // 开挖侧面贴图
bottomImg: './excavationAnalysis/excavate_bottom.jpg', // 开挖底部贴图
});
clear
清除分析结果,地图清除分析结果,分析实例保留。
案例
excavation.clear();
destroy
销毁分析实例,地图清除分析结果并销毁分析实例,销毁后实例所有方法均不可调用。
案例
excavation.destroy();
参考示例 地表开挖分析。
SightLineAnalysis
通视分析。
参数
名称 | 类型 | 描述 |
---|---|---|
map | Map | 必填map实例。 |
案例
// 初始化通视分析类
new mapmost.SightLineAnalysis(map)
实例成员
analyse
设置分析参数并进行通视分析。
参数
名称 | 类型 | 描述 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
option | Object | 必填参数
|
返回值
返回值为一个对象,参数如下:
名称 | 类型 | 描述 |
---|---|---|
visible | Boolean | 起点到该目标点之间是否通视,通视则返回true。 |
obstructPoint | Array | 若不通视,返回障碍点坐标,通视则返回undefined。 |
案例
// 初始化分析实例
let sightLineAnalysis = new mapmost.SightLineAnalysis(map);
// 开始分析
let result=sightLineAnalysis.analyse({
id:"sight",
viewPoint:[120.67233678173892, 31.318166023281748, 600],
targetPoint: [120.67559559597004, 31.319729878719883, 0],
});
clear
移除通视分析可视化效果。
参数
名称 | 类型 | 描述 |
---|---|---|
id | String | 可选通视分析的唯一标识符,不填则清除所有分析可视化效果。 |
案例
let sightLineAnalysis = new mapmost.SightLineAnalysis(map);
sightLineAnalysis.clear('sight'); // 根据id清除对应分析可视化效果
sightLineAnalysis.clear(); // 清除所有分析可视化效果
destroy
销毁通视分析实例。
案例
let sightLineAnalysis = new mapmost.SightLineAnalysis(map);
sightLineAnalysis.destroy()
参考示例 通视分析。