问题描述
我从 etoPO1 网站下载了一个 TIF 文件,其中包含测深信息。我使用以下代码绘制了测深图:
bathy <- raster("ice_data.tif")
plot(bathy)
bathy[bathy>0] <-0
dev.new()
plot(bathy)
intervals<-c(-0.000001,-500,-1000,-5000)
colourscale<-colorRampPalette(c("blue","lightblue1"))
plot(bathy,breaks=intervals,col = colourscale(4))
我想更改地图的项目(改为:+proj=laea +lon_0=-21.09375 +lat_0=-90 +datum=wgs84 +units=m +no_defs
)。我曾尝试使用下面的代码(使用 st_transform()
函数),但收到一条错误消息
Error in UseMethod("st_transform") : no applicable method for 'st_transform' applied to an object of class "c('RasterLayer','Raster','BasicRaster')
new_map = st_transform(bathy,crs = "+proj=laea +lon_0=-21.09375 +lat_0=-90 +datum=wgs84 +units=m +no_defs")
有人有什么建议吗?将不胜感激! 谢谢
解决方法
对于栅格,您需要使用 raster::crs()
函数来更改 crs。
sf::st_transform()
函数需要一个 sf 对象作为输入。
试试:
new_crs <- "+proj=laea +lon_0=-21.09375 +lat_0=-90 +datum=WGS84 +units=m +no_defs"
crs(bathy) <- new_crs