从paleoView导入R中的netcdf时只有正纬度和经度可能是错误的投影

2024-03-21

我用的是古景 https://onlinelibrary.wiley.com/doi/full/10.1111/ecog.03031软件用于下载过去气候的一些变量,包括 15000BP-10000BP 的平均温度(我可以根据要求上传文件,但至少有 GB)。

主要问题是,当我读取栅格时,它只包含正纬度和正经度。我从文章中知道它的分辨率是2.5*2.5。

使用光栅

我加载了 raster 和 ncdf4 库以使用 raster 读取它

library(raster)
library(ncdf4)

当我使用以下代码阅读它时

r <- raster("mean_temperature-15000BP-10000BP.nc",  varname = "14000BP-13000BP/13300BP")

我得到以下信息

r
class       : RasterLayer 
band        : 1  (of  12  bands)
dimensions  : 72, 144, 10368  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0.5, 144.5, 0.5, 72.5  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
names       : Mean.Temperature 
z-value     : 1 
zvar        : 14000BP-13000BP/13300BP 

正如你所看到的,范围只是正数,但我知道它有整个世界的数据,当我绘制地图时,我得到以下图像:

plot(r)

它清楚地显示了极圈温度极低且南极洲比北极更大的预期模式。

显然 +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 这里是错误的,我认为如果我弄清楚实际的是什么坐标。参考号我可以重新投影它并以正确的格式获取栅格

使用 ncdf4

我尝试使用 ncdf4 包来尝试从图层中获取更多信息,这就是我所做的:

nc <- nc_open("mean_temperature-15000BP-10000BP.nc")

使用读取图层后nc_open函数我看到变量的名称来尝试理解更多层,这里我显示前 10 个

names(nc$var)[1:10]

[1] "window"                  "width"                   "decimals"                "months"                  "latitudes"               "longitudes"              "15100BP-15000BP/15100BP" "15100BP-15000BP/15099BP"
[9] "15100BP-15000BP/15098BP" "15100BP-15000BP/15097BP"

因此,如果我继续查找并转到纬度和经度名称,我会得到:

ncatt_get(nc, attributes(nc$var)$names[5])
$units
[1] "degrees north"

and

ncatt_get(nc, attributes(nc$var)$names[6])
$units
[1] "degrees east"

关于如何重新投影此栅格以获得您在 +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0 中期望的纬度从 -90, 90 和经度从 -180 到 180 的任何想法,0,0 预测


要解决此问题,您可以设置范围:

library(raster)
r <- raster("mean_temperature-15000BP-10000BP.nc",  varname = "14000BP-13000BP/13300BP")
extent(r) <- c(-180,180,-90,90)

但请注意,有时气候数据中的经度从 0 到 360(我认为不是这里):

extent(r) <- c(0,360,-90,90)
r <- rotate(r)

要了解有关 ncdf 中内容的更多信息,您可以执行以下操作

print(r)

当然,只有当您确实确定程度时才需要这样做,并且您可能需要联系数据提供商来报告此问题。

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

