zoukankan      html  css  js  c++  java
  • IRasterClassifyColorRampRenderer 使用时的一些奇怪的地方 (转)

    1.IRasterClassifyColorRampRenderer 的Break设置方法

    IRasterClassifyColorRampRenderer这个接口是ArcEngine里对单波段栅格影像进行分类渲染的接口,这里的Break(也就是分断点)的设置有点奇怪,很容易用错,研究了一下,用法是这样的.

     

    一个简单的例子,一个0-255的波段图像,要分为三类,0-85,85-170,170-255,那么这个断点其实有四个,分别是0,85,170,255

     

    代码应该类似这样:

    [csharp] view plaincopy
     
    1. IRasterClassifyColorRampRenderer ccr = ...  
    2.   
    3. .....  
    4.   
    5. .....  
    6.   
    7. ccr.set_Break(0,0);  
    8. ccr.set_Label(0,"0-85");  
    9. ccr.set_Symbol(0,tmpSymbol1);  
    10.   
    11. ccr.set_Break(1,85);  
    12. ccr.set_Label(1,"85-170");  
    13. ccr.set_Symbol(1,tmpSymbol2);  
    14.   
    15. ccr.set_Break(2,170);  
    16. ccr.set_Label(2,"170-255");  
    17. ccr.set_Symbol(2,tmpSymbol2);  
    18.   
    19. ccr.set_Break(3,255);  

    2.Renderer生效前的一些调用

    在用语句使Renderer生效前,需要调用这样一些语句,不然经常会出些奇怪的问题:

    IRasterClassifyColorRampRenderer ccr = .....

    //这几句奇怪的语句,要调用一下

     ((IRasterRenderer)ccr).Raster = tarLyr.Raster;
     ccr.ClassCount = 4;
     ((IRasterRenderer)ccr).Update();

    //再进行赋值和计算

    ccr.set_Break...

    ccr.set_Label...

     tarLyr.Renderer = ccr as IRasterRenderer;
     map.Refresh(esriViewDrawPhase.esriViewAll);
     toc.Update();

    from: http://blog.csdn.net/rrrrssss00/article/details/8026600

  • 相关阅读:
    html_Dom
    html_javascript
    html_之css
    协程
    进程和线程的总结
    html_基础标签
    html_头部<meta>设置
    Python_queue单项队列
    Python_paramiko模块
    Python_多进程multiprocessing
  • 原文地址:https://www.cnblogs.com/yuxuetaoxp/p/3655251.html
Copyright © 2011-2022 走看看