本帖最后由 hygnic 于 2021-10-11 15:45 编辑
前言:使用 ArcGIS,通过使用 .clr 颜色映射表和函数链将 ETOPO1 数据制作为全球地势起伏地图,达到印刷级的显示效果。 |
ETOPO1 数据
ETOPO1,是覆盖全球的 DEM 模型数据,包括陆地和海底,其中分为岩床版本和冰雪覆盖版本,冰雪覆盖版本会将冰雪厚度也算为高程,该数据是由 NOAA(National Oceanic and Atmospheric Administration,国家海洋气候局)制作放出。
由 ETOPO1 数据制作的全球地势图非常多,你见到的很多地图可能都是使用这个数据制作的。
在 NOAA 官网可以看到使用 ETOPO1 数据制作的全球起伏模型:
NOAA 在 ArcGIS 后台托管的在线互动版本:
下面是笔者自己制作的版本,和普通的世界地图不一样,这种地图有明显的地形起伏,看起来较为立体,同时色彩鲜艳饱和,这种效果用一般的 ArcGIS 方法几乎是无法制作出来的,至于为什么下面有讲到。
制作完成的岩床版本
1.印度
2.亚马逊
3.马达加斯加岛
4.美国东部
5.非洲部分
为什么一般方法无法制作
如何制作出这种地图呢?为什么上面说一般的 ArcGIS 方法很难实现呢? 当然工具还是完全使用 ArcGIS 啦,毕竟在线版地图都是使用的 ArcGIS 的服务器。
那么到底怎么做呢?有的朋友可能会说:地形拉伸渲染,然后半透明叠加山体阴影!
如果有这么简单就好了,上面的方法有一个无法回避的问题,那就是饱和度下降,地图“褪色”。
1.褪色
左图:最终成果; 中:原始地形渲染效果; 右:透明叠加山体阴影效果
中间是这篇文章得到的成果,左边就是使用函数链实现的最终效果(下篇文章有详细说明),右边就是使用的最为普遍的方法,图层设置一个透明度,然后下面叠加一个山地阴影图层。但是这样不可避免的就是整个地图“褪色”,看起来很“灰”,非常死板。
2.大量信息无法匹配足够的分级
另外一个问题就是在如此大范围且信息量丰富的数据是很难使用一个单一的色带拉伸就能实现的。 比如我们点击 符号系统->拉伸,然后随便选择一个你喜欢的颜色,效果可能如下:
分级数量不够,变成一锅粥
分级较宽,出现锯齿
效果不能说糟糕,只是不适用于这种情况,拉伸适用于研究的某一特定的课题,比如气温、降雨、各种趋势变化,由于拉伸的分级不够所以无法展示出全球的地势起伏和高程渐变的效果。同时又会出现分级较宽,出现锯齿的情况。
制作地形渲染图
而这里的方法可以解决第二个 大量信息无法匹配足够的分级 的问题,第一个问题下一章详细说明,记得回来看。 直接舍弃符号系统中的拉伸,改为使用唯一值进行显示。
符号系统
第一步
添加数据、检查、定义投影、然后还要重新计算栅格范围。 NOAA 提供的官方数据是没有定义投影的,也没有重新计算统计数据,所以你在第一次添加 ETOPO1 数据时,其范围可能不是8271到-10898。
如果你的栅格数据范围不是这样,那么你需要使用 计算统计数据 重新计算栅格范围数据(最后提供的数据是处理过的,所以可以跳过这步,如果是官网下载的话就不能)。
正确的栅格范围
第二步
在符号系统中,选中唯一值,然后点击导入色彩映射表,然后选择 .clr 后缀的色彩映射表。
色彩映射表其中包含了每一个栅格像元值对应的色彩 RGB 属性,所以在理论上来说,使用色彩映射表可以单独控制栅格图层上每一个像元显示的颜色。 文章最后提供2个 .clr 色彩映射表,一个是从网上找到的,另一个是自己做的。
第一个是网上找到的,颜色搭配较浅,后面一个是自己做的,色彩鲜艳些
选择导入 <3.hygnic land_underwater.clr> 文件后,点击确定,可以看到颜色渐变的更加平滑,可以表达出更多的信息来。
使用唯一值显示
使用 ArcGIS 内置函数链得到的最终成果
最后
1.基础数据 <ETOPO1_Bed_g_geotiff.zip> <ETOPO1_Ice_g_geotiff.zip> 全球 DEM 数据,分为岩床版本和冰雪覆盖版本,两者区别在于岩床版本去除了全球的冰雪覆盖,显露出真实地面。 <etopo1_grayscale_hillshade.zip> 制作好的山体阴影文件(虽然后面也用不上)。
2.色彩映射表 - <etopo1_new.clr>
- <hygnic land_underwater.clr>
分享GIS,不止于GIS荟GIS精粹,关注公众号:GIS荟 ,带你飞!
|