【问题标题】:Converting .adf files into NetCDF将 .adf 文件转换为 NetCDF
【发布时间】:2021-06-02 15:19:34
【问题描述】:

我有一组包含空间分布数据的 .adf 文件。文件如下所示:

dblbnd.adf
hdr.adf
metadata.xml
prj.adf
sta.adf
w001001.adf
w001001x.adf

我可以将大文件 (w001001.adf) 作为光栅读入 R。这是栅格特征:

class      : RasterLayer 
dimensions : 1692, 3611, 6109812  (nrow, ncol, ncell)
resolution : 6, 6  (x, y)
extent     : -10833.68, 10832.32, -4713.677, 5438.323  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs 
source     : C:/Users/ahsa361/Documents/CEDS_Data/gridding-preprocessing/input/Corbett/w001001.adf 
names      : w001001 
values     : 0, 5637.337  (min, max)

我想将其转换为 180 度纬度的 NetCDF。 x 360 度。分辨率为 0.5 度。我该怎么做?

【问题讨论】:

  • 我不明白你为什么说“它看起来不像有规则的经度和纬度值”。你期待什么样的“常规”?
  • 我的意思是说我希望它是 180 度纬度 x 360 度长,分辨率为 0.5 度。我发布的栅格尺寸与此不符。 (我已经编辑了帖子)

标签: r raster arcgis netcdf arcmap


【解决方案1】:

您的范围与您的坐标参考系统不匹配

#extent     : -10833.68, 10832.32, -4713.677, 5438.323  (xmin, xmax, ymin, ymax)
#crs        : +proj=longlat +datum=WGS84 +no_defs 

如果没有更多信息,它真的不可能为您提供太多帮助。 crs 很可能是错误的,您需要用正确的替换它。您是否将其设置为错误的值? (这是此问题的最常见原因)。如果你知道它应该是什么,你可以这样设置

 crs(x) <- "correct crs definition"

范围也有可能是错误的,您也可以将其设置为正确的值。但根据你所说的,你不知道,所以你需要弄清楚这些事情,然后我们才能帮助如何解决你的问题。

要获得全局范围和接近 0.1 度的分辨率,您可以这样做

 extent(x) <- c(-180,180,-90,90)

鉴于您拥有的行数和列数,您可以:

library(raster)
raster(nrow=1692, ncol=3611)
#class      : RasterLayer 
#dimensions : 1692, 3611, 6109812  (nrow, ncol, ncell)
#resolution : 0.09969538, 0.106383  (x, y)
#extent     : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
#crs        : +proj=longlat +datum=WGS84 +no_defs 

【讨论】:

  • 感谢@Robert Hijmans 的输入。我没有修改任何文件,所以奇怪的是它们的属性不一致。我相信它们最初是从全局解析的 0.1° x 0.1° 网格单元渲染的,并且包含一个变量。这有什么帮助吗?
  • 查看扩展答案
猜你喜欢
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
  • 2014-12-02
  • 2021-12-18
  • 2018-05-10
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多