1.算法功能简介

反距离权重 (IDW) 插值使用一组采样点的线性权重组合来确定像元值。权重是一种反距离函数。进行插值处理的表面应当是具有局部因变量的表面。此方法假定所映射的变量因受到与其采样位置间的距离的影响而减小。例如,为分析零售网点而对购电消费者的表面进行插值处理时,在较远位置购电影响较小,这是因为人们更倾向于在家附近购物。

根据给定的控制点对和控制点的位移矢量(方向和距离),实现图像每一个像素点的位移。反距离加权插值的方法是通过得到每一个像素点和选定控制点对的逼近关系,以及相对应的权重关系,求得像素点相对应的变化关系,逼近函数可以理解为对像素点p的影响程度,而权重函数则可以看成是对距离的权重,距离越远,权重越小。

PIE支持算法功能的执行,下面对反距离权重算法功能进行介绍。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo. InverseDistanceInterpolationAlgo

参数结构体

InverseDistanceInterpolationInfo_Exchange_Info

参数说明

m_dCellSize

double

像元大小

m_nHeight

int

输出栅格高度

m_nWidth

int

输出栅格宽度

m_pInputFeatDs

IFeatureDataset

输入要素数据集

m_pOutputRasterDs

IRasterDataset

输出栅格数据集

m_sOutRasterFilePath

string

输出栅格路径

m_sOutRasterType

string

输出栅格类型

m_ZFieldIndex

int

选择字段索引

2.3. 示例代码

数据路径

百度云盘地址下/PIE示例数据/矢量数据/Shape/省会城市.shp

视频路径

百度云盘地址下/PIE视频教程/10.算法调用/实用工具/反距离权重算.avi

示例代码

          /// <summary>
/// 反距离权重测试
/// </summary>
private void Test_InverseDistanceInterpolation()
{
#region 1参数设置
string filePath = @"D:\\data\\China\\省会城市.shp";
IFeatureDataset fDataset = DatasetFactory.OpenDataset(filePath, OpenMode.ReadOnly) as IFeatureDataset;
PIE.CommonAlgo.InverseDistanceInterpolationInfo_Exchange_Info info = new InverseDistanceInterpolationInfo_Exchange_Info();
info.m_pInputFeatDs = fDataset;
info.m_sOutRasterType = "GTIFF";
info.m_sOutRasterFilePath = @"D:\\temp\\省会城市反距离权重测试.tiff";
info.m_ZFieldIndex = ;
info.m_nWidth = ;
info.m_dCellSize = fDataset.GetExtent().GetWidth() / info.m_nWidth;
info.m_dSearchMaxDis = ;
info.m_nSearchPoints = ;
#endregion
//2、算法执行
PIE.CommonAlgo.InverseDistanceInterpolationAlgo algo = new InverseDistanceInterpolationAlgo();
algo.Params = info;
algo.Execute();
//3、结果显示
ILayer layer = LayerFactory.CreateDefaultLayer(info.m_sOutRasterFilePath);
if (layer == null)
{
MessageBox.Show("执行失败");
return;
}
m_HookHelper.FocusMap.AddLayer(layer);
m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
(fDataset as IDisposable).Dispose();
fDataset = null;
}

2.4. 示例截图

PIE SDK反距离权重插值算法的更多相关文章

  1. [原创.数据可视化系列之十三]idw反距离权重插值算法的javascript代码实现

    图形渲染中,idw反距离权重插值算法是一个应用非常广泛的方法,但是js实现的比较少,目前实现一个: //idw算法 //输入[[x:0,y:0,v:0],[x:0,y:0,v:0],[x:0,y:0, ...

  2. 反距离权重插值inverse distance weighting,IDW

    反距离权重 (IDW) 插值显式假设:彼此距离较近的事物要比彼此距离较远的事物更相似.当为任何未测量的位置预测值时,反距离权重法会采用预测位置周围的测量值.与距离预测位置较远的测量值相比,距离预测位置 ...

  3. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  4. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  5. PIE SDK 距离分类和最大似然分类

       1.算法功能简介 监督分类,也叫训练场地法.训练分类法,是遥感图像分类的一种,用被确认类别的样本像元去识别其他未知类别像元的过程.监督分类算法有平行算法.平行六面体法.最小距离法.最大似然法.马 ...

  6. PIE SDK栅格增强控制

    1. 功能简介 亮度是指发光体(反光体)表面发光(反光)强弱的物理量:对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量:透明度是描述光线透过的程度 栅格数据增强控制主要是通过对亮 ...

  7. PIE SDK K-Means分类

    1.算法功能简介 K-Means 算法的基本思想是:以空间中 k 个点为中心进行聚类,对最靠近他们的对象归类.通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果. 算法首先随机从数据集中选 ...

  8. PIE SDK神经网络聚类

    1.算法功能简介 神经网络是模仿人脑神经系统的组成方式与思维过程而构成的信息处理系统,具有非线性.自学性.容错性.联想记忆和可以训练性等特点.在神经网络中,知识和信息的传递是由神经元的相互连接来实现的 ...

  9. PIE SDK地图平移校正

    地图平移校正,当加载两幅空间参考一样的影像,其中一幅影像有点偏移,这时就以另一幅影像为基准将其进行平移校正,然后保存,再次加载就不会出现偏移了. 下面来介绍下实现的主要代码: 首先通过选中目录树中的要 ...

随机推荐

  1. Linux 查看是64位还是32位

    [root@VM_7_88_centos ~]# uname -a Linux VM_7_88_centos 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36: ...

  2. Java IO输入输出流 字符数组流 ByteArrayOutputStream/ByteArrayInputStream

    private static void StringWriterAndReader() throws Exception { //字符串流(字符串的内存流) //字符串输入流 StringWriter ...

  3. 20169219 实验三 敏捷开发与XP实践 报告

    实验内容 1.求命令行传入整数参数的和. package exp3; public class TestArgs01 { public static void main(String[] args) ...

  4. win32的计数增减操作的原子操作--InterLockedIncrement和InterlockedDecrement

    InterLockedIncrement and InterLockedDecrement 实现数的原子性加减. 什么是原子性的加减呢? 举个例子:如果一个变量 Long value =0; 首先说一 ...

  5. memset函数使用

    函数原型 void *memset(void *s,int c,size_t n): 功能 将已开辟内存空间 s 的首 n 个字节的值设为值 c. 头文件  #include<memory.h& ...

  6. Hacker News排名算法工作原理

    这篇文章我要向大家介绍Hacker News网站的文章排名算法工作原理,以及如何在自己的应用里使用这种算法,这个算法非常简单,但却在突出热门文章和遴选新文章上表现的非常优秀.本质上,这段Hacker ...

  7. FileUtils 文件下载 文件导出

    public class FileUtils { /// <summary> /// 文件下载 /// </summary> /// <param name=" ...

  8. 如何使用 channel

    如何使用 Channel 例子来自于Concurrency is not parallelism Google Search: A fake framework v1.0 var ( Web = fa ...

  9. 以太坊系列之十七: 使用web3进行合约部署调用以及监听

    以太坊系列之十七: 使用web3进行智能合约的部署调用以及监听事件(Event) 上一篇介绍了使用golang进行智能合约的部署以及调用,但是使用go语言最大的一个问题是没法持续监听事件的发生. 比如 ...

  10. Docker 的部署方式

    在使用 docker run 命令启动 Docker 容器时,如果需要进行端口映射.目录挂载.网络信息等配置,整条命令将变得非常长,并且由于是一条 shell 命令,修改和复用也不方便.我们在大规模部 ...