arcengine 插值

ArcGIS Developer Help  (ESRI.ArcGIS.GeoAnalyst)  

IInterpolationOp3 Interface

Provides access to additional members that control the Interpolating of a GeoDataset.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Members

Description
Method IDW Interpolates using IDW.
Method Krige Interpolates using kriging.
Method NaturalNeighbor Interpolates using natual neighbor.
Method Spline Interpolates using splining.
Method TopoToRasterByFile Interpolates using AnuDem.
Method Trend Interpolates using trend surface.
Method TrendWithRms Interpolates using trend surface with optional rms file.
Method Variogram Interpolates using Variogram.

Classes that implement IInterpolationOp3

ClassesDescription
RasterInterpolationOp Raster interpolation operation class.

Remarks

         private void CreateRasterFromPoints()
        {
            //1.将Shape文件读取成FeatureClass
            //2.根据FeatureClass生成IFeatureClassDescriptor 
            //3.创建IRasterRaduis 对象
            //设置Cell
            //4.插值并生成表面
            object obj = null;
            AccessFileData af = new AccessFileData(Application.StartupPath+@"\Business");
            IFeatureClass featureClass = af.GetFeatureClass("Rain_point");
            IGeoDataset geo = featureClass as IGeoDataset;
            object extend=geo.Extent;
            object o=null;
            IFeatureClassDescriptor feades = new FeatureClassDescriptorClass();
            feades.Create(featureClass, null, "QNData");
            IRasterRadius rasterrad=new RasterRadiusClass();
            rasterrad.SetVariable(12, ref obj);
            object dCell = 0.014800000;//可以根据不同的点图层进行设置
            IInterpolationOp interpla = new RasterInterpolationOpClass();
            IRasterAnalysisEnvironment rasanaenv = interpla as IRasterAnalysisEnvironment;
            rasanaenv.SetCellSize(esriRasterEnvSettingEnum.esriRasterEnvValue, ref dCell);
            rasanaenv.SetExtent(esriRasterEnvSettingEnum.esriRasterEnvValue, ref extend, ref o);
            g_GeoDS_Raster = interpla.IDW((IGeoDataset)feades, 2, rasterrad, ref obj);
        }

原文地址:https://www.cnblogs.com/zhangjun1130/p/2101929.html