# TerrainProfile

TerrainProfile 地形剖切功能的主要类

#### new Cesium.TerrainProfile(viewer, options)
MapGIS/Provider/TerrainProfile.js 52

Name | Type | Description
--- | --- | ---
`viewer` | Viewer | 场景视图对象
`options` | Object | optional 包含以下属性的对象
Name | Type | Default | Description
--- | --- | --- | ---
`echart` | Object |  | optional echart图表对象，如果resultShowType设置为1和2，则这个值必须传入
`polygonColor` | Color | `Color.BLUE.withAlpha(0.5)` | optional 垂直面颜色
`polygonHeight` | Number | `50` | optional 垂直面高度，相较于最大地形高程
`polyLineColor` | Color | `Color.RED.withAlpha(1)` | optional 垂直线颜色
`polylineGroundColor` | Color | `Color.RED.withAlpha(1)` | optional 贴地线颜色
`pointColor` | Color | `Color.RED.withAlpha(1)` | optional 贴地点颜色
`samplePrecision` | Number | `1` | optional 采样精度
`showPolygon` | Boolean | `true` | optional 是否显示垂直面
`profileType` | Number | `0` | optional 分析类型.0代表地形,1代表地形和模型兼容
`sampleLever` | Number | `0` | optional 地形采样级别.0代表采最精细级别,1-20为自定义采样级别，数值越大，越精细
`sampleSceneMostDetail` | Boolean | `false` | optional 是否对场景进行最精细的高程采样，默认为false，仅对当前场景深度进行采样，当值为true时，要求采样区域的模型缓存的叶子结点的数据不能全为空
`resultShowType` | Number | `2` | optional 结果展示形式.0代表仅场景中展示结果(直接在地形上绘制结果),1表示仅echart图表中展示结果,2表示场景和图表都展示结果
`positions` | Array |  | optional 可选,Cartesian3数组，需要分析的坐标点集,数组内至少要有两个点.如果未传入positions,则接口内部调用绘制的接口,进行绘制获取点集
`timeout` | Number | `60` | optional 可选,分析过程超时时间设置，超时后会调用分析失败函数，默认值为60，单位秒

##### Example:

    var webGlobe = new Cesium.WebSceneControl('cesiumContainer', {});
    var viewer = webGlobe.viewer;
    if(!Cesium.defined(terrainProfile)){
         terrainProfile = new Cesium.TerrainProfile(viewer,{polygonColor:Cesium.Color.RED.withAlpha(0.5),polygonHeight:0,polyLineColor:Cesium.Color.BLUE.withAlpha(1)});
     }
         terrainProfile.profile();
     }

### Methods

#### destroy()
MapGIS/Provider/TerrainProfile.js 607

结束剖面分析，清除场景对象

#### profile(start, success, fail)
MapGIS/Provider/TerrainProfile.js 87

开启地形剖切功能接口，左键画线，右键停止

Name | Type | Description
--- | --- | ---
`start` | function | 开始分析的回调函数
`success` | function | 分析成功的回调函数
`fail` | function | 分析失败的回调函数，分析超时后会调用

#### stopDrawing()
MapGIS/Provider/TerrainProfile.js 592

停止绘制 解决绘制一半后需要停止绘制问题 wanghan 20231010