等级渲染
来源:互联网 发布:晴天软件 编辑:程序博客网 时间:2024/04/28 09:41
等级渲染
private void 等级图ToolStripMenuItem_Click(object sender, EventArgs e) { //获取当前图层 ,并把它设置成IGeoFeatureLayer的实例 IMap pMap = axMapControl1.Map; ILayer pLayer = pMap.get_Layer(0) as IFeatureLayer; IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer; IGeoFeatureLayer pGeoFeatureLayer = pLayer as IGeoFeatureLayer; //获取图层上的feature IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false); IFeature pFeature = pFeatureCursor.NextFeature(); ////////////////////////////////////////////////////////////////////// //定义所需的接口对象和相关变量 IClassBreaksUIProperties pUIProperties; object dataValues; object dataFrequency; //double[] cb; int breakIndex; long ClassesCount; int numClass; numClass = 10; double[] Classes; ////////////////////////////////////////////////////////////////////// /* We're going to retrieve frequency data from a population field and then classify this data*/ ITable pTable; pTable = pFeatureClass as ITable; IBasicHistogram pBasicHist = new BasicTableHistogram(); ITableHistogram pTableHist; pTableHist = (ITableHistogram)pBasicHist; //Get values and frequencies for the population field into a table histogram object pTableHist.Field = "ID"; pTableHist.Table = pTable; pBasicHist.GetHistogram(out dataValues, out dataFrequency); IClassifyGEN pClassifyGEN = new Quantile(); pClassifyGEN.Classify(dataValues, dataFrequency, ref numClass); Classes = (double[])pClassifyGEN.ClassBreaks; ClassesCount = long.Parse(Classes.GetUpperBound(0).ToString()); //Initialise a new class breaks renderer and supply the number of class breaks and the field to perform the class breaks on. IClassBreaksRenderer pClassBreaksRenderer = new ClassBreaksRenderer(); pClassBreaksRenderer.Field = "ID"; //pClassBreaksRenderer.BreakCount = ClassesCount; pClassBreaksRenderer.MinimumBreak = Classes[0]; pClassBreaksRenderer.SortClassesAscending = true; //设置着色对象的分级数目 pClassBreaksRenderer.BreakCount = int.Parse(ClassesCount.ToString()); //创建并设置随机色谱 IAlgorithmicColorRamp pColorRamp = new AlgorithmicColorRamp(); pColorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; IEnumColors pEnumColors; IRgbColor pColor1 = new RgbColor(); IRgbColor pColor2 = new RgbColor(); pColor1.Red = 255; pColor1.Green = 210; pColor1.Blue = 210; pColor2.Red = 190; pColor2.Green = 0; pColor2.Blue = 170; pColorRamp.FromColor = pColor1; pColorRamp.ToColor = pColor2; pColorRamp.Size = numClass; bool ok = true; pColorRamp.CreateRamp(out ok); pEnumColors = pColorRamp.Colors; pEnumColors.Reset();// use this interface to set dialog properties pUIProperties = pClassBreaksRenderer as IClassBreaksUIProperties; pUIProperties.ColorRamp = "Custom"; ISimpleFillSymbol pSimpleMarkerSymbol = new SimpleFillSymbol(); IColor pColor; int[] colors = new int[numClass]; // be careful, indices are different for the diff lists for (breakIndex = 0; breakIndex < ClassesCount; breakIndex++) { pClassBreaksRenderer.set_Label(breakIndex, Classes[breakIndex] + " - " + Classes[breakIndex + 1]); pUIProperties.set_LowBreak(breakIndex, Classes[breakIndex]); pSimpleMarkerSymbol = new SimpleFillSymbol(); pColor = pEnumColors.Next(); pSimpleMarkerSymbol.Color = pColor; colors[breakIndex] = pColor.RGB; pClassBreaksRenderer.set_Symbol(breakIndex, (ISymbol)pSimpleMarkerSymbol); pClassBreaksRenderer.set_Break(breakIndex, Classes[breakIndex + 1]); } //将等级图渲染对象与渲染图层挂钩 pGeoFeatureLayer.Renderer = (IFeatureRenderer)pClassBreaksRenderer; //刷新地图和TOOCotrol IActiveView pActiveView = axMapControl1.Map as IActiveView; pActiveView.Refresh(); }
0 0
- 等级渲染
- 等级
- 渲染
- 渲染
- 渲染
- 渲染
- 等级图标
- 课件等级
- 等级考试!!!
- 星星等级
- 翡翠等级
- Java等级
- 成绩等级
- 公差等级
- 公差等级
- log等级
- 软件工程师等级
- 屏幕分辨率等级
- 进程 与 线程
- hdu 3810 Magina 队列优化的0-1背包t
- 黑马程序员——Java高新知识——反射
- 浅谈算法和数据结构: 五 优先级队列与堆排序
- 行列式 与 n维平行多面体体积 公式的证明 determinant volume proof
- 等级渲染
- 在Mifare S50中,如果第2区的访问控制码为FF 07 80 69,分析该区块1的访问的控制条件
- 浅谈算法和数据结构: 六 符号表及其基本实现
- 从windows登录linux方式及工具
- 浅谈算法和数据结构: 七 二叉查找树
- Jquery的Ajax参数详解
- NSSet类型简介
- Android技术——数据库(三):SQLite数据库应用实例
- Android WIFI DEMO(扫描附近WIFI强度)