You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R包terra仅指定CRS投影时,如何确定新栅格的属性?

关于terra包投影时新栅格属性的疑问

我想了解R包terra在执行投影操作时,如何确定所创建新栅格的属性。我知道投影的最佳实践是使用目标CRS下的模板栅格,例如project(my_raster, my_template_raster)。但如果用户仅指定CRS进行投影(如project(my_raster,"ESRI:54009")),就不清楚terra是如何确定新投影下栅格的维度、范围(extent)和分辨率(resolution)的。

以下示例代码中,投影后的栅格未覆盖栅格矢量化后再投影的多边形范围,这一现象令人困惑:

library(terra)
#> terra 1.7.71

r <- rast(xmin = 0, xmax = 5, ymin = 0, ymax = 5, resolution = 1)
values(r) <- 1:ncell(r)

# Mollweide投影
proj_moll <- "ESRI:54009"

# 创建栅格对应的矢量网格并投影
v_moll <- r |>
  as.polygons(dissolve = FALSE) |>
  project(proj_moll)

# 将栅格投影到Mollweide
r_moll <- project(r, proj_moll)

# 绘图:手动设置范围,因为当前ext=参数似乎无法正常工作
plot(r_moll, xlim = c(ext(v_moll)$xmin, ext(v_moll)$xmax), ylim = c(ext(v_moll)$ymin, ext(v_moll)$ymax))
lines(v_moll, col = "red", lwd = 2)

投影结果对比图

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 10:46:09