唯一值渲染

public static void UniqueValueRenderer(ILayer layer)
  {
   IFeatureLayer pFLayer = layer  as IFeatureLayer;
   IGeoFeatureLayer geoLayer = layer as IGeoFeatureLayer;
   IFeatureClass fcls = pFLayer.FeatureClass;
   IQueryFilter pQueryFilter = new  QueryFilterClass();
   IFeatureCursor fCursor = fcls.Search(pQueryFilter,false);
   IRandomColorRamp rx = new RandomColorRampClass();
   rx.MinSaturation = 15;
   rx.MaxSaturation = 30;
   rx.MinValue = 85;
   rx.MaxValue = 100;
   rx.StartHue = 0;
   rx.EndHue = 360;
   rx.Size =100;
   bool ok;;
   rx.CreateRamp(out ok);
   IEnumColors RColors = rx.Colors;
   RColors.Reset();
   IUniqueValueRenderer pRender = new UniqueValueRendererClass();
   pRender.FieldCount=1;
   pRender.set_Field(0,"乡名");
   IFeature pFeat = fCursor.NextFeature();
   int index = pFeat.Fields.FindField("乡名");
   while(pFeat!=null)
   {
    ISimpleFillSymbol symd = new SimpleFillSymbolClass();
    symd.Style=esriSimpleFillStyle.esriSFSSolid;
    symd.Outline.Width=1;
    symd.Color = RColors.Next();
    string valuestr = pFeat.get_Value(index).ToString();
    pRender.AddValue(valuestr,valuestr,symd as ISymbol);
    pFeat = fCursor.NextFeature();
   }
   geoLayer.Renderer = pRender as IFeatureRenderer;
  }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值