# TerrainAnalyse

TerrainAnalyse 地形分析功能的主要类

#### new Cesium.TerrainAnalyse(viewer, options)
MapGIS/Terrain/TerrainAnalyse.js 66

Name | Type | Description
--- | --- | ---
`viewer` | viewer | 场景视图对象

`options`

Object

optional 包含以下属性的对象

Name | Type | Default | Description
--- | --- | --- | ---
`contourColor` | Color | `Color.RED.clone()` | optional 等高线颜色默认为红色
`contourWidth` | Number | `2.0` | optional 等高线宽度
`contourSpacing` | Number | `150.0` | optional 等高线间距
`contouenableContourrSpacing` | bool | `false` | optional 等高线是否开启
`minHeight` | Number | `0` | optional 高程最小值
`maxHeight` | Number | `0` | optional 高程最大值
`elevationRampColor` | array |  | optional 高程色表
`slopeRampColor` | array |  | optional 坡度色表
`aspectRampColor` | array |  | optional 坡向色表
`elevationRamp` | array |  | optional 高程色表范围
`slopeRamp` | array |  | optional 坡度色表范围
`aspectRamp` | array |  | optional 坡向色表范围

##### Example:

    var webGlobe = new Cesium.WebSceneControl('cesiumContainer', {});
    var viewer = webGlobe.viewer;
    var terrainAnalyse = new Cesium.TerrainAnalyse(viewer, {});
    terrainAnalyse.updateMaterial('elevation');
    terrainAnalyse.enableContour(enableContour);
    terrainProfile.profile();
    //绘制分析区域
    var geoPosition = Cesium.Matrix4.multiplyByPoint(inverseTransform, new Cartesian3.fromDegrees(lon, lat, height), new Cartesian3());
    Npositions.push(geoPosition);
    globe.selectArea = Npositions;

### Methods

#### changeContourSpacing()
MapGIS/Terrain/TerrainAnalyse.js 248

修改等高线间距

#### changeContourWidth()
MapGIS/Terrain/TerrainAnalyse.js 255

修改等高线宽度

#### enableContour(enableContour)
MapGIS/Terrain/TerrainAnalyse.js 265

开启地形分析

Name | Type | Description
--- | --- | ---
`enableContour` | bool | 是否开启等高线

##### Example:

    terrainAnalyse.enableContour(true);

#### getTransform(lo, la, height) → Matrix4
MapGIS/Terrain/TerrainAnalyse.js 91

计算本地坐标和世界坐标变换矩阵（用于局部区域分析）

Name | Type | Description
--- | --- | ---
`lo` | Number | 原点经度
`la` | Number | 原点纬度
`height` | Number | 原点高程

##### Returns:

modelMatrix 变换矩阵

#### updateMaterial(selectedShading)
MapGIS/Terrain/TerrainAnalyse.js 274

开启地形分析

Name | Type | Description
--- | --- | ---
`selectedShading` | String | 地形分析类型

##### Example:

    terrainAnalyse.updateMaterial('elevation'); //地形分析包括高程赋色'elevation'、坡度分析'slope'、坡向分析'aspect'。