看了很多插值方法,总体来看写的都太复杂,简单应用的时候效率提不上去,数学不太好,只能套公式

1、反距离权重 (IDW) 插值介绍

反距离权重 (IDW) 插值是一种常用而简便的空间插值方法,它以插值点与样本点间的距离为权重进行加权平均,离插值点越近的样本点赋予的权重越大。 设平面上分布一系列离散点,已知其坐标和值为Xi,Yi, Zi (i =1,2,…,n)通过距离加权值求z点值,则z值见下图公式。

2、反距离权重 (IDW) 插值简化公式

这个公式就是我们编程时用到的。

3、 反距离权重 (IDW) 插值代码实现

 public class PointXYZ{public  double X;public  double Y;public  double Z;}public class Interpolation{/// <summary>/// 插值算法 反距离加权法IDW /// </summary>  /// <param name="input">离散点的XYZ</param>/// <param name="outpoint">插入点的XY</param> /// <returns></returns>bool InverseDistanceWeighted(List<PointXYZ> input, PointXYZ outpoint){try{                  double r = 0.0;    //距离的倒数和             double ri =0.0;    //i点的权重foreach (PointXYZ inputpoint in input){r += 1.0 / Math.Sqrt(Math.Pow(inputpoint.X - outpoint.X, 2) + Math.Pow(inputpoint.Y - outpoint.Y, 2));//ipqchase  这里可以加条件过滤一部分,0.0001,生成集合下步使用}outpoint.Z = 0.0;foreach (PointXYZ inputpoint in input){ri = 1.0 / Math.Sqrt(Math.Pow(inputpoint.X - outpoint.X, 2) + Math.Pow(inputpoint.Y - outpoint.Y, 2)) / r;outpoint.Z += ri * inputpoint.Z;//所有离散点的权重*高程 和,就是该点的idw插值高程   }return true;}catch{return true;}}}

4、反距离权重 (IDW) 插值注意事项

*  ⭐        IDW通过对邻近区域的每个采样点值平均运算获得内插单元。这一方法要求离散点均匀分布,并且密度程度足以满足在分析中反映局部表面变化。

*  ⭐      上面代码实现数据量小的情况下可用,数据在几十几百万时必须进行优化。优化思路可根据实际要求进行。本次场景中散点1W+,插值后需将高程赋值30W+的点图层和面图层。每个点去插值计算不理想需要几个小时,试了好几个方案,最终优化适用于本场景的是:散点成shp,shp构建GRID,网格内无值切需要的进行插值(此处可逐步放大范围)

直接上图

原TIF数据和插值后赋值面数据对比

大部分内容参考自:小菜鸟要起飞    反距离加权法IDW C#实现

离散点插值反距离加权法IDW C#实现相关推荐

  1. 反距离加权法IDW C#实现

    public class PointXYZ{public double X;public double Y;public double Z;}public class Interpolation{// ...

  2. 百度地图上进行空间插值---反距离加权法

    今天成功的完成了百度地图的空间插值Javascript插件,其中空间插值是基于反距离加权法. 插值算法的原理网上有很多资料,我也是参考别人的资料,在这里我直接论文截图: 之前一直在找工作,最近写论文才 ...

  3. 反距离加权法高程_GIS中的反距离加权法插值算法

    在GIS的应用中,很多都是离散的数据,通常情况下我们需要根据离散的数据来评估整体的数据分布情况,这时候往往我们需要用到一些插值算法,例如克里金插值法,线性插值三 角网法以及本文中介绍的反距离加权法插值 ...

  4. 反距离加权法高程_干货:企业估值的收益法、成本法和市场法

    适当的评估方法是企业价值准确评估的前提.本文将聚焦企业价值评估的核心方法,分别从方法的基本原理.适用范围以及局限性等方面给予分析和总结. 01企业价值评估方法的三大体系 企业价值评估是一项综合性的资产 ...

  5. Python中ArcPy实现Excel时序数据读取、反距离加权IDW插值与批量掩膜

    1 任务需求   首先,我们来明确一下本文所需实现的需求.   现有一个记录有北京市部分PM2.5浓度监测站点在2019年05月18日00时至23时(其中不含19时)等23个逐小时PM2.5浓度数据的 ...

  6. python反距离权重法_反距离权重法 (Spatial Analyst)—ArcMap | 文档

    使用反距离权重法 (IDW) 获得的像元输出值限定在插值时用到的值范围之内.因为反距离权重法是加权平均距离,所以该平均值不可能大于最大输入或小于最小输入.因此,如果尚未对这些极值采样,便无法创建山脊或 ...

  7. 基于MATLAB的全局多项式插值法(趋势面法)与逆距离加权(IDW)法插值与结果分析

    基于MATLAB的全局多项式插值法(趋势面法)与逆距离加权(IDW)法插值与结果分析 1 背景知识 2 实际操作部分 2.1 空间数据读取 2.2 异常数据剔除 2.3 验证集筛选 2.4 最小二乘法 ...

  8. GPU中实现反距离加权插值(IDW)

    利用GPU实现IDW(反距离加权插值) IDW的实现比较简单,已知插值点位比较少的情况下,可以直接遍历所有插值点,来获取临近的几个点,进行插值运算.插值点较多时,需要可以使用kd-tree来加速临近点 ...

  9. 反距离加权插值法例题_GMS插值中的反距离权重法(Inverse distance weighted)

    反距离权重法是GMS地层插值的默认方法,了解一些关于它的原理会帮助得到更好的插值结果.这次主要介绍Shepard's method方法.反距离权重法基本思路:插值点受附近点的影响最大,而距离较远的点的 ...

最新文章

  1. sae python连接mysql_SAE Tornado 应用连接并使用 Mysql
  2. MySQL - 并发事务问题及解决方案
  3. 设计模式漫谈之迭代器模式
  4. 查找linux所有目录中包含字符,Linux查找目录下包含有某字符串的全部文件
  5. 小规模流处理kata。 第2部分:RxJava 1.x / 2.x
  6. oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。...
  7. 1026. 程序运行时间(15)
  8. PAT 乙级 1048. 数字加密(20) Java版
  9. Qt之音频播放升级(七)
  10. CodeForces405B - Jzzhu and Sequences 矩阵快速幂
  11. 实战:小程序购物商城
  12. 为了中性含义替换man,英文可以引入拼音ren
  13. STC15单片机内部RAM讲解
  14. Oracle设置自增序列
  15. python扇贝每日一句api,英语每日一句API封装
  16. 在v$lock里找Holder和Waiter
  17. 从PLC ,PAC ,到施耐德的自动化开放系统
  18. 三星电子中国研究院招聘CV、NLP、语音/音频工程师和实习生
  19. 啥子?软件测试-白盒测试
  20. 小红书App产品需求文档(PRD)

热门文章

  1. Pandas 面板Panel
  2. android放微信短视频文件,参考微信实现的短视频录像
  3. 论文阅读笔记---《TransferNet: An Effective and Transparent Framework for Multi-hop Question Answering over》
  4. MUI极简的JS函数
  5. Python | 动态规划解决“返回第n个丑数”
  6. 计算组合C(m,n)的计算方法(C++篇)
  7. 利用arduino红外库遥控美的家用空调
  8. C++先序和中序确定二叉树
  9. go 变量大写_go语言如何将大写转小写
  10. 【报告分享】2020中国教育培训移动应用发展研究报告-TalkingData(附下载)