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视图渲染知识
|
4月前
|
JavaScript 定位技术 API
OpenLayers入门-第二篇、在vue3中使用elementplus制作图层控件,图层切换,显示隐藏,图层排序
OpenLayers入门-第二篇、在vue3中使用elementplus制作图层控件,图层切换,显示隐藏,图层排序
101 1
|
4月前
|
Android开发 开发者
Android开发之通过渲染纹理展示地球仪
该文阐述了如何使用OpenGL为三维物体添加纹理,以增强其真实感。纹理坐标是二维的,用于标记摊平后的“布料”对应物体的哪个部位,类似裁缝制作衣服的过程。在OpenGL中,启用纹理和深度测试是关键,还包括设置纹理参数、分配纹理编号、绑定位图材质等步骤。计算材质的纹理坐标后,通过`glDrawArrays`结合顶点和纹理坐标逐个贴图。最终示例展示了将世界地图贴到球体上形成逼真的地球仪效果。通过控制旋转、平移和缩放,能实现简单的三维动画效果。
58 2
Android开发之通过渲染纹理展示地球仪
|
4月前
|
测试技术 定位技术
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
【sgDragMoveTile】自定义组件:拖拽瓦片图、地图、大图,滚动条对应同步滚动
|
4月前
|
测试技术
【sgTileImage】自定义组件:瓦片图拖拽局部加载、实现以鼠标为中心缩放
【sgTileImage】自定义组件:瓦片图拖拽局部加载、实现以鼠标为中心缩放
|
前端开发 JavaScript 定位技术
基于OpenLayers实现导航地图上(起/终)点的交互式图标显示
基于OpenLayers实现导航地图上(起/终)点的交互式图标显示
309 0
基于OpenLayers实现导航地图上(起/终)点的交互式图标显示
|
定位技术
openlayers控制地图显示范围
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/83108903 openlaye...
2859 0
|
移动开发 定位技术
leaflet加载视频图层
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gisdoer/article/details/82863039 适用场景: 动态云图 台风、风场、地图变迁等 原理: h5 video标签 L.
1096 0
|
缓存 定位技术
arcgis添加瓦片图层解决图层加载缓慢问题
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/74036374        为了提高用户浏览地图信息的速度,地图模版创建完成后,需要对地图模版进行发布,然后进行切片处理,即把发布后的地图模版按照一定的比例尺切成地图图片。
1977 0
|
JavaScript 定位技术
基于AGS JS开发自定义贴图图层
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 假设一个景区有多张图片需要在地图上展示,并且随着地图的缩放而缩放(不是单纯的以气泡来展示)。
896 0