当前位置: 首页 > 知识库问答 >
问题:

如何在NetCDF中更改经度范围

文彭祖
2023-03-14

我的NetCDF文件有4个维度(经度、纬度、时间、水平压力)和几个变量。

我想替换经度数据[340 342 344...360 0 2 4 ...由[-20 -18 -16...-2 0 2 4 ...18 20].事实上经度是从0°到360°计算的,但是我需要从-180°到180°。

我在网上找到了一些想法,但我不知道如何应用它们。

这里有一个解释:

“一些netcdf文件包含严格的正值[0,360],这与gdal / QGIS处理经度值的方式不兼容 - 它们不环绕日期变更线。这也会导致 gdalwarp 出错,当与其他数据集(具有 [-180,180] 个值)结合使用时,由于经度偏移 180 度,它们未正确对齐。

简单的修复方法是测试经度变量,并通过在IReadBlock和SRS检测中减去180-,将[180360]间隔中的任何值转换为[180180]。”

我也读过关于“gdal-翻译”的文章,但我不知道如何使用它。

编辑:我对纬度也有一个问题,它是N-

共有2个答案

章盛
2023-03-14

我意识到这是一个旧线程,但由于我最近遇到了一个非常相似的问题,我想我会添加我的解决方案,因为我在其他地方没有找到它…

我使用 cdo 包 (https://code.zmaw.de/projects/cdo) 命令 sellonlatbox 将我的输入数据从 [0, 360) 经度范围转换为 [-180, 180),并将纬度重新排序为 [-90, 90](即 S -

cdo sellonlatbox,-180,180,-90,90 infile.nc outfile.nc
谢承颜
2023-03-14

这是我发现的:

ncap2 -O -s 'where(lon>180) lon=lon-360' ifile ofile

我不确定它不会改变其他任何东西,但它似乎有效。

 类似资料:
  • 我有以下代码: 现在我想要它,使体积条只到图表总高度的1/3,我试着这样做: 但这没什么用。 我如何给某个Y轴起一个名字并改变它的范围?

  • 问题内容: 经过数小时令人沮丧的搜索,我觉得我需要在这里提交我的问题。如果此问题以前得到过解答,我事先表示歉意,但是到目前为止,我的搜索都没有帮助。所以这是我的问题: 我的JavaScript代码正在创建一个对象,该对象由AngularJS修改和监视。对于某些事件(例如加载对象的先前设置),我希望从范围之外更改该对象的属性。问题是输入不会改变… 这是我希望如何执行这些更改的示例: HTML代码:

  • 我有一个 netCDF 文件,我希望使用 R 中的“ncdf”包从由纬度/经度边界定义的子集(即经纬度/经度定义的框)中提取子集。 下面是我的netCDF文件的摘要。它有两个维度(纬度和经度)和一个变量(10U_GDS4_SFC)。它本质上是一个包含风值的平面/长网格: 纬度变量从 90 到 -90,经度变量从 0 到 360。 我希望使用以下地理角边界提取整个网格的子集: 左下角:纬度:34.5

  • 问题内容: 显然,更改NavigationBar的高度在iOS 11 中面临着一种新方法。在以前的iOS版本中,可以通过 隐藏默认navigationBar并添加带有自定义框架的新控件来更改navigationBar的高度: 但似乎它无法在iOS 11 xCode beta中运行。无论新高度是多少,它始终保持在44。 有谁知道如何解决这个问题? 问题答案: 您的代码运行良好,没有错。如果更改 背景

  • 问题内容: 我在中添加了。我想更改文本字段的高度。我已经尝试过这种方式: 没用 问题答案: 这具有 约束条件 。

  • 问题内容: 我创建了一个UIAlertController 但是之后,我想更改UIAlertController的高度吗?我怎样才能做到这一点? 问题答案: 我发现您可以在显示视图控制器之前添加约束