从paleoView导入R中的netcdf时只有正纬度和经度可能是错误的投影 的相关文章

  • 使填充的值成为ggplot2中的实际填充

    有没有办法让填充的值 标签 成为填充本身 例如 在堆积条形图中 我有 require ggplot2 big votes movies movies movies votes gt 100000 p ggplot big votes mov
  • 通过非 sf 列内连接两个 sf 对象

    我尝试使用内连接或左连接连接两个 sf 数据帧 这些数据框内部都有几何列 我不断收到错误 check join x y 中的错误 y 应该是一个数据框 对于空间连接 请使用 st joinFALSE 下面的可重现示例 df1 lt data
  • R 中第三维的平均值

    R中是否有任何快速方法或内置函数来计算基于第三维的平均值 例如我的数组是 1 1 2 1 1 3 2 2 4 2 1 2 1 11 13 2 12 14 3 1 2 1 21 23 2 22 24 我的输出是 1 2 1 mean 1 11
  • 通过变量分割 data.frame [重复]

    这个问题在这里已经有答案了 我将多个主题的数据存储在一个 CSV 文件中 导入 CSV 文件后 我想将每个参与者的数据拆分到自己的 data frame 中 更确切地说 我想采用下面的示例数据 并创建三个新的 data frames 每个
  • R+Hadoop:如何从HDFS读取CSV文件并执行mapreduce?

    在以下示例中 small ints to dfs 1 1000 mapreduce input small ints map function k v cbind v v 2 MapReduce函数的数据输入是一个名为small ints的
  • 在绘图中的所有坐标之间绘制线条

    我有以下数据框 data lt data frame x c 5 1 3 2 5 7 12 y c 5 7 6 1 3 5 6 我可以使用 ggplot 函数绘制这些坐标 并在这些坐标之间画一条线 ggplot data aes x y g
  • 使用 R 中绘制的标准误差创建条形图

    我试图找到在 R 中创建条形图并显示标准错误的最佳方法 我看过其他文章 但我无法弄清楚与我自己的数据一起使用的代码 之前没有使用过 ggplot 这似乎是最常用的方法 而 barplot 不与数据框合作 我需要在两种情况下使用它 我为此创建
  • 尝试通过列表递归时,在 R 中出现错误“递归索引在级别 2 失败”

    当我尝试递归遍历图形顶点列表 将它们的值与列表中的一组颜色进行匹配时 出现错误 递归索引在级别 2 失败 我的颜色列表如下 colrs lt list l blue c red n gray50 然后我有一个 igraph 中的顶点列表vs
  • R:使用 RGDAL 和 RASTER 包时抛出错误

    给所有可能相关的人 这是源代码 GRA D1 lt raster files 1 Sets up an empty output raster GRA D1 lt writeStart GRA D1 filename GRA D1 tif
  • R 语言 - 等待用户使用 scan 或 readline 输入

    我试图让用户输入一些关键字进行查询 在我的脚本中我使用了 scan 或 readline 我使用 R 嵌入脚本编辑器 Windows 进行了尝试 但是当我执行代码时 它使用我的下一行脚本作为标准输入 这是我的 部分 脚本 keywords
  • 加拿大人口普查地图分区 R

    我对 R 和映射非常陌生 我想创建某些数据的映射 我有一组名为 D Montreal 的数据 显示 2010 年前往蒙特利尔的加拿大人口普查部门游客来自哪个国家 我想使用此数据创建一个地图 以显示有多少人来自不同地区 也许可以通过对根据人数
  • 将非平凡函数应用于 data.table 的有序子集

    Problem 我正在尝试使用我新发现的 data table 功能 永久 来计算一堆数据的频率内容 如下所示 Sample Channel Trial Voltage Class Subject 1 1 1 196 82253 1 1 1
  • 有条件地将可选组替换为 gsub

    一位用户问我如何做到这一点如何使 ggplot 图例中的选定单词变为斜体 https stackoverflow com questions 76054997 how to italicize select words in a ggplo
  • 如何处理重叠的因子水平? (例如,生成表格和图表时)

    我面临一个数据集的问题重叠因素水平 我想按因素级别生成时间线 条形图和统计数据 但是 我希望因子水平是模棱两可的 这意味着属于多个级别的观察结果应该在图中出现多次 这是我的数据结构的示例 head lt c ID YEAR BRAZIL G
  • R中不同级别的李克特分组

    我想使用 Likert 包 并按变量分组并绘制结果 问题是我想要可视化的变量有不同的级别 有没有解决的办法 一个简单的例子来说明我的问题 library reshape library likert foo lt data frame ca
  • 使用列表中的数据框:删除变量,添加新变量

    定义一个列表dats有两个数据框 df1 and df2 dats lt list df1 data frame a sample 1 3 b sample 11 13 df2 data frame a sample 1 3 b sampl
  • 网页抓取(R 语言?)

    我想获取中间栏中的公司名称this http www consumercomplaints in bysubcategory mobile service providers page 1 html页面 以蓝色粗体书写 以及登记投诉者的位置
  • 如何从类外部更改公共 R6 类方法?

    我希望能够在我的 R6 类中重新定义公共方法 以便它根据该类保存的数据类型进行更改 如下所示 library R6 Simple lt R6Class Simple public list dt mtcars my print functi
  • 如何在ggplot2中使用希腊符号?

    我的类别需要用希腊字母命名 我在用ggplot2 并且它与数据配合得很好 不幸的是 我无法弄清楚如何将这些希腊符号放在 x 轴上 在刻度线处 并使它们出现在图例中 有什么办法可以做到吗 更新 我看了一下link https github c
  • 在多面图中用 N 注释 x 轴

    我正在尝试生成一些按治疗条件和访问次数细分的数字结果的箱线图 每个框中的观察次数都放在图下方 并且也标记了访问次数 这里有一些虚假数据可以用来说明 我举了两个我尝试过但不太有效的例子 library ggplot2 library plyr

