У меня есть грид. Мне нужно его отобразить красифицировав методом 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