如何提取Swisstopo发布的瑞士地形TIFF文件中的地形图层?
解决Swisstopo TIFF地形图层提取问题
1. 先检查文件的波段结构
你用raster()函数默认只会读取TIFF的第一个波段,这就是你只看到绿色的原因——这个Swisstopo的TIFF是多波段的RGB彩色地图(带地形晕渲)。先用stack()读取所有波段,查看文件结构:
library(raster) # 读取完整的多波段文件 swiss_map <- stack("swiss-map-raster1000_2022_1000_kgrel_50_2056.tif") # 输出波段信息,确认数量和属性 print(swiss_map)
2. 显示完整的带地形地图
这个文件是融合了地形晕渲的RGB彩色地图,用plotRGB()将三个波段组合,就能显示完整的瑞士地形地图:
# 按RGB波段顺序组合显示(r=红波段, g=绿波段, b=蓝波段) plotRGB(swiss_map, r=1, g=2, b=3)
3. 关于单独地形高程图层的说明
注意:这个文件是带地形可视化的彩色地图,不是纯数字高程模型(DEM)。如果你需要可用于分析的地形高程数据,得从Swisstopo下载专门的DEM产品(比如DHM1000),而不是这个彩色地图文件。
4. 为什么你之前的代码只显示绿色
raster("文件路径")只会加载单个波段(默认第一个),你看到的绿色是单独加载了绿波段的结果。只有用stack()读取所有波段,再通过plotRGB()组合,才能显示出包含地形晕渲的完整瑞士地图。
内容的提问来源于stack exchange,提问作者MPB_2022
相关产品推荐
相关产品推荐

