GP工具IDW执行后,生成的栅格图层是黑白二色,需要手动进行分级渲染,似乎不是所有栅格图层都可以进行分级渲染,注意异常处理。注意ARCMAP中是有颜色的,无需自己处理。

IRasterClassifyColorRampRenderer pClassRender = new RasterClassifyColorRampRendererClass();

                IRasterRenderer pRasterRender = pClassRender as IRasterRenderer;

                pRasterRender.Raster = rl.Raster;

                pClassRender.ClassCount = ; ////分10级

                pRasterRender.Update();

                IAlgorithmicColorRamp pRamp = new AlgorithmicColorRampClass();

                IRgbColor startColor = new RgbColorClass();

                IRgbColor endColor = new RgbColorClass(); ////自己选颜色吧

                startColor.Red = ;

                startColor.Green = ;

                startColor.Blue = ;

                pRamp.FromColor = startColor as IColor;

                endColor.Red = ;

                endColor.Green = ;

                endColor.Blue = ;

                pRamp.ToColor = endColor as IColor;

                pRamp.Size = ;

                bool ok = true;

                pRamp.CreateRamp(out ok);

                ISimpleFillSymbol pFillSymbo = new SimpleFillSymbolClass();

                for (int i = ; i < ; i++)

                {

                    pFillSymbo.Color = pRamp.get_Color(i);

                    pClassRender.set_Symbol(i, pFillSymbo as ISymbol);

                    pClassRender.set_Label(i, Convert.ToString(i + ));

                }

                pRasterRender.Update();

                rl.Renderer = pClassRender as IRasterRenderer;

                map.AddLayer(rl as ILayer);
04-02 20:33