『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGis Engine空间插值方法

ArcGis Engine空间插值方法
在ArcGiS Engine(AO)中,提供了IInterpolationOp3接口供空间插值功能,提供的插值方法有IDW、克里格、Spline等,具体如下:

       在ArcGiS EngineAO)中,提供了IInterpolationOp3接口供空间插值功能,提供的插值方法有IDW、克里格、Spline等,具体如下:

       Members                  Description

       IDW                                             Interpolates using IDW.

       Krige                                            Interpolates using kriging.

       NaturalNeighbor                             Interpolates using natual neighbor.

       Spline                                           Interpolates using splining.

       TopoToRasterByFile                       Interpolates using AnuDem.

       Trend                                           Interpolates using trend surface.

       TrendWithRms                              Interpolates using trend surface with optional rms file.

       Variogram                                     Interpolates using Variogram.

       下面是一个应用举例,注意分析环境的设置:

       private void CreateRasterFromPoints()

        {

            //1.Shape文件读取成FeatureClass

            //2.根据FeatureClass生成IFeatureClassDescriptor

            //3.创建IRasterRaduis 对象

            //设置Cell

            //4.插值并生成表面

            object obj = null;

            AccessFileData af = new AccessFileData([email=Application.StartupPath+@]Application.StartupPath+@"\Business[/email]");

            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;//可以根据不同的点图层进行设置

            IInterpolationOp3 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);

        }

 

       其中需要注意的事项有:Read the Working with ArcGIS Spatial Analyst objects technical document for general information on implementing Spatial Analyst operations.

      京ICP备2025132830号-1 京公网安备 号