栅格数据渲染_第1页
栅格数据渲染_第2页
栅格数据渲染_第3页
栅格数据渲染_第4页
栅格数据渲染_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、using System;using ESRI. ArcGIS.Carto;using ESRI. ArcGIS ? DataSourcesRaster:using ESRI. ArcGIS .Display;using ESRI. ArcGIS ? Geodatabase;using ESRI. ArcGIS ? esriSystem;using DevComponents ? DotNetBar ? Controls:namespace CASC? Class/summary)/ 渲染栅格图层/summary)class RenderRasterLayerILayer pLayerR;pu

2、blic RenderRasterLayer(ILayer pLayer) this ? pLayerR = pLayer;/summary)/ RGB 渲染,必须为多波段影像/public void RGBRenderer(int bandred, int bandgreen, int bandblue, int alpha, int styleindex, int param, bool backgorund, IColor pcolor)IRasterLayer rasterLayer = this ? pLayerR as IRasterLayer;IRaster raster = r

3、asterLayer.Raster;IRasterBandCo11ection bandCol = raster as IRasterBandCo11ection;if (bandCo1. Count T)rasterRGBRen. UseRedBand = true;rasterRGBRen. RedBandlndex = bandred;elserasterRGBRen. UseRedBand = false;if (bandgreen T)rasterRGBRen. UseGreenBand = true;rasterRGBRen. GreenBandlndex = bandgreen;

4、elseif (bandblue T) rasterRGBRen. UseBlueBand = true; rasterRGBRen. BlueBandlndex = bandblue; elserasterRGBRen. UseBlueBand = false;if (alpha 1)rasterRGBRen. UseAlphaBand = true; rasterRGBRen. AlphaBandlndex = alpha;elseIRasterStretch2 rasterStretchType = (IRasterStretch2)rasterRGBRen; if (styleinde

5、x =0)rasterStretchType ? StretchType =esriRasterStretchTypesEnum ? esriRasterStretch_StandardDeviations;rasterStretchType ? StandardDeviationsPagm = param;else if (styleindex = 1)rasterStretchTypeStretchType =esriRasterStretchTypesEnumesriRasterStretch_HistogramEqualize;else if (styleindex 二二 2)rast

6、erStretchTypeStretchType =esriRasterStretchTypesEnumesriRasterStretch_HistogramSpecification;else if (styleindex = 3)rasterStretchType ? StretchType = esriRasterStretchTypesEnum ? esriRasterStretch_MinimumMaximum;elserasterStretchType ? StretchType =esriRasterStretchTypesEnum ? esriRasterStretch_NON

7、E;rasterStretchType .Invert = true;rasterStretchType .Background = backgorund;rasterStretchType ? BdckgroundColor = pcolor;rasterRen. Update ();/summary)/ 分类色带渲染/ 分类数 / param/public void ClassifyColorRampRenderer( IColorRamp colorRamp, string classfield, DataGridviewX datagridview)tryIRasterLayer pR

8、asterLayer = this? pLayerR as IRasterLayer;IRaster raster = pRasterLayer.Raster;IRasterRenderer pRasterRenderer = newRasterClassifyColorRampRendererClass();pRasterRenderer .Raster = raster;IRasterClassifyColorRampRenderer classifyRenderer = pRasterRendereras IRasterClassifyColorRampRenderer;classify

9、Renderer ? ClassCount = classcount: classifyRenderer .ClassField = classfield;Celfor (int i二 0; i datagridview ? RowCount; i+)classifyRenderer ? set_Break(i, double ? Parse ( datagridview. Rowsi ls0. Value. ToS tring ():pRasterRenderer ? Update();colorRamp .Size = 15;bool pOk;colorRamp ? CreateRamp(

10、out pOk);/create symbol for the classesIFillSymbol fillSymbol = new SimpleFillSymbolClass();for (int i 二 0; i classifyRenderer ? ClassCountT; i+) fillSymbol ? Color = colorRamp ? get_Color(i);classifyRenderer ? setASymbol(i, (ISymbol)fillSymbol);classifyRenderer ? set_Label(i, class if yRenderer ? g

11、et_B:re3k(i) ? ToStringO + + datagridview ? Rowsi ? Cells 1 ? Value. ToStringO) pRasterLayer ? Rendered = classifyRenderer as IRasterRenderer; catch/summary)/ 色带渲染,类似于拉伸渲染 , 这里没找到相应方法/summary) public void ColorMapRenderer() trypLayerR as IRasterLayer;IRasterLayer pRasterLayer = thisIRasterRenderer p

12、RasterRenderer = new RasterColormapRendererClass();pRasterRenderer .Raster = pRasterLayer .Raster;catch/ 唯一值渲染/public void UniqueValueRenderer(IColorRamp colorRamp, string renderfiled)trypLayerR as IRasterLayer;IRasterLayer pRasterLayer = thisIRasterRenderer pRasterRenderer = uniqueValueRenderer asI

13、RasterRenderer;IUniqueValues uniqueValues = new UniqueValuesClass();IRasterCalcUniqueValues calcUniqueValues = newRasterCalcUniqueValuesClass();calcUniqueValues ? AddFromRaster(pRasterLayer ? Raster, 0, uniqueValues);IRasterRendererUniqueValues renderUniqueValues =uniqueValueRenderer as IRasterRende

14、rerUniqueValues:FieldrenderUniqueValues .UniqueValues = uniqueValues: uniqueValueRenderer= renderfiled; colorRamp .Size = uniqueValues .Count; bool pOk; colorRampGreateRamp(out pOk); IRasterRendererColorRamp pRasterRendererColorRamp = uniqueValueRenderer as IRasterRendererColorRamp; pRasterRendererC

15、olorRampColorRamp = colorRamp; pRasterRenderer ? Update();catch/ 拉伸渲染/param name 二 colorRamp 色带 public void StretchColorRampRenderer(IColorRamp colorRamp, int bandindex, bool background, int strechstyle, int parm, IColor pcolor)tryIRasterLayer pRasterLayer = this ? pLayerR as IRasterLayer;IRasterRen

16、derer pRasterRenderer = new RasterStretchColorRampRendererClass();IRasterStretchColorRampRenderer pRasterStretchRenderer = pRasterRenderer as IRasterStretchColorRampRenderer;IRasterStretch2 rasterStretchType = pRasterStretchRenderer as IRasterStretch2;if ( strechstyle 二二 0)rasterStretchType ? StretchType =esriRasterStretchTypesEnum ? esriRasterStretch_StandardDeviations;rasterStre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论