将数据从一个纬度经度网格插入到另一个纬度经度网格上?

2024-01-06

我有两个位于经纬度网格上的数据数组。第一个 A 的形状为 (89, 180)。第二个 B 的形状为 (94, 192)。 A 的纬度按降序排列,从 88. 到 -88. & 经度按升序从 0. 到 358。B 的纬度按降序从 88.54199982 到 -88.54199982,经度按升序从 0. 到 358.125。

我想将 B 的数据重新网格化/插值到 A 的坐标系上,以便我可以获得两个相同大小的数组并计算它们之间的空间相关性。 (如果更容易的话,我还可以将 A 的数据重新网格/插值到 B 的坐标系上。)我尝试了 mpl_toolkits.basemap.interp(datain, xin, yin, xout, yout),但这需要 xout 和 yout 具有相同的大小。我也尝试过 scipy.interpolate.griddata,但我不知道它是如何工作的,我什至不确定这是否能让我得到我正在寻找的东西......


您可能想看看pyresample对于这个和其他类似的地理插值问题。它提供了多种插值方法,可以很好地处理纬度/经度数据,并结合了basemap支持。我推荐这个包,因为你也可以创建AreaDefinition使用 Proj4 定义定义域的对象,然后将数据注册到AreaDefinition.

对于您的具体问题,我将执行以下操作(注意,插值步骤不完整,请参见下文):

from pyresample.geometry import SwathDefinition
from pyresample.kd_tree import resample_nearest

def interp_b_to_a(a, b):
    '''Take in two dictionaries of arrays and interpolate the second to the first.
    The dictionaries must contain the following keys: "data", "lats", "lons"
    whose values must be numpy arrays.
    '''
    def_a = SwathDefinition(lons=a['lons'], lats=a['lats'])
    def_b = SwathDefinition(lons=b['lons'], lats=b['lats'])

    interp_dat = resample_nearest(def_b, b['data'], def_a, ...)
    new_b = {'data':interp_dat,
             'lats':copy(a['lats']),
             'lons':copy(a['lons'])
            }
    return new_b

请注意,插值步骤其中resample_nearest称为不完整。您还需要指定radius_of_influence这是每个点周围使用的搜索半径(以米为单位)。这取决于数据的分辨率。您可能还想指定nprocs加快速度并fill_value如果您使用屏蔽数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据从一个纬度经度网格插入到另一个纬度经度网格上? 的相关文章

  • 蟒蛇 | MySQL | AttributeError:模块“mysql.connector”没有属性“connect”

    我正在学习 python 中的一个新库 mysql 我尝试执行以下命令 import mysql connector mydb mysql connector connect host localhost user root passwd
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • Python 切片对象和 __getitem__

    python 中是否有内部的东西来处理传递给的参数 getitem 不同 并自动转换start stop step构造成切片 这是我的意思的演示 class ExampleClass object def getitem self args
  • 稀有对象的 python 类型注释,例如 psycopg2 对象

    我了解内置类型 但是我如何指定稀有对象 例如数据库连接对象 def get connection and cursor gt tuple psycopg2 extensions cursor psycopg2 extensions conn
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 如何过滤 Pandas GroupBy 对象并获取 GroupBy 对象?

    当对 Pandas groupby 操作的结果执行过滤时 它返回一个数据帧 但假设我想执行进一步的分组计算 我必须再次调用 groupby 这似乎有点绕 有更惯用的方法吗 EDIT 为了说明我在说什么 我们无耻地从 Pandas 文档中窃取
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • python中basestring和types.StringType之间的区别?

    有什么区别 isinstance foo types StringType and isinstance foo basestring 对于Python2 basestring是两者的基类str and unicode while type
  • 查找 Pandas DF 行中的最短日期并创建新列

    我有一个包含多个日期的表 有些日期将为 NaN 我需要找到最旧的日期 所以一行可能有 DATE MODIFIED WITHDRAWN DATE SOLD DATE STATUS DATE 等 因此 对于每一行 一个或多个字段中都会有一个日期
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • 如何指示 urwid 列表框的项目数多于当前显示的项目数?

    有没有办法向用户显示 urwid 列表框在显示部分上方 下方有其他项目 我正在考虑类似滚动条的东西 它可以显示条目的数量 或者列表框顶部 底部的单独栏 如果这个行为无法实现 有哪些方法可以实现这个通知 在我的研究过程中 我发现这个问题 ht
  • 检测是否从psycopg2游标获取?

    假设我执行以下命令 insert into hello username values me 我跑起来就像 cursor fetchall 我收到以下错误 psycopg2 ProgrammingError no results to fe
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • AWS Lambda 不读取环境变量

    我正在编写一个 python 脚本来查询 Qualys API 中的漏洞元数据 我在 AWS 中将其作为 lambda 函数执行 我已经在控制台中设置了环境变量 但是当我执行函数时 出现以下错误 module initialization
  • 如何获取pandas中groupby对象中的组数?

    我想知道有多少个独特的组需要执行计算 给定一个名为 groupby 的对象dfgroup 我们如何找到组的数量 简单 快速 Pandaic ngroups 较新版本的 groupby API pandas gt 0 23 提供了此 未记录的
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单

