根据给定的颜色集合生成正射三维影像。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static DatasetImage CalculateOrthoImage( DatasetGrid sourceDatasetGrid, Colors colors, Color noValueColor, Datasource targetDatasource, string targetDatasetName ) |
参数
- sourceDatasetGrid
- Type: SuperMap.Data..::.DatasetGrid
指定的待计算正射三维影像的 DEM 栅格。
- colors
- Type: SuperMap.Data..::.Colors
指定的三维投影后的颜色集合。
- noValueColor
- Type: System.Drawing..::.Color
指定的无值栅格的颜色。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
指定的用于存储输出结果的数据源。
- targetDatasetName
- Type: System..::.String
指定的结果数据集的名称。
返回值
正射三维影像。备注
该方法是通过周边邻近栅格的高程计算每个栅格点的合理日照强度,再结合栅格点的高程所对应的颜色表中的基础颜色,将DEM渲染为正射影像。
示例
以下代码示范了如何对给定的 DEM 栅格计算三维正射影像,并返回计算结果(一个影像数据集)。
CopyC#
private DatasetImage OrthoImageCalculate(DatasetGrid sourceDatasetGrid, Datasource targetDatasource) { //设置结果栅格数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除 String targetDatasetName = "orthoImage"; if (targetDatasource.Datasets.Contains(targetDatasetName)) { targetDatasource.Datasets.Delete(targetDatasetName); } //创建正射影像的颜色集合 Colors colors = new Colors(); colors = Colors.MakeGradient(20, ColorGradientType.Terrain, true); //设置无值的颜色 Color noValueColor = Color.FromArgb(215, 215, 215); //调用正射三维影像计算方法,并获取计算结果影像数据集 DatasetImage resultDatasetIamge = CalculationTerrain.CalculateOrthoImage(sourceDatasetGrid, colors, noValueColor, targetDatasource, targetDatasetName); return resultDatasetIamge; }