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

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

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

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

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.mzph.cn/pingmian/167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Security详细学习第一篇

Spring Security 前言Spring Security入门编辑Spring Security底层原理UserDetailsService接口PasswordEncoder接口 认证登录校验密码加密存储退出登录 前言 本文是作者学习三更老师的Spring Security课程所记录的学习心得和笔记知识,希望能帮助到大家 Spring Sec…

使用Java调用音乐开放API,并进行播放

使用Java调用音乐开放API,并进行播放 背景描述 电脑没有下载音乐软件,使用网页播放又不太方便,所有就想着使用Java语言直接调用音乐开放API,然后进行播放音乐。 具体代码如下,包含了注释 package com.lowkey.comple…

吴恩达<用于LLM应用程序开发的LangChain> L1-Model_prompt_parser

问题预览/关键词 课程地址如何获取openAI的API Key如何根据日期设置不同模型?如何调用OpenAI的API?如何使用OpenAI的API?langchain如何抽象OpenAI的API接口?langchain如何创建提示词模板并查看模板内容?langchain如何使用提示词模板生成提…

Redis中的BigKey

Redis中的BigKey 文章目录 Redis中的BigKey什么是BigKey?BigKey的危害找到Bigkey删除BigKey优化BigKeyBigKey对持久化的影响对AOF日志的影响对AOF重写和RDB的影响 什么是BigKey? 大 key 并不是指 key 的值很大,而是 key 对应的 value 很大。…

【0281】 Postgres内核级事务系统架构(重点)

文章目录 1. 事务系统架构1. 1 示例演示2. 事务终止2.1 低级别事务终止2.2 子事务处理3. 事务和子事务编号4. 联锁事务开始、事务结束和快照5. pg_xact 和 pg_subtrans6. 预写式日志(Write Ahead Log)1. 事务系统架构 PostgreSQL的事务系统是一个三层系统。底层实现了低级事务…

2024华中杯A题完整1-3问py代码+完整思路16页+后续参考论文

A题太阳能路灯光伏板朝向问题 (完整版资料文末获取) 第1小问:计算每月15日的太阳直射强度和总能量 1. 理解太阳直射辐射和光伏板的关系**:光伏板接收太阳辐射并转化为电能,直射辐射对光伏板的效率影响最大。 2. 收集…

[Vision Board创客营]学习片上Flash移植FAL

文章目录 [Vision Board创客营]学习片上Flash移植FAL介绍环境搭建使用组件测试porbeerasewriteread 结语 [Vision Board创客营]学习片上Flash移植FAL 水平较菜,大佬轻喷。😰😰😰 介绍 🚀🚀Vision-Board 开…

Leetcode算法训练日记 | day29

一、递增子序列 1.题目 Leetcode:第 491 题 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等&…

“低价竞争”仍在继续,分期免息成商家新武器

近日,在京东618商家生态伙伴大会上,京东推出各项政策,尽全力让所有合作伙伴赢在京东618、赢在京东。京东金融也将在618大促期间,为各位商家带来极具竞争力的金融产品和大促政策。 举例来说,大促期间,“京东…

在线测试与论文管理系统

前端基于easyui bootstrap,后端基于ssmjspmysql (admin/admin) 功能简介: 学生:科目测试,查看测试报告,预选老师,论文上传与下载,修改个人信息. 老师:查看学生成绩,管理学生预选,管理课题,分配课题,批改学生论文,修改个人信息. 管理员:老师…

基于SSM+Jsp+Mysql的文物管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

js高级 笔记02

目录 01 object提供的一些静态方法 02 词法作用域 03 作用域链 04 arguments的使用 05 开启严格模式 06 高阶函数 07 闭包 01 object提供的一些静态方法 Object.create() 对象继承 Object.assign(对象1,对象2) 对象合并 可以将对象2 里面的可枚举属性和自身的属性合并到…

Matlab r2023b Simulink 给子系统添加封面

写这篇记录的原因是,r2023b版本里改动了自定义封面的界面,而我是一个新手小白,零基础,探索一天之后发现实现方法。最终效果如图: 步骤1:打开软件,点击Simulink,再打开含有子系统的工…

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题7

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题7 信息安全管理与评估 网络系统管理 网络搭建与应用 云计算 软件测试 移动应用开发 任务书,赛题,解析等资料,知识点培训服务 添加博主wx:liuliu548…

监控告警细节说明

这些信息是来自服务器的 IPMI (Intelligent Platform Management Interface) 系统的告警事件。IPMI 是一种管理服务器硬件的接口,它允许系统管理员远程监控和控制服务器系统,即使操作系统未运行或服务器已关闭电源。下面是对两个告警事件的解释&#xff…

SpringSecurity源码4

SecurityContext.class 当前线程关联的最小安全信息,提供Authentication的get/set方法 SecurityContextHolder.class SecurityContext的持有器 // 全部委托给策略类public static void setContext(SecurityContext context) {strategy.setContext(context);}public …

FFmpeg: 自实现ijkplayer播放器--03UI界面设计

文章目录 UI设计流程图UI设计界面点击播放功能实现 UI设计流程图 UI设计界面 主界面 控制条 播放列表 画面显示 标题栏 设置界面 提示框 点击播放功能实现 槽函数实现: connect(ui->ctrlBarWind, &CtrlBar::SigPlayOrPause, this, &Main…

mysql 开启外网ip访问

1、查询当前所有用户的host 等信息 select host, user, authentication_string, plugin from user; 2、 修改 update user set host% where userroot; 3、 刷新策略 flush privileges;4、 更改加密方式,改为:mysql_native_password ALTER USER root…

[渗透测试学习] TwoMillion-HackTheBox

TwoMillion-HackTheBox 信息搜集 nmap扫描一下 nmap -sV -v 10.10.11.221扫描结果 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0) 80/tcp open http nginx 3851/tcp f…

4.18作业

顺序栈: #include "seq_stack.h" seq_p creat_stack() //从堆区申请顺序栈的空间 {seq_p S(seq_p)malloc(sizeof(seq_stack));if(SNULL){printf("空间申请失败\n");return NULL;}bzero(S->data,sizeof(S->data));S->top-1;return S; …