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

使用terra与raster包读取同一栅格时raster报翻转警告的原因

解答

出现这种差异的核心原因是两个包对栅格数据行方向与地理坐标对应关系的解析逻辑不同,具体细节如下:

  • 地理变换参数的处理差异
    你的数据是SRTM类的经纬度栅格,这类数据在GDAL的地理变换参数中,y方向的分辨率是负数——意味着栅格的行号从上到下递增时,对应的纬度值是递减的(第一行对应北纬30附近,最后一行对应北纬25附近)。
    terra的rast()函数会严格解析这个负分辨率的地理意义,正确匹配栅格行与实际地理坐标的对应关系,所以输出的地理范围extent符合实际(ymin=24.99958,ymax=29.99958)。
    而raster包的raster()函数对负分辨率的处理逻辑更保守,默认将栅格第一行对应地理坐标的最小值,直接忽略了负号代表的行方向含义,导致地理范围被“上下颠倒”,同时抛出“数据似乎翻转”的警告。

  • 默认读取波段的差异
    terra的rast()默认读取栅格的所有波段(你的数据有8个波段),而raster的raster()默认只读取第一个波段,这也是两者输出对象结构不同的一个次要原因,但并非核心问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 14:48:16