Заливка грида методом DefinedInterval

0 голосов
спросил 09 Окт, 12 от stil (300 баллов) в категории Программные продукты Esri
    У меня есть грид. Мне нужно его отобразить красифицировав методом DefinedInterval. Метод задается нормально, а интервал высчитывается сам по себе.
В описании метода сказано что сначало нужно задать интервал а потом присвоить метод(?), но как это сделать не понятно.

Код:

    Public Function ClassifyRenderer1(ByVal rasterDataset As ESRI.ArcGIS.Geodatabase.IRasterDataset, nummeclass As Integer) As IRasterRenderer
        Try
            'Create the classify renderer.
            Dim classifyRenderer As IRasterClassifyColorRampRenderer = New RasterClassifyColorRampRendererClass()
             classifyRenderer.ClassCount = nummeclass
            Dim rasterRenderer As IRasterRenderer = CType(classifyRenderer, IRasterRenderer)

            'Set up the renderer properties.
            Dim raster As IRaster = rasterDataset.CreateDefaultRaster()
            rasterRenderer.Raster = raster
            Dim pRasterBC As IRasterBandCollection = CType(rasterRenderer.Raster, IRasterBandCollection)
             Dim pRasterBand As IRasterBand = pRasterBC.Item(0)
            pRasterBand.ComputeStatsAndHist()
            classifyRenderer.ClassCount = nummeclass
            rasterRenderer.Update()



            'set classfication method
            Dim pClassProp As IRasterClassifyUIProperties
            pClassProp = classifyRenderer
            Dim pUID As UID
            Dim ClassBreak As Object
            Dim pClassify As IClassifyGEN
            pClassify = New DefinedInterval
            Dim pInterval As IIntervalRange2 = pClassify
            pInterval.IntervalRange = 25
            ClassBreak = pClassify.ClassBreaks
            pUID = pClassify.ClassID
            pClassProp.ClassificationMethod = pUID
            rasterRenderer = classifyRenderer
            rasterRenderer.Update()


            'Set the color ramp for the symbology.
            Dim colorRamp As IAlgorithmicColorRamp = New AlgorithmicColorRampClass
             Dim startColor As IRgbColor
            Dim endColor As IRgbColor
            startColor = New RgbColor
            endColor = New RgbColor
            startColor.Red = 209
            startColor.Green = 144
            startColor.Blue = 21
            endColor.Red = 7
            endColor.Green = 218
            endColor.Blue = 7
            'Set the Start and End
            'Colorsalg()
            colorRamp.ToColor = startColor
            'alg()
            colorRamp.FromColor = endColor
            'Set the ramping Alglorithm alg
            colorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm
            'Set the size of the ramp (the number of colors to be derived)alg
            colorRamp.Size = nummeclass
            'Create the rampalg
            colorRamp.CreateRamp(True)
            ' Dim createColorRamp As Boolean
            'colorRamp.CreateRamp(createColorRamp)

            'Create the symbol for the classes.
            Dim fillSymbol As IFillSymbol = New SimpleFillSymbolClass()
            Dim pFSymbol As IFillSymbol
            pFSymbol = New SimpleFillSymbol

            Dim i As Integer
            For i = 0 To classifyRenderer.ClassCount - 1 Step i + 1
               pFSymbol.Color = colorRamp.Color(i)
               classifyRenderer.Symbol(i) = CType(pFSymbol, ISymbol)
               ' classifyRenderer.Label(i) = Convert.ToString(i)
            Next
            Return rasterRenderer
        Catch ex As Exception
            System.Diagnostics.Debug.WriteLine(ex.Message)
     &n

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...