如何将栅格值范围从0-100调整为1-100(R/QGIS环境)
调整栅格值范围(0-100 → 1-100,保留原数据)
R语言实现
修改栅格元数据(不改变像素值)
推荐使用terra包处理栅格:
# 加载包 library(terra) # 读取目标栅格 r <- rast("your_raster_file.tif") # 查看原极值(可选) print(minmax(r)) # 修改元数据中的极值记录,实际像素值保持不变 r@ptr@range[] <- c(1, 100) # 保存修改后的栅格 writeRaster(r, "adjusted_raster.tif", overwrite = TRUE)
说明:此操作仅修改栅格头文件的极值信息,原像素中的0值仍存在,但软件读取时会将值范围识别为1-100。
QGIS实现
方式1:永久修改栅格元数据
- 加载目标栅格后,右键图层 → 属性 → 切换到信息选项卡
- 在「栅格统计」区域,手动将“最小值”改为1,“最大值”改为100,点击应用→确定
- 右键图层 → 导出 → 保存为...,选择输出路径和格式,完成保存
方式2:临时调整显示范围(不修改原文件)
- 右键图层 → 属性 → 切换到样式选项卡
- 在「最小值/最大值」输入框中分别填入1和100,点击应用→确定
- 此设置仅影响当前QGIS会话中的显示,原栅格文件无任何改动
内容的提问来源于stack exchange,提问作者Lore_Bernicchi
相关产品推荐
相关产品推荐

