Last modified September 7, 2011
Print all topics in : "Interpolation (Spatial Analyst)"
Interpolates a raster from a set of points using kriging.
Krige and Variogram are methods for performing surface interpolation using kriging. The difference between the two is that Krige uses internally calculated values for the semivariogram, while Variogram allows you to control the semivariogram parameters.
Interpolation using kriging is a computer-intensive process. The speed of execution is dependent on the number of points in the input dataset and the size of the search window.
Some input datasets may have several points with the same X,Y coordinates. If the values of the points at the common location are the same, they are considered duplicates and have no affect on the output. If the values are different, they are considered 'coincident' points. Interpolation functions may handle this data condition differently, in some cases using the first coincident point encountered for the calculation, or sometimes the last. This may cause some locations in the output raster to have different values than what you might expect. The solution is to prepare your data by removing these coincident points.
The barriers option is used to specify the location of linear features known to interrupt the surface continuity. These features do not have z-values. Cliffs, faults, and embankments are typical examples of barriers. Barriers limit the selected set of the input sample points used to interpolate output z-values to those samples on the same side of the barrier as the current processing cell. Input sample points that lie exactly on the barrier line will be included in the selected sample set for both sides of the barrier.
Using barriers will significantly extend the processing time required to interpolate the output raster.
Barrier features can be input as either a coverage or a shapefile. Only the x,y coordinates for the linear feature are used; therefore, it is not necessary to provide z-values for the left and right sides of the barrier. Any z-values provided will be ignored.
Setting the [outSemiVariance] to True will generate an output raster that contains the kriging variance at each output raster cell. Assuming the kriging errors are normally distributed, there is a 95.5 percent probability that the actual z-value at the cell is the predicted raster value, plus or minus two times the square root of the value in the [outSemiVariance] raster.
A FeatureClassDescriptor is needed to specify the field to be used in the interpolation. The following is an example:
Dim pFDesc As IFeatureClassDescriptor Set pFDesc = New FeatureClassDescriptor PFDesc.Create pInputDataset, Nothing, "Value" 'Value is the field name used for interpolation
When the selected field is FID in the FeatureClassDescriptor, the SPOT field will be used. If no SPOT field is present, NONE is used.
The SPOT item will be used from the input feature class object. If another item is desired, that item must be specified in a FeatureClassDescriptor.
The output cell size must be defined in the raster environment. The following is an example.
Dim pEnv As IRasterAnalysisEnvironment Set pEnv = pInterpolationOp pEnv.SetCellSize esriRasterEnvValue, 50
The esriGeoAnalysisSemiVariogramEnum includes the following mathematical models for describing the semivariance: Circular, Exponential, Gaussian, Linear, Spherical, Universal1, Universal2, and None.
Command line syntax
Map Algebra syntax
IInterpolationOp::Krige (geoData As IGeoDataset, semiVariogramType As esriGeoAnalysisSemiVariogramEnum, radius As IRasterRadius, outSemiVariance As Boolean, [barrier As Variant]) As IGeoDataset
|geoData||A Featureclass or FeatureclassDescriptor containing point features with z-values to be interpolated to a raster surface.|
|semiVariogramType||An esriGeoAnalysisSemivariogramEnum specifying the type of mathematical function used to model the semivariance.
The types are:
|radius||An IRasterRadius indicating the search radius for the input points.
The radius distance is specified in map units within which all input sample points will be used to perform interpolation. A commonly used radius is five times the cell size of the output raster.
The object will set and use whatever you set last in your Visual Basic script.
set pRad.SetFixed 207.1 set pRad.SetVariable 12will use the args "... ,SAMPLE,12, ....", while:
set pRad.SetVariable 12 set pRad.SetFixed 207.1will use the args "... ,RADIUS,207.1, ....".
|[outSemiVariance]||A Boolean value.
If True, an optional output raster will be created containing predicted semivariance values for each mesh point in the output interpolation surface.
If False, no predicted semivariance value raster will be generated.
|[barrier]||A coverage or shapefile containing the arcs for the barrier information used for limiting the line search for input sample points.|
' Create the RasterInterpolationOp object Dim pInterpolationOp As IInterpolationOp Set pInterpolationOp = New RasterInterpolationOp ' Create the input point object Dim pInputDataset As IGeoDataset ' Calls function to open the input point dataset from disk Set pInputDataset = OpenPointDataset("D:\SpatialData", "inputpoint") ' Set the research radius Dim pRadius As IRasterRadius Set pRadius = New RasterRadius pRadius.SetVariable 12 ' Create the output dataset object Dim pOutputDataset As IGeoDataset ' Calls the method Set pOutputDataset = pInterpolationOp.Krige(pInputDataset, esriGeoAnalysisCircularSemiVariogram, pRadius, True)