随机推荐

  • 将图像缩略图添加到网格布局中?

    我有一个图像列表 我需要将小缩略图添加到框架中 我目前有框架SpringLayout 如何使用滚动窗格在某些网格中添加缩略图 如时尚 照片列表可能很大 所以我需要一个滚动窗格 我不知道如何处理这个问题SpringLayout 我知道如何添加
  • 如何在Python中将pptx导出为图像(png、jpeg)?

    我用 Python 开发了一段小代码来生成 PPTX 文件 但我还想生成一张 PNG 或 JPEG 格式的幻灯片图片 from pptx import Presentation from pptx util import Inches im
  • 为 Blazor WASM 保存时重新编译 .razor 文件

    有没有办法让 Blazor WebAssembly 重新编译 razor文件更改 更新然后保存时 我已经习惯了这种情况在传统的 ASP NET Core MVC razor 视图以及客户端框架 如 Angular 中发生 在 ASP NET
  • DRAM 访问的性能计数器

    我想找回DRAM 存取次数在我的应用程序中 准确地说 我需要区分数据和代码访问之间 该处理器是一个Intel R Core TM i7 4720HQ CPU 2 60GHz Haswell 基于英特尔软件开发人员手册 第 3 卷 https
  • 无法在生产环境中实例化模块

    我刚刚将我的程序推送到 Heroku 上 并且我测试 Angular 的页面加载了以下错误 未捕获错误 injector modulerr 无法实例化模块 diceAngularApp 原因是 错误 injector unpr 未知提供者
  • python中使用numpy数组出现内存错误

    我收到此代码的以下错误 model lda LDA n topics 15 n iter 50 random state 1 model fit X topic word model topic word print type topic
  • 尝试将 AWS DynamoDB 与 Swift 3 结合使用时出现很多错误

    我是快速开发的新手 正在尝试合并后端 我认为 AWS 将是实现我想要完成的任务的好方法 我目前只是想获取他们为您创建的示例项目文件 它有很多错误 令人难以置信 我意识到 AWS 在 Swift 2 中创建文件 因此在 Swift 3 中运行
  • 如何使输入和选择字段的宽度相等

    在表单上 我有一个选择字段和两个输入字段 这些元素垂直对齐 不幸的是 我无法获得这些元素的相同宽度 这是我的代码
  • 在 ASP.Net MVC 中设置 Access-Control-Allow-Origin - 最简单的方法

    我有一个简单的操作方法 它返回一些 json 它在 ajax example com 上运行 我需要从另一个网站 someothersite com 访问该网站 如果我尝试调用它 我会得到预期的 Origin http someothers
  • Pybind11 - 返回指向 unique_ptr 容器的指针

    我一直在使用优秀的 pybind11 库 但遇到了困难 我需要向 Python 返回一个指向不可复制对象的指针 因为该对象包含 unique ptrs 一般来说 这在使用 return value policy reference 的警告下
  • Delphi 和 NoSQL

    有人曾经将 Delphi 与 NoSQL 数据库 如 Mongo CouchDB 或其他数据库 一起使用过吗 您会推荐哪一款 对于 Mongo 有TMongoWire https github com stijnsanders TMongo
  • .NET 和 Lotus Notes 互操作

    我在某个位置有 Lotus Notes 数据库文件 nsf 比方说 http intranet mycompany com somewhere data nsf http intranet mycompany com somewhere d
  • Excel 按名称将工作表数据拆分到新的 Excel 工作簿中[重复]

    这个问题在这里已经有答案了 Model Place model23 35372 model23 35372 model54 31034 model24 31034 model54 31034 model24 31034 我有这个Excel数
  • 如何转储哈希映射的内容?

    如何转储 Java HashMap 或任何其他 的内容 例如转储到 STDOUT 举个例子 假设我有一个具有以下结构的复杂 HashMap student1 gt Map name gt Tim Scores gt Map math gt
  • 如何更改 Treeview 的背景颜色

    我来这里是想问你如何更改树视图的背景 我尝试过 ttk Style configure Treeview background 383838 它仅适用于单元格 但树视图的其余部分保持白色 我尝试更改窗口的背景和框架 但它不起作用 那么 如何
  • 如何根据python中的条件组合或保留列表中的字符串?

    我有三个清单 li1 a a a a b b a a b li2 a a a b a b a a li3 b b a a b 我想通过以下方式 切片和粘贴 元素 b 结果应该是这样的 li1 aaaa b b aa b li2 aaa b
  • 将样式应用于特定类型的所有子元素

    我想为 wpf 编写一个样式 其中 StatusBar 中的所有按钮 具有定义的样式 都具有相同的样式 例如宽度 这是我的风格 以及元素的 xaml
  • 使用java进行服务器端推送

    有没有更简单的方法cometd http cometd org作为java的长轮询框架 因为我需要的是客户端指定一些参数并将它们发送到服务器 服务器处理它们并开始连续将消息推送回客户端 看起来 就像每个服务的线程 客户端接收消息并显示它们
  • 为多个客户管理多个 git 发布分支

    我的公司有一款软件出售给多个客户 但每个客户都有一些不同的要求 不仅仅是 把我们的标志放在这里 它们的核心都是相同的 但有些不需要某些模块 有些则需要所有模块 包括修改 我想在一个 git 存储库中管理所有这些 这样我对它们都有相同的核心
  • 从paleoView导入R中的netcdf时只有正纬度和经度可能是错误的投影

    我用的是古景 https onlinelibrary wiley com doi full 10 1111 ecog 03031软件用于下载过去气候的一些变量 包括 15000BP 10000BP 的平均温度 我可以根据要求上传文件 但至少