ArcEngine如何获取mxd中feature所在图层的渲染方式

        mxd中存储的是各类数据的渲染样式等,不存储数据本身,在ArcEngine中在增加或者其他编辑的时候,需要获取到feature所在图层的渲染样式,下面是博主在参考其他资料的基础上实现的获取mxd中图层的渲染方式:

        IFeatureClass featureClass = null;
        IObjectClass objectClass = feature.Class;
        featureClass = objectClass as IFeatureClass;  //获取feature所在的featureClass

        IGeoFeatureLayer layer = featureLayer as IGeoFeatureLayer;
        IFeatureRenderer featureRenderer = layer.Renderer;
        ISymbol symbol = null;

        if (featureRenderer is IUniqueValueRenderer)
        {
            IUniqueValueRenderer uniqueValueRenderer = featureRenderer as IUniqueValueRenderer;
            symbol = uniqueValueRenderer.DefaultSymbol;
        }
        if (featureRenderer is ISimpleRenderer)
        {
            ISimpleRenderer simpleRender = featureRenderer as ISimpleRenderer;
            symbol = simpleRender.Symbol;
        }   //获取渲染方式

 

    ISymbol symbol = null;
      if (featureRenderer is IUniqueValueRenderer)
      {
          IUniqueValueRenderer uniqueValueRenderer = featureRenderer as IUniqueValueRenderer;
          symbol = uniqueValueRenderer.DefaultSymbol;
      }
      if (featureRenderer is ISimpleRenderer)
      {
          ISimpleRenderer simpleRender = featureRenderer as ISimpleRenderer;
          symbol = simpleRender.Symbol;
      }  //获取渲染样式
      
 

转载自:https://blog.csdn.net/longronggis/article/details/8100548

You may also like...