《C#专题图代码》由会员分享,可在线阅读,更多相关《C#专题图代码(18页珍藏版)》请在金锄头文库上搜索。
1、 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 IGeoFeature
2、Layer; /获取图层上的feature IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false); IFeature pFeature = pFeatureCursor.NextFeature(); / / /定义点密度图渲染组件 IDotDensityRenderer DotDensityRenderer = new DotDensityRendererClass(); /定义点密度图渲染组件对象的渲
3、染字段对象 IRendererFields flds = (IRendererFields)DotDensityRenderer; flds.AddField(FID, FID); /flds.AddField(Shape, Shape); /定义点密度图渲染得符号对象 IDotDensityFillSymbol ddSym = new DotDensityFillSymbolClass(); IRgbColor BackColor = new RgbColorClass(); BackColor.Red = 234; BackColor.Blue = 128; BackColor.Green
4、 = 220; IRgbColor SymbolColor = new RgbColorClass(); SymbolColor.Red = 234; SymbolColor.Blue = 128; SymbolColor.Green = 220; /点密度图渲染背景颜色 /ddSym.BackgroundColor = BackColor; ddSym.DotSize =8; ddSym.FixedPlacement = true; /ddSym.Color = SymbolColor; ILineSymbol pLineSymbol=new CartographicLineSymbolCl
5、ass(); ddSym.Outline = pLineSymbol; /定义符号数组 ISymbolArray symArray = (ISymbolArray)ddSym; /添加点密度图渲染的点符号到符号数组中去 ISimpleMarkerSymbol pMarkerSymbol = new SimpleMarkerSymbolClass(); pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle; pMarkerSymbol.Size = 2; pMarkerSymbol.Color = SymbolColor; symAr
6、ray.AddSymbol(pMarkerSymbol as ISymbol ); /设置点密度图渲染的点符号 /DotDensityRenderer.DotDensitySymbol =symArray; DotDensityRenderer.DotDensitySymbol = ddSym; /确定一个点代表多少值 DotDensityRenderer .DotValue=0.2; /点密度渲染采用的颜色模式 DotDensityRenderer.ColorScheme = Custom; /创建点密度图渲染图例 DotDensityRenderer.CreateLegend(); /设置
7、符号大小是否固定 DotDensityRenderer.MaintainSize = true; /将点密度图渲染对象与渲染图层挂钩 pGeoFeatureLayer.Renderer = (IFeatureRenderer)DotDensityRenderer; /刷新地图和TOOCotrol IActiveView pActiveView = axMapControl1.Map as IActiveView; pActiveView.Refresh(); axTOCControl1.Update(); private void 分层设色ToolStripMenuItem_Click(obj
8、ect 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 pFeatureC
9、lass = pFeatureLayer.FeatureClass; IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false); IFeature pFeature = pFeatureCursor.NextFeature(); / IFeatureRenderer PR=pGeoFeatureLayer.Renderer; /JoinData(县级区域, DZGB, sectioncode); /join外部表 / int DC ; int desiredClasses = 5; string fieldName =
10、AREA; int classesCount; double classes; string strOutput = ; bool ok; object dataFrequency; object dataValues; ITable pTable ; /IClassify pClassify; EqualIntervalClass pClassify; /IBasicHistogram pTableHistogram = new BasicTableHistogramClass(); /IHistogram pTableHistogram = new BasicTableHistogramC
11、lass(); ITableHistogram pTableHistogram = new BasicTableHistogramClass() as ITableHistogram; IBasicHistogram pHistogram; IClassBreaksRenderer pClassBreaksRenderer; IHsvColor pFromColor; IHsvColor pToColor; IAlgorithmicColorRamp pAlgorithmicColorRamp; IEnumColors pEnumColors; IColor pColor; ISimpleFillSymbol pSimpleFillSymb