随机推荐

  • Boost Log 的琐碎记录器的“惰性求值”是如何工作的?

    跟进明确检查 boost log 过滤器 https stackoverflow com a 50345102 9305398 以下示例使用来自的简单记录器升压日志 https www boost org doc libs master l
  • 如何从 int 转换为 char*?

    我知道的唯一方法是 include
  • 将 JSON 文件导入 Windows 10 上的 Postgresql 11

    我有一个 JSON 文件 C sensors 201802091904 json 该数据文件与 PostgreSQL 安装位于同一本地驱动器上 以下是 JSON 的示例 Data collection of property value p
  • 在 Blackberry Playbook 模拟器中打开 .bar 文件

    您好 我有一个早期版本的 Playbook 应用程序 是我们的一位开发人员在 Flash Builder 中为我们制作的 它是一个 bar 文件 我已经安装了所有必需的 Abode 和 RIM SDK 密钥和模拟器 并且可以在 Flash
  • 如何创建从其他几个组件继承的Delphi组件?

    我发现有关如何创建 delphi 组件的教程很好 但它们只使用现有组件之一作为继承操作的对象 像这样的东西 unit CountBtn interface uses Windows Messages SysUtils Classes Gra
  • 重命名属性名称并更改多个对象的值

    在下面的对象中 我想更改属性名称 thumb to thumbnail 我还想更改的值title包括 span tags 这是我的对象 var data thumb images 01 png title My title thumb im
  • 带键的数组的 Twig for 循环

    我使用 Twig 并且有一个带有如下键的数组 array 1 alpha array 2 bravo array 3 charlie array 8 delta array 9 echo 我想拿到钥匙 1 2 3 8 9 和内容 alpha
  • 无效操作异常

    我创建了一个 WCF 服务 在 IIS 上托管时运行良好 现在 我采用了相同的服务 并在 WPF 中创建了一个主机应用程序 当尝试从该应用程序启动该服务时 出现以下异常 The HttpGetEnabled property of Serv
  • 与 KeyValuePair 键上的列表相交?

    如何根据键插入两个键值对列表 我努力了 List
  • jQuery UI Accordion - 如何完全删除样式?

    我喜欢 jQuery 手风琴 http jqueryui com demos accordion 的功能 但是我不想要这种风格 我想摆脱所有的样式 img 边框 颜色等 我没有看到这个选项 这是他们应该添加的内容 还是我误会了 您可以制作自
  • linux下c语言蓝牙编程

    我正在尝试在 linux ubuntu 中运行基本的 c 代码来搜索蓝牙设备 但我遇到了一些问题 通过使用命令sudo apt get install bluez 要安装所需的blueZ库 说明bluez已经是最新版本了 但出现错误 无法找
  • PHP 正则表达式查找自定义添加的 HTML 标签之间的文本

    我有以下场景 Got an HTML模板将用于的文件mailing 这是一个简化的示例 table tr td Heading 1 td td heading 2 td tr table
  • http.sys 实现

    我们都知道有一个名为 http sys 的二进制文件内核模式驱动程序在我们的 Windows 中 它为我们进行 HTTP 处理 这基本上就是我们所知道的一切 但今天我想 嘿 我们所有的网络东西 比如 TCP IP 之类的东西都在这里 在用户
  • 有充分的理由不使用 ORM 吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 查找并迭代android中的所有短信/彩信

    首先 也是最重要的 我发现了这个answer https stackoverflow com a 6446831 2415237特别有帮助 然而 这让我想知道如何找到这些信息 我似乎不知道如何迭代收件箱中的所有消息 我当前的解决方案使用Ur
  • Clearerr 是用来做什么的?

    我试图了解 stdio 功能何时clearerr 应该使用 例如 如果我fread or fwrite 在有效的FILE 并得到一个简短的计数ferror是真的 我能做什么 从我到目前为止所读到的来看 fread and fwrite 很健
  • 打字稿:找不到名称“代理”

    我需要声明一个 Proxy 类型的新变量 来自 ES6 规范 myProxy Proxy 但我收到下一个错误 找不到名称 代理 我该如何修复它 假设您将目标设置为es2015或包括库es2015使用lib选项 您可以创建一个Proxy 诀窍
  • 更新包并防止其恢复为原始状态

    我想升级包 ggplot2 library ggplot2 packageDescription ggplot2 Version gt 0 8 3 但当前版本是0 8 7 我尝试了 update packages 它似乎工作正常 但它仍然返
  • 如何获取临时文件名?

    我看过一些与我的问题相关的帖子 但没有一个能完全解决这个问题 我需要在标准临时目录中创建一个文件 完成写入后 将其移动到其他位置 这个想法是 该文件在下载时被视为临时文件 在下载完成后被视为永久文件 我正在尝试通过致电mkstemp htt
  • 将数据从一个纬度经度网格插入到另一个纬度经度网格上?

    我有两个位于经纬度网格上的数据数组 第一个 A 的形状为 89 180 第二个 B 的形状为 94 192 A 的纬度按降序排列 从 88 到 88 经度按升序从 0 到 358 B 的纬度按降序从 88 54199982 到 88 541