ArcGIS Engine 10 开发手册(7-12)ArcGIS Engine中点状图的调用

本文目录
  • 正文

本文介绍使用ArcGIS Engine生成点状图的方法。

ArcGIS Engine生成点状图示例代码

代码如下:

public class DotRender

{

  IGeoFeatureLayer pGeoLayer;

  IDotDensityRenderer pDotDensityRenderer; //渲染对象

  IDotDensityFillSymbol pDotDensityFill; //渲染填充符号对象,大对象分解小对象, 独立的可看作对象。

  IRendererFields pRendFields; //用那个字段渲染。理解层次关系。 
  ISymbolArray pSymbolArry;

  public DotRender (AxMapControl pMapControl, IFeatureLayer pFtLayer, double pValue, string pFieldName)

  {

    IActiveView pActiveView;

    this.pGeoLayer = pFtLayer as IGeoFeatureLayer;
    pActiveView = pMapControl.ActiveView;
    pDotDensityRenderer = new DotDensityRendererClass ();
    pRendFields = pDotDensityRenderer as IRendererFields;

    pRendFields.AddField (pFieldName, pFieldName); //同一个对象的接口的切换,很方便的。

    this.pDotDensityFill = new DotDensityFillSymbolClass ();
    pDotDensityFill.DotSize = 2.46;

    pDotDensityFill.Color = GetRGBColor (0, 100, 0);
    pDotDensityFill.BackgroundColor = GetRGBColor (255, 255, 255);
    pSymbolArry = pDotDensityFill as ISymbolArray; //难道是密度。

    ISimpleMarkerSymbol pSimpleMark;
    pSimpleMark = new SimpleMarkerSymbolClass ();

    pSimpleMark.Style = esriSimpleMarkerStyle.esriSMSDiamond;
    pSimpleMark.Size = 2.46;

    pSimpleMark.Color = GetRGBColor (235, 190, 89);
    pSymbolArry.AddSymbol (pSimpleMark as ISymbol);
    pDotDensityRenderer.DotDensitySymbol = pDotDensityFill;
    pDotDensityRenderer.DotValue = pValue;

    pDotDensityRenderer.CreateLegend ();

    pGeoLayer.Renderer = (IFeatureRenderer) pDotDensityRenderer;

    pActiveView.PartialRefresh (esriViewDrawPhase.esriViewGeography, null, null);

  }

  public IRgbColor GetRGBColor (int r, int g, int b)

  {

    IRgbColor pRGB;

    pRGB = new RgbColorClass ();
    pRGB.Red = r;

    pRGB.Green = g;
    pRGB.Blue = b;
    return pRGB;

  }

}

效果如图

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

如果本文对你有所帮助,欢迎对我们团队进行打赏捐助,让我们在传播3S的路上可以走得更远。
赞赏支持
微信捐助麻辣GIS 支付宝捐助麻辣GIS

麻辣GIS-Sailor
作者:
GIS爱好者,学GIS,更爱玩GIS。

如您有疑问,可在文末留言,或到QQ群提问。

本站QQ群(一):291616564 麻辣GIS

本站QQ群(二):166408035 麻辣GIS(二)

微信公众号:malagis,扫描右边二维码直接关注。

发表评论