一、数据准备
本示例以山东为例,演示如何通过SuperMap iDesktopX制作一个好看的地形图。所有数据均来源于互联网公开数据,如有自己项目真实数据,可直接跳过数据下载进入下一步。
本示例所需数据包括:
数据类别 | 数据类型 |
DEM数据 | 栅格 |
省级行政区划数据 | 面 |
市级行政区划数据 | 面 |
县级行政区划数据 | 面 |
河流数据(主要河流) | 线、面 |
湖泊数据 | 面 |
1、数据下载
数据下载可以参考该博客内容,下载途径是一样的:
二、数据处理
1、数据导入
2、裁剪矢量数据:河流、湖泊
3、DEM数据拼接、裁剪
4、统一坐标系。
以上4个步骤跟上一篇河流水系中的操作是一样的,这里就不重复了,不清楚的可以直接查看下面博客中对应的这部分内容
三、地图制图
重点内容来了!!
1、配置底图
采用分组图层管理操作也是一样的
将山东省的省级行政区划面添加到地图中,然后新建一个图层组,命名为底图,将山东省_R移动到该图层分组内。每一比例尺层级也按照这样的方式进行管理,一个比例尺层级的所有要素统一放在一个图层分组内,最终结构如下:
分组完成后,我们就来确定底图所需要的要素:
数据图层 | 作用 |
DEM数据 | 底图背景 |
行政区 | 行政区表达 |
边界渲染 | 突出目标区域 |
其他 | 海洋表达 |
1.1 DEM
本示例用了DEM三次,这里注意一下,
第一层 | 图层混合模式 |
第二层 | 图层混合模式 |
第三层 | 三维晕渲图表达 |
接下来我们图层一层一层的来看由于是从下往上叠加的,我们从最下面开始;
- 第三层:DEM数据添加到图层中,在图层属性中设置显示方式为“栅格函数显示”,栅格函数设置为“三维晕渲图”,下面的参数具体参考易以下截图:
颜色表链接:通过网盘分享的文件:山东地形图资源
链接: https://pan.baidu.com/s/1B9-sODAnfXYVGg6y-LaNkw?pwd=84ap 提取码: 84ap
资源中包含以下内容:
下载上面链接的资源后,点击上图中颜色表后的设置按钮,弹出颜色表窗口,点击下图中的导入,导入下载资源中的ColorTable.sctu。
设置后,结果如下:
- 第二层:
(1)再次添加一个DEM到地图中,注意,图层顺序在刚刚那个DEM的上面,选中图层后,鼠标右键“设置颜色表”,同样的,导入下载资源中的“ColorTable_shandon.sctu”
(2)选中图层,鼠标右键“图层属性”,在图层属性中找到“”混合模式,这里改为“变亮”
这一步得到的效果:
第三层:
(1)再次添加一个DEM到地图中,注意,图层顺序在刚刚那两个DEM的上面,选中图层后,鼠标右键“设置颜色表”,同样的,导入下载资源中的“ColorTable_shandon2.sctu”
(2)选中图层,鼠标右键“图层属性”,在图层属性中找到“”混合模式,这里改为“线性加深”
这一步得到的结果:
通过上面三层DEM的叠加,我们的基础底就搭好了,
1.2 行政区划边界
标准一致:
- 如果属于内陆省份,则直接对省边界线设置对应的两点线符号风格
- 如果该省份临海,则需要区分陆地线和海洋线,陆地线一样,采用两点线风格,海洋线则用蓝色线表达。
山东属于沿海城市,所以这里也需要分开设置
具体的操作步骤:
- “面转线”,将省级面转为线数据集;
- “对象编辑”中的打断,将线从陆地与海洋的交界处打断。
- “可视化”,可以分开两个数据集分别设置风格,也可以通过单值专题图,给两个对象设置 不同的风格。
得到的结果如下:
1.3 边界渲染
这里注意,由于山东属于沿海城市,一般加边界晕边,不会加海洋区域,只添加陆地区域。所以我们生成缓冲区直接用上一步得到的陆地线来做单边缓冲区,不再使用整个行政区划面数据了
注意:
(1)这里使用的是平头缓冲,才能支持设置左缓冲或者右缓冲,这里左缓冲右缓冲的标准是根据线的方向来的,注意边界晕边一定是在省边界外。
(2)由于地图做了多级比例尺,如果缓冲区范围设置过大,放大后边界就显示很粗,如果设置过小,缩小地图又看不见。这种情况,想要将地图做的精细,就可以生成多个标准的晕边数据,在不同的比例尺加载不同的数据,本示例采用了两个标准:(小比例尺:2000,4000;大比例尺:1500,3000)
这一步得到的结果:
1.4 海洋渲染
这里演示一种海洋的晕染方式(可视化方向多种多样,本示例只是举例,欢迎大家去尝试更多其他的方案)
- 用第2步得到海洋线,生成多重缓冲区,生成后,注意需要将接壤的其他省份行政区划数据加进来,与缓冲区结果做擦除操作,不能在本来是其他省份的陆地区域进行海洋渲染。
然后添加到地图中,设置一个如下的图层风格:
- 新建一个文本数据集,添加上海洋的文本注记:
这一步得到的结果:
1.5 其他
这里我还想表达一个山东从陆地到海洋的一个过渡
添加一个山东省的行政区划面,设置了如下风格:
这一步得到的效果如下:
好啦,到这一步,我们的底图就基础搭建完成,其实地形图到这一步,就已经是初具雏形了。放大看看细节:
2、要素叠加
叠加要素的方法,跟之前做行政区划和水系分布是一样的方法,这里就不做重复的描述了,不清楚如何做的可以参考一下之前的流程方案使用SuperMap制作流域分布图的详细教程-CSDN博客
下面就直接列出本示例每一层级说叠加的要素供大家参考:
- 第一级比例尺
行政区划_市级别(点、注记) |
区域分布(注记) |
主要河流(面、线) |
- 第二级比例尺
行政区划_市级别(点、注记) 区域分布(注记) 主要河流(面、线、标记) 主要山脉 - 第三级比例尺
行政区划_县级别(点、注记) 区域分布(注记) 主要河流(面、线、标记) 主要山脉
四、可视化地图案例集
SuperMap Online包含很多省份的行政区划地图,各个省份有细微的调整,可以搜索目标区域查看对应的效果。地址:Online 开发者中心
五、地形图图集
下面为一些地形分布的案例图集,可供大家参考。均是采用上面的类似方法做的,但是每个地图有细微的调整,大家可以多去尝试不同的效果。也欢迎大家一起交流
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |