ArcEngine图层渲染

简介: 版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/9175991 矢量符号化(渲染...
版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/9175991

矢量符号化(渲染)类型

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

栅格符号化(渲染)类型

  要素符号化类型 描述
1    RasterRGBRenderer 真彩色RGB符号化
RasterUniqueValueRenderer 唯一值符号化
RasterColormapRenderer 色彩对照表符号化                               
4 RasterClassifyColorRampRenderer 分类值等级符号化
5 RasterStretchColorRampRenderer 连续值等级符号化
6 RasterDiscreteColorRenderer 离散色彩符号化

部分示例代码:

UniqueValueRender    唯一值渲染


        private void UniqueRender(IFeatureLayer featureLayer)
        {
            IUniqueValueRenderer uniqueValueRenderer = new UniqueValueRenderer();
            // 判断唯一的字段数量(1-3个),必须设置。
            uniqueValueRenderer.FieldCount = 1;
            uniqueValueRenderer.set_Field(0, "FieldName");
            
            // 设置填充样式。
            IFillSymbol fillSymbol = new SimpleFillSymbol();            
            fillSymbol.Color = new RgbColor() { Red = 255, Green = 0, Blue = 0 };
            uniqueValueRenderer.AddValue("30", "", (ISymbol)fillSymbol);
            fillSymbol = new SimpleFillSymbol();
            fillSymbol.Color = new RgbColor() { Red = 0, Green = 255, Blue = 0 };
            uniqueValueRenderer.AddValue("40", "", (ISymbol)fillSymbol);
            fillSymbol = new SimpleFillSymbol();
            fillSymbol.Color = new RgbColor() { Red = 0, Green = 0, Blue = 255 };
            uniqueValueRenderer.AddValue("50", "", (ISymbol)fillSymbol);

            // 图层设置渲染。
            var featureRenderer = (IFeatureRenderer) uniqueValueRenderer;
            var geoFeatureLayer = (IGeoFeatureLayer) featureLayer;
            geoFeatureLayer.Renderer = featureRenderer;
        }


ClassBreaksRenderer    分类等级渲染


        private void ClassBreaksRenderer(IFeatureLayer featureLayer)
        {
            IClassBreaksRenderer classBreaksRenderer = new ClassBreaksRenderer();
            classBreaksRenderer.Field = "FieldName";
            // 必须设置分类数量。
            classBreaksRenderer.BreakCount = 4;
            classBreaksRenderer.set_Break(0, 35);
            classBreaksRenderer.set_Break(1, 45);
            classBreaksRenderer.set_Break(2, 50);

            // 设置填充样式。
            IFillSymbol fillSymbol = new SimpleFillSymbol();
            fillSymbol.Color = new RgbColor() {Red = 255, Green = 0, Blue = 0};
            classBreaksRenderer.set_Symbol(0, (ISymbol)fillSymbol);
            fillSymbol = new SimpleFillSymbol();
            fillSymbol.Color = new RgbColor() {Red = 0, Green = 255, Blue = 0};
            classBreaksRenderer.set_Symbol(1, (ISymbol)fillSymbol);
            fillSymbol = new SimpleFillSymbol();
            fillSymbol.Color = new RgbColor() {Red = 0, Green = 0, Blue = 255};
            classBreaksRenderer.set_Symbol(2, (ISymbol)fillSymbol);

            // 图层设置渲染。
            var featureRenderer = (IFeatureRenderer)classBreaksRenderer;
            var geoFeatureLayer = (IGeoFeatureLayer) featureLayer;
            geoFeatureLayer.Renderer = featureRenderer;
        }

DotDensityRenderer    点密度渲染


        private void DotDensityRenderer(IFeatureLayer featureLayer)
        {
            IDotDensityRenderer dotDensityRenderer = new DotDensityRendererClass();
            // 一个点代表多大的值。(例:值为100,则会填充50个点)
            dotDensityRenderer.DotValue = 2;
            var rendererFields = (IRendererFields)dotDensityRenderer;
            rendererFields.AddField("FieldName");

            // 设置点样式。
            IDotDensityFillSymbol dotDensityFillSymbol = new DotDensityFillSymbol();
            
            IMarkerSymbol markerSymbol = new SimpleMarkerSymbol();
            markerSymbol.Color = new RgbColor() { Red = 255, Green = 0, Blue = 0 };
            markerSymbol.Size = 2;

            var symbolArray = (ISymbolArray) dotDensityFillSymbol;
            symbolArray.AddSymbol((ISymbol)markerSymbol);

            dotDensityRenderer.DotDensitySymbol = dotDensityFillSymbol;
            
            // 图层设置渲染。
            var featureRenderer = (IFeatureRenderer) dotDensityRenderer;
            var geoFeatureLayer = (IGeoFeatureLayer)featureLayer;
            geoFeatureLayer.Renderer = featureRenderer;
        }







相关文章
|
编解码
Blender视图渲染知识
Blender视图渲染知识
Blender视图渲染知识
|
2月前
|
监控
ThreeJs限制模型拖动的范围
这篇文章讲解了在Three.js中如何限制模型拖动的范围,确保模型在特定边界内移动,提供了实现拖动限制的代码示例和技术细节。
54 1
ThreeJs限制模型拖动的范围
|
7月前
|
JavaScript 定位技术 API
OpenLayers入门-第二篇、在vue3中使用elementplus制作图层控件,图层切换,显示隐藏,图层排序
OpenLayers入门-第二篇、在vue3中使用elementplus制作图层控件,图层切换,显示隐藏,图层排序
138 1
|
7月前
|
测试技术 定位技术
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
|
7月前
|
测试技术
【sgTileImage】自定义组件:瓦片图拖拽局部加载、实现以鼠标为中心缩放
【sgTileImage】自定义组件:瓦片图拖拽局部加载、实现以鼠标为中心缩放
|
图形学
|
编解码 图形学 Python
ArcMap:如何渲染一幅精美的地形图
ArcMap:如何渲染一幅精美的地形图
297 1
平面设计实验五 图层及图层混合模式
平面设计实验五 图层及图层混合模式
90 0
|
机器学习/深度学习 前端开发
WEBGL学习【十四】利用HUD技术在网页上方显示三维物体
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/79035579 ...
1003 0