ArcGIS Engine开发教程之图层符号化之Renderer( 渲染)体系

  前几天忙着翻译外文文献,有些专业术语总觉得翻译欠妥。查阅资料后,现在总结一下。

-------------------------------

ArcGIS Engine9.3对GIS数据的符号化分为矢量数据渲染和栅格数据渲染两大类。

接下来分别介绍FeatureRender和RasterRender。

1.FeatureRender对象
    FeatureRenderer是一个抽象类,它有15个子类负责进行不同类型的着色运算。它们都实现了IFeatureRenderer接口,这个接口定义了进行要素图层符号化的公共属性和方法。
    可以通过IGeoFeatureLayer::Renderer属性获得一个要素图层的符号化对象


要素符号化类型
描述
SimpleRender
简单符号化
UniqueValueRender
唯一值符号化
BiUniqueValueRender
双变量唯一值符号化
ChartRender
图表符号化
ClassBreaksRenderer
分类等级符号化
DotDensityRenderer
点密度符号化
ProportionalSymbolRenderer
根据属性值设置符号大小进行符号化
ScaleDependentRenderer
依比例尺符号化
RepresentationRenderer
制图表达符号化
CoTrackSymbologyRenderer(TrackingAnalyst)
轨迹符号化(应用于TrackingAnaylyst扩展模块)
EnhancedInfoRenderder(TrackingAnalyst)
增强信息符号化(应用于TrackingAnaylyst扩展模块)
UniqueValueTextRenderer(TrackingAnalyst)
唯一值文本符号化(应用于TrackingAnaylyst扩展模块)
NAStopRenderer(NetworkAnalyst)
停止符号化(应用于网络分析扩展模块)
FeatureVertexRenderer(SurveyExt)
要素定点符号化(应用于测量分析扩展模块)
SharedEdgeRenderer(EditorExt)
用于绘制拓扑元素

2.RasterRender对象

- RasterRender是一个抽象类,它有15个子类负责进行不同类型的着色运算。它们都实现了IRasterRender接口,这个接口定义了栅格图层符号化的公共属性和方法。可以通过IRasterLayer::Renderer属性获得一个栅格图层的符号化对象。

要素符号化类型
描述
RasterRGBRenderer
栅格RGB符号化
RasterUniqueValueRenderer
唯一值符号化
RasterColormapRenderer
双变量唯一值符号化
RasterClassifyColorRampRenderer
图表符号化
RasterStretchColorRampRenderer
分类等级符号化
RasterDiscreteColorRenderer
点密度 符号

<span style="font-size:18px;">
</span>
<span style="font-size:18px;">以下代码片段是对一个RasterLayer进行RasterStretchColorRampRenderer符号化操作:</span>

///
/// StretchColorRamp符号化RasterLayer
///
///RasterLayer
publicvoid SetStretchColorRampRenderer(IRasterLayer pRasterLayer)
{
try
{
//创建RasterStretchColorRampRendererClass对象
IRasterStretchColorRampRenderer pRStretchRender=newRasterStretchColorRampRendererClass();
//QI到IRasterRenderer
IRasterRenderer pRasterRender=pRStretchRenderas IRasterRenderer;
pRasterRender.Raster = pRasterLayer asIRaster;
pRasterRender.Update();
//创建两个起始颜色
IRgbColor pFromRgbColor =new RgbColorClass();
pFromRgbColor.Red = 255;
IRgbColor pToRgbColor =new RgbColorClass();
pToRgbColor.Blue = 255;
//创建起止颜色带
IAlgorithmicColorRamp pAlgorithmicColorRamp =newAlgorithmicColorRampClass();
pAlgorithmicColorRamp.Size = 255;
pAlgorithmicColorRamp.FromColor = pFromRgbColor asIColor;
pAlgorithmicColorRamp.ToColor = pToRgbColor asIColor;
bool btrue=true;
pAlgorithmicColorRamp.CreateRamp(out btrue);
//选择拉伸颜色带符号化的波段
pRStretchRender.BandIndex = 0;
//设置拉伸颜色带符号化所采用的颜色带
pRStretchRender.ColorRamp = pAlgorithmicColorRamp asIColorRamp;
pRasterRender.Update();
//符号化RasterLayer
pRasterLayer.Renderer = pRasterRender;
}
catch(Exception Err)
{
    MessageBox.Show(Err.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}



你可能感兴趣的:(ArcGIS Engine开发教程之图层符号化之Renderer( 渲染)体系)