免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 5035|回复: 2
收起左侧

ArcGis Engine的空间插值方法

[复制链接]

2072

主题

100000万

铜板

363

好友

地信专家组

每一次的分离都是为了下一次的相聚

Rank: 14Rank: 14Rank: 14Rank: 14

积分
17622

精华勋章宣传勋章爱心勋章组织勋章地信元老灌水勋章荣誉会员勋章活跃勋章贡献勋章

发表于 2009-12-3 21:27 | 显示全部楼层 |阅读模式
在ArcGiS Engine(AO)中,提供了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.

1145

主题

10万

铜板

2

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
21817

灌水勋章活跃勋章冰雪节勋章

QQ
发表于 2013-11-18 19:57 | 显示全部楼层
谢谢分享!!!!

评分

参与人数 1铜板 +1 收起 理由
admin + 1 亲,你好快哦~~~

查看全部评分

加强科技支撑和引领  实现地质找矿新突破 。     
回复

使用道具 举报

37

主题

2万

铜板

111

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5763
发表于 2022-3-1 10:07 | 显示全部楼层
谢谢分享,看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表