前几天忙着翻译外文文献,有些专业术语总觉得翻译欠妥。查阅资料后,现在总结一下。
-------------------------------
ArcGIS Engine9.3对GIS数据的符号化分为矢量数据渲染和栅格数据渲染两大类。
接下来分别介绍FeatureRender和RasterRender。
1.FeatureRender对象
要素符号化类型 | 描述 |
SimpleRender | 简单符号化 |
UniqueValueRender | 唯一值符号化 |
BiUniqueValueRender | 双变量唯一值符号化 |
ChartRender | 图表符号化 |
ClassBreaksRenderer | 分类等级符号化 |
DotDensityRenderer | 点密度符号化 |
ProportionalSymbolRender | 根据属性值设置符号大小进行符号化 |
ScaleDependentRenderer | 依比例尺符号化 |
RepresentationRenderer | 制图表达符号化 |
CoTrackSymbologyRenderer | 轨迹符号化(应用于TrackingAnaylyst扩展模块) |
EnhancedInfoRenderder(TrackingAnalyst) | 增强信息符号化(应用于TrackingAnaylyst扩展模块) |
UniqueValueTextRenderer(TrackingAnalyst) | 唯一值文本符号化(应用于TrackingAnaylyst扩展模块) |
NAStopRenderer(NetworkAnalyst) | 停止符号化(应用于网络分析扩展模块) |
FeatureVertexRenderer(SurveyExt) | 要素定点符号化(应用于测量分析扩展模块) |
SharedEdgeRenderer(EditorExt) | 用于绘制拓扑元素 |
2.RasterRender对象
- RasterRender是一个抽象类,它有15个子类负责进行不同类型的着色运算。它们都实现了IRasterRender接口,这个接口定义了栅格图层符号化的公共属性和方法。可以通过IRasterLayer::Renderer属性获得一个栅格图层的符号化对象。
要素符号化类型 | 描述 |
RasterRGBRenderer | 栅格RGB符号化 |
RasterUniqueValueRendere | 唯一值符号化 |
RasterColormapRenderer | 双变量唯一值符号化 |
RasterClassifyColorRampR | 图表符号化 |
RasterStretchColorRampRe | 分类等级符号化 |
RasterDiscreteColorRende | 点密度 符号化 |
<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);
}
}