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

问题描述

我正在尝试使用此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,360 (xmin,xmax,ymin,ymax) 
#crs        : NA 
#source     : gebco0.5.tif
#names      : gebco0.5

解决方法

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

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,360 (xmin,xmax,ymin,ymax)。这样你得到

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

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

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

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

plot(r)
points(site)