ArcGis Engine制作点密度图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ArcGis Engine制作点密度图

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();

///////////////////////

///////////////////////////////////////////////////////////////////

//定义点密度图渲染组件

IDotDensityRenderer DotDensityRenderer = new DotDensityRendererClass();

//定义点密度图渲染组件对象的渲染字段对象

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 = 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 CartographicLineSymbolClass();

ddSym.Outline = pLineSymbol;

//定义符号数组

ISymbolArray symArray = (ISymbolArray)ddSym;

//添加点密度图渲染的点符号到符号数组中去

ISimpleMarkerSymbol pMarkerSymbol = new SimpleMarkerSymbolClass();

pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;

pMarkerSymbol.Size = 2;

pMarkerSymbol.Color = SymbolColor;;

symArray.AddSymbol(pMarkerSymbol as ISymbol );

//设置点密度图渲染的点符号

//DotDensityRenderer.DotDensitySymbol =symArray;

DotDensityRenderer.DotDensitySymbol = ddSym;

//确定一个点代表多少值

DotDensityRenderer .DotValue=0.2;

//点密度渲染采用的颜色模式

DotDensityRenderer.ColorScheme = "Custom";

//创建点密度图渲染图例

DotDensityRenderer.CreateLegend();

//设置符号大小是否固定

DotDensityRenderer.MaintainSize = true;

//将点密度图渲染对象与渲染图层挂钩

pGeoFeatureLayer.Renderer = (IFeatureRenderer)DotDensityRenderer;

//刷新地图和TOOCotrol

IActiveView pActiveView = axMapControl1.Map as IActiveView;

pActiveView.Refresh();

axTOCControl1.Update();

}

相关文档
最新文档