如何在R中0到360度经度范围内查找特定经度

时间:2018-08-31 00:03:42

标签: r subset latitude-longitude netcdf4

我有一个netcdf文件,其所有正经度范围都在0到360之间。我需要对澳大利亚相邻的太平洋区域范围从130E到180进行子集划分。如何在R中进行子设置时在所有正经度中提及我的经度范围。 >

2 个答案:

答案 0 :(得分:2)

从nc文件加载lon尺寸后,类似:

lon<-nc$dim$lon$vals

现在,您必须找到各自的经度和纬度所在的范围。

您可以使用:

m<-which(lon==130)
n<-which(lon==180)

现在您只需要打开变量,例如,尺寸为[lon,lat,time]的T2M(温度为2米)

T2M_Australia<-T2M[m:n,,]

Voila,您刚刚裁剪了数据。

答案 1 :(得分:0)

您需要发布可重现的数据(请参阅评论),但总的来说,这就是我要这样做的方式:

library(tidyverse)

data <- tibble(long_ranges = 1:360) %>%
 mutate(australia = if_else(long_ranges >= 130 & long_ranges <= 180,
                "australia",
                "not_australia")) %>%
filter(australia == "australia")