斜面填挖方计算。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static CutFillResult CutFill( DatasetGrid sourceDatasetGrid, GeoLine3D line, double bufferRadius, bool isRoundHead, Datasource targetDatasource, string targetDatasetName ) |
参数
- sourceDatasetGrid
- Type: SuperMap.Data..::.DatasetGrid
指定的待填挖方的栅格数据集。
- line
- Type: SuperMap.Data..::.GeoLine3D
指定的填挖方路线。
- bufferRadius
- Type: System..::.Double
指定的填挖方线路的缓冲区半径。单位与待填挖的栅格数据集的坐标系单位相同。
- isRoundHead
- Type: System..::.Boolean
指定是否使用圆头缓冲为填挖方路线创建缓冲区。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
指定的存放结果数据集的数据源。
- targetDatasetName
- Type: System..::.String
指定的结果数据集的名称。
返回值
填挖方结果信息。备注
斜面填挖方功能是统计在一个地形表面创建一个斜面所需要的填挖量。其原理与选面填挖方相似。
示例
以下代码示范了如何进行斜面填挖方操作,获取填挖方结果信息。该方法通过一条三维几何线(GeoLine3D)来确定斜面填挖方的路线。示例中输出填挖方的基本结果信息,并返回结果数据集。
CopyC#
private DatasetGrid CutFillBySlope(DatasetGrid sourceDatasetGrid, GeoLine3D line3D, Datasource targetDatasource) { //设置结果栅格数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除 String targetDatasetName = "cutFillBySlope"; if (targetDatasource.Datasets.Contains(targetDatasetName)) { targetDatasource.Datasets.Delete(targetDatasetName); } //调用斜面填挖方方法,并获取填挖方结果信息 CutFillResult cutFillResult = CalculationTerrain.CutFill(sourceDatasetGrid, line3D, 100.0, false, targetDatasource, targetDatasetName); Double cutArea = cutFillResult.CutArea; Double cutVolume = cutFillResult.CutVolume; Double fillArea = cutFillResult.FillArea; Double fillVolume = cutFillResult.FillVolume; Double remainderArea = cutFillResult.RemainderArea; DatasetGrid resultDatasetGrid = cutFillResult.CutFillGridResult; String result = "挖掘面积:" + cutArea + "\n挖掘体积:" + cutVolume + "\n填充面积:" + fillArea + "\n填充体积:" + fillVolume + "\n未进行填挖方的面积:" + remainderArea; MessageBox.Show(result); return resultDatasetGrid; }