R语言中新西兰栅格图层CRS匹配后显示空白问题求助
解决新西兰栅格图层错位与投影空白问题
核心分析
两个栅格CRS均为EPSG:27200(NZGD49 / New Zealand Map Grid),无需执行投影操作,projectRaster输出空白是范围/分辨率不匹配导致的,而非CRS本身问题。以下是具体解决步骤:
1. 排查栅格基础属性
先确认两个栅格的范围和分辨率是否匹配:
# 查看栅格范围 extent(Humedad) extent(NewZealand) # 查看栅格分辨率 res(Humedad) res(NewZealand)
如果Humedad的范围完全不在NewZealand覆盖范围内,执行投影后自然会显示空白。
2. 同CRS下对齐栅格
直接使用crop()+resample()完成范围和分辨率的对齐,无需投影:
# 步骤1:裁剪到目标栅格的范围(仅当Humedad范围大于NewZealand时执行) Humedad_cropped <- crop(Humedad, extent(NewZealand)) # 步骤2:重采样匹配目标栅格分辨率(双线性插值适合湿度这类连续数据) Humedad_aligned <- resample(Humedad_cropped, NewZealand, method = "bilinear")
若Humedad范围完全覆盖NewZealand,可跳过裁剪步骤,直接执行重采样。
3. 修正采集点的空间错位
- 如果采集点是矢量对象,先检查其CRS:
若CRS不是EPSG:27200,转换到目标CRS:library(sf) st_crs(your_points)your_points_nz <- st_transform(your_points, crs = 27200) - 如果采集点是普通经纬度数据框,先转为空间对象再转换CRS:
your_points_sf <- st_as_sf(your_points, coords = c("longitude", "latitude"), crs = 4326) your_points_nz <- st_transform(your_points_sf, crs = 27200)
4. 验证对齐效果
用绘图快速验证图层和采集点是否对齐:
plot(NewZealand, main = "Aligned Raster & Points") plot(Humedad_aligned, add = TRUE, alpha = 0.6) plot(your_points_nz, add = TRUE, col = "red", pch = 16, cex = 0.8)
内容的提问来源于stack exchange,提问作者Nikolay Matanov
相关产品推荐
相关产品推荐

