薄板样条插值法

本文介绍了使用Python实现薄板样条插值法,用于从卫星高度计的星下点调和常数进行网格数据插值,进而绘制同潮图。虽然薄板样条插值在某些情况下精度可能略低于Kriging插值,但适用于精度要求不高的场景。文中提供了代码示例,并提到了如何结合numpy处理陆地网格点数据。
摘要由CSDN通过智能技术生成

Python实现薄板样条插值

最近在做有关卫星高度计的课题,其中涉及到同潮图的绘制。需要利用某海域测高卫星星下点调和常数,进行插值得到目标海域的网格数据,然后绘制同潮图。
某天翻阅论文发现某篇文章对薄板样条插值方法描述比较详细,就试着用Python实现了一下。(水平不高,仅供参考)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下是代码:
代码中主要采用矩阵计算(因为矩阵计算真的比常规的循环方法要快很多)

    def TPS_interpolation(lon,lat,height,loc,num):
        """薄板插值(采用lon, lat = np.mgrid[99:122:0.5, 2:25:0.5]构造网格)
           lon:格网经度;lat:格网纬度;height:已有高程;
           loc:已有高程点的坐标数据[[lon1,lat1],[lon2,lat2].....];
           num:loc数据集的列数,比如我的数据就是2列"""

        #构造矩阵
          #T矩阵
        T_a = np.ones(len(loc))
        T_b1 = np.hsplit(loc,num)
        T_b2 = np.mat(np.hstack((T_b1[0],T_b1[1]))).T
        T = np.vstack((T_a,T_b2))
          #E矩阵
        t1 = np.vsplit(loc,len(loc))
        t2 = list()
        for i in t1:
            t3 = list()
            for j in t1
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值