博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反距离权重插值计算程序
阅读量:7033 次
发布时间:2019-06-28

本文共 735 字,大约阅读时间需要 2 分钟。

public void ChaZhi()

        {

            int

i,j,k;

            float

[,] WS0; //原始网格数组           

            float

Kq=2.0f; //权重指数                    

            int

Wm,Wn; //设定网格数,Wm为列,Wn为行

            float wgx,wgy;

//每个网格距离;

            float

z0; //当前网格计算数值

PointF p0=new

PointF(); //当前网格中心点

            PointF p1=new

PointF(); //实测点

            MP1 pt=new

MP1();

            float

zk; //实测点数值

            float

a1,a2; //计算z0时的上下部分;

            float

dk,xx,yy; //计算中间变量

            yy=yl;

            for(i=0;i<Wn;i++)

            {

                xx=xl;

                for(j=0;j<Wm;j++)

                {

                    p0.X=xx+wgx/2;

                    p0.Y=yy+wgy/2;

                    a1=0;

                    a2=0;

                    for(k=0;k<MPS.Count;k++)

//计算当前网格实测点距离

                    {

                        pt=(MP1)MPS[k];                       

                        p1=toMapPoint(pt);

                        zk=pt.Z;

                        dk=Convert.ToSingle(Math.Pow(DistanceP(p0,p1),Kq));

                        a1+=zk/dk;

                        a2+=1/dk;

                    }

                    z0=a1/a2;

                    WS0[j,i]=z0;

                    xx+=wgx;

                }

                yy+=wgy;

            }        

        }

说明:

1. MP1是一个实测点的类,有CODE(代码)X,Y(坐标),Z(数值)等4个属性;

2. MPS是一个集合,放置实测点。

转载于:https://www.cnblogs.com/zany-hui/articles/2470759.html

你可能感兴趣的文章
Android 通过软引用实现图片缓存,防止内存溢出
查看>>
EXT.NET常用控件使用
查看>>
C语言两种方式实现矩阵的转置
查看>>
javaee自定义servlet的步骤
查看>>
更进ATM
查看>>
C#和.Net的关系
查看>>
(转载)OpenStreetMap初探(一)——了解OpenStreetMap
查看>>
stm32F10x复习-1
查看>>
嵌入式技术学习路线
查看>>
目前为止最好的关于const的解释
查看>>
20145213《信息安全系统设计》第九周学习总结下篇
查看>>
thinkphp疑难解决4
查看>>
黑盒测试(一)
查看>>
Delphi和C++的语法区别 (关于构造和析构)
查看>>
成为Java GC专家(3)—如何优化Java垃圾回收机制
查看>>
IIS的安装
查看>>
Android下运行c程序
查看>>
基础命令集合
查看>>
Hadoop缺省端口列表
查看>>
sublime text 2 安装emmet插件
查看>>