使用lat和Lon从栅格中提取深度数据

时间:2020-11-03 05:19:10

标签: r raster r-raster

我正在尝试使用此gebco(附加tiff文件)获得给定纬度和手数的最大深度(max_depth),并且一直在提出NA。在过去,这种方法一直有效,因此无法确定出了什么问题。 site用于从WOCE文件中提取温度和营养数据,并且可以正常工作。我的代码中缺少什么?

enter image description here

library(raster)
bathy <- raster("gebco0.5.tif") 

site <- cbind(125, -49)
extract(bathy, site)
#      [,1]
# [1,]   NA


show(bathy)
#class      : RasterLayer 
#dimensions : 360, 720, 259200 (nrow, ncol, ncell) 
#resolution : 1, 1 (x, y) 
#extent     : 0, 720, 0, 360 (xmin, xmax, ymin, ymax) 
#crs        : NA 
#source     : gebco0.5.tif
#names      : gebco0.5

1 个答案:

答案 0 :(得分:0)

没有附件,但是您的代码看起来不错,并且可以正常工作

r <- raster("https://i.stack.imgur.com/g8WSo.png")
extent(r) <- c(-180,180,-90,90)
site <- cbind(125, -49)
extract(r, site)
# 0

我的猜测是bathy的范围不是您所期望的。您可以show(bathy)给我们吗?

现在我们有了show(bathy),我们可以看到您对lon / lat数据有意外的扩展:0, 720, 0, 360 (xmin, xmax, ymin, ymax)。这样你得到

r <- raster("https://i.stack.imgur.com/g8WSo.png")
site <- cbind(125, -49)
extract(r, site)
#     [,1]
#[1,]   NA

从我所看到的看来,您需要执行以下操作:

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

然后事情应该工作了(如我上面已经显示的)。并且,如果您知道“地点”的下落,则可以使用

plot(r)
points(site)