资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
ArcEngine开发总结 2 矢量数据渲染ArcEngine开发总结-(2)矢量数据渲染2011年08月16日包括分级渲染、简单渲染、唯一值渲染、柱状图渲染、饼状图渲染 / / 生成分级渲染符号图 / / 分级字段 /分级信息数组 /分类起始值 / FeatureRenderer public IFeatureRenderer SetClassBreaksRenderer(string pFiledName, List ClassifyItems, double minBreak) IClassBreaksRenderer pClassBreaksRenderer; IFeatureRenderer pFeatureRenderer; pClassBreaksRenderer = new ClassBreaksRendererClass(); pClassBreaksRenderer.Field = pFiledName; if (minBreak != 0) pClassBreaksRenderer.MinimumBreak = minBreak; pClassBreaksRenderer.BreakCount = ClassifyItems.Count; for (int i = 0; i ClassifyItems.Count; i+) pClassBreaksRenderer.set_Symbol(i, ClassifyItemsi.ClassifySymbol); pClassBreaksRenderer.set_Break(i, Convert.ToDouble(ClassifyItemsi.Break); pClassBreaksRenderer.set_Label(i, ClassifyItemsi.Label); pClassBreaksRenderer.set_Description(i, ClassifyItemsi.Description); pFeatureRenderer = pClassBreaksRenderer as IFeatureRenderer; /ReleaseAE.ReleaseAEObject(pClassBreaksRenderer); return pFeatureRenderer; / / 生成唯一值渲染 / / 渲染字段 /唯一值信息数组 / public IFeatureRenderer SetUniqueValueRenderer(string pFiledName, List ClassifyItems) IUniqueValueRenderer pUniqueValueRender; IFeatureRenderer pFeatureRenderer; pUniqueValueRender = new UniqueValueRendererClass(); pUniqueValueRender.FieldCount = 1; pUniqueValueRender.set_Field(0,pFiledName); for (int i = 0; i ClassifyItems.Count; i+) if (ClassifyItemsi.ReferenceValue=null) pUniqueValueRender.AddValue(ClassifyItemsi.Break , pFiledName, ClassifyItemsi.ClassifySymbol); else pUniqueValueRender.AddReferenceValue(ClassifyItems i.Break, ClassifyItemsi.ReferenceValue); pUniqueValueRender.set_Label(ClassifyItemsi.Brea k, ClassifyItemsi.Label); pUniqueValueRender.set_Description(ClassifyItemsi .Break, ClassifyItemsi.Description); pFeatureRenderer = pUniqueValueRender as IFeatureRenderer; /ReleaseAE.ReleaseAEObject(pUniqueValueRender); return pFeatureRenderer; / / 生成简单渲染 / / 渲染符号 / 渲染标注 / 渲染描述 / FeatureRenderer public IFeatureRenderer SetSimpleRenderer(ISymbol symbol, string label, string description) ISimpleRenderer simpleRenderer; simpleRenderer = new SimpleRendererClass(); simpleRenderer.Symbol = symbol; simpleRenderer.Label = label; simpleRenderer.Description = description; return simpleRenderer as IFeatureRenderer; / / 柱状图渲染 / / 柱状图样式 / 展示字段数组 / 柱子最大高度对应的数值 / public IFeatureRenderer SetBarChartRenderer(ChartStyleClient chartStyle, string fields, double maxValue) string tempFields; string temp; IChartSymbol chartSymbol; IMarkerSymbol markerSymbol; tempFields = new stringfields.Length; temp = new stringfields.Length; IChartRenderer chartRenderer = new ChartRendererClass(); IRendererFields rendererFields = chartRenderer as IRendererFields; IBarChartSymbol barChartSymbol = new BarChartSymbolClass(); if (chartStyle.BarWidth != 0) barChartSymbol.Width = chartStyle.BarWidth; else barChartSymbol.Width = 5; if (chartStyle.BarSpacing != 0) barChartSymbol.Spacing = chartStyle.BarSpacing; else barChartSymbol.Spacing = 0; barChartSymbol.ShowAxes = chartStyle.HasAxes; I3DChartSymbol chartSymbol3D = barChartSymbol as I3DChartSymbol; chartSymbol3D.Display3D = chartStyle.Display3D; chartSymbol3D.Thickness = chartStyle.Thickness; chartSymbol = chartSymbol3D as IChartSymbol; chartSymbol.MaxValue = maxValue; markerSymbol = chartSymbol as IMarkerSymbol; if (chartStyle.BarMaxLength != 0) markerSymbol.Size = chartStyle.BarMaxLength; else markerSymbol.Size = 50; ISymbolArray symbolArray = barChartSymbol as ISymbolArray; for (int i = 0; i fields.Length; i+) if (fieldsi.Contains(.) tempFieldsi = fieldsi.Split(.)1; else tempFieldsi = fieldsi; for (int j = 0; j chartStyle.Items.Count; j+) if (chartStyle.Itemsj.Field.Contains(.) tempj = chartStyle.Itemsj.Field.Split(.)1; else tempj = chartStyle.Itemsj.Field; if (tempj = tempFieldsi) rendererFields.AddField(fieldsi, fieldsi); rendererFields.set_FieldAlias(i, chartStyle.Itemsj.Description); symbolArray.AddSymbol(chartStyle.Itemsj.Symbol); chartRenderer.UseOverposter = true; chartRenderer.ChartSymbol = chartSymbol3D as IChartSymbol; chartRenderer.CreateLegend(); /ReleaseAE.ReleaseAEObject(chartSymbol); /ReleaseAE.ReleaseAEObject(markerSymbol); /ReleaseAE.ReleaseAEObject(rendererFields); /ReleaseAE.ReleaseAEObject(barChartSymbol); /ReleaseAE.ReleaseAEObje
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号