Python分析之3 种空间插值方法

news/2025/3/14 18:00:01/

插值是一个非常常见的数学概念,不仅数据科学家使用它,而且各个领域的人们也使用它。然而,在处理地理空间数据时,插值变得更加复杂,因为您需要基于几个通常稀疏的观测值创建代表性网格。

在深入研究地理空间部分之前,让我们简要回顾一下线性插值。

为了演示的目的,我将使用正则多项式函数:

def F(x):return -2*x**3+x**2+2.1x = np.arange(-5,5, 0.1)
y = F(x)

现在我们可以随机采样几个点 [-4.2, 0, 2.5] 并将它们连接在一起:

这称为线性插值,因为函数在每个区间都用一条直线来近似,现在,只知道函数在 3 个点的值,我们就可以找到区间 [-4.2;2.5] 内的值。

还有许多其他方法,它们具有更高的精度,但它们背后的想法是相同的:找到至少两个已知点之间的函数值。

现在是时候进入地理空间部分了。在本教程中,我们的目标是对NOAA提供的瑞士各地气象站点测量的每日平均气温进行空间插值。预期结果是温度网格,单元格分辨率为 0.1°。

首先,我们需要获取瑞士的行政边界并使用 geopandas 将其可视化:

import geopandas as gdpshape = gpd.read_file('gadm41_CHE_0.shp')
shape.plot()

 

现在让我们绘制温度观测值并将其与国家形状叠加。为此,我们将气象数据加载到常规 pandas 数据框中,然后将其转换为 geopandas 数据框,并将坐标转换为形状点:

import pandas as pd
from shapely.geometry import Pointdf = pd.read_csv('3639866.csv')points = list()
for i in range(len(df)):point = Point(df.loc[i, 'LONGITUDE'], df.loc[i, 'LATITUDE'])points.append(point)gdf = gpd.GeoDataFrame(geometry=points).set_crs(shape.crs)

完成此操作后,我们可以使用matplotlib轻松覆盖两个数据帧。

fig, ax = plt.subplots(figsize=(16,9))
shape.plot(ax=ax, color='black')
gdf.plot(ax=ax, color='r', markersize=85)
plt.show()

为了可视化我们的任务,让我们创建用于插值的网格并将其与上面的地图重叠:

import matplotlib.ticker as mticker
import cartopy.crs as ccrs
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTERLAT, LON = np.arange(45.75, 48, 0.1), np.arange(6, 10.81, 0.1)fig, ax = plt

http://www.ppmy.cn/news/1423401.html

相关文章

FebHost:谁可以注册.CA加拿大域名?

在加拿大,互联网域名的注册管理遵循一套独特的规则。特别是对于代表加拿大身份的顶级域名“.ca”,其申请和注册过程涉及一些严格的条件。这些条件确保了只有符合特定标准的个人或实体才能获得这一具有国家象征意义的网络地址。 首先,想要注册…

算法学习笔记Day6——二维数组的花式遍历

引言:一些操作的最佳算法可能不符合我们的直观思路,但是它对计算机来说是有效的,对于我们来说匪夷所思、八竿子打不着的操作可能正好就能够得出符合要求的操作。这其中有很深的数学变换思维,需要勤于思考,多加练习。 …

C++ | Leetcode C++题解之第23题合并K个升序链表

题目: 题解: class Solution {// 21. 合并两个有序链表ListNode *mergeTwoLists(ListNode *list1, ListNode *list2) {auto dummy new ListNode(); // 用哨兵节点简化代码逻辑auto cur dummy; // cur 指向新链表的末尾while (list1 && list2) {if (list1…

深度探索:Secure Hash Algorithm(SHA)全景解析

title: 深度探索:Secure Hash Algorithm(SHA)全景解析 date: 2024/4/15 18:33:17 updated: 2024/4/15 18:33:17 tags: SHA安全抗碰撞性算法版本实现细节性能优化发展历史应用案例 密码学中的哈希函数 一、哈希函数的定义 哈希函数是一种数…

PDE判断题

PDE判断题 波动方程满足弱极值原理波动方程满足强极值原理强极值原理波动方程结论 一个均匀细杆,从初始时刻开始受到冷却作用,那么一段时间内,杆上的最高温度一定能在两端或者初始时刻取得。一个定义在全平面上的调和函数,如果有下…

Nodejs 第六十四章(SSO单点登录)

单点登录 单点登录(Single Sign-On,简称SSO)是一种身份认证和访问控制的机制,允许用户使用一组凭据(如用户名和密码)登录到多个应用程序或系统,而无需为每个应用程序单独提供凭据 SSO的主要优…

算法训练营第25天回溯(分割)

回溯算法(分割) 131.分割回文串 力扣题目链接(opens new window) 题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: “aab” 输出: [ [“aa”,“b”], [“a”,“…

免费的壁纸api

# 联想壁纸 from enum import Enumimport requestsclass LenovoTopHeadersTypePage(Enum):"""头部页面类型wallpaper 精选wallpaperHot 热门wallpaperRank 排行"""wallpaper wallpaperwallpaperHot wallpaperHotwallpaperRank wallpaperRankc…