创意GIS作品揭秘之如何用“非常规”手段打造恐龙化石分布图?

放大字体  缩小字体 发布日期:2019-12-30  来源:来自互联网  作者:来自互联网  浏览次数:486
导读

每条线要素的列联表里还包含了该数据的其它属性,可以根据它们来对线进行渲染。接下来,如果我们不希望点状要素“溢出”到陆地边界之外,可以进行下一步操作(我的地图作品中省略了这一步,因此有部分点落到了陆地…

本文来自 #GIS Day创意GIS作品征集# 比赛的第一名获奖者: 叶山, 威斯康辛大学麦迪逊分校地球科学系,博士研究生。

作为一名“ 恐龙+GIS”的爱好者,其作品《 北美西部的恐龙化石分布图》获得了超多恐龙忠粉的追捧与喜爱,今天作者就要给大家奉上详细的制作教程~

今天给大家展示一下我在 #GIS Day制图比赛# 中的参赛作品的制作方法。世界上没有完美的地图,尤其是这种主要用于“制图炫技”的地图。由于每个人的审美偏好不同,每一幅作品都不可能让所有人满意。

我在知乎上发布过一些地图设计中的基本原则,它们是由我的本科导师、地图学家辛西娅·布鲁尔(Cynthia Brewer)总结的,有兴趣的话可以移步围观:

但即使是这样的“原则性建议”,也并不符合所有人的胃口。因此在这里,我只重点介绍这幅参赛地图制作过程中用到的3种“ 不太常规”的手段。具体细节的把控(例如颜色选择和风格设计)就留给大家按照自己的审美和喜好去自由发挥了。

0 1

点状要素之间的连线

这里用到的是ArcMap中的XY To Line(XY转线)工具。首先需要的是准备数据。我从PaleoBioDB古生物数据库中导出了北美洲恐龙化石的数据,并储存为csv格式。数据里,每一个化石都对应着两组坐标,即其现在的位置(lat和lng)以及它形成时的位置(lat_paleo和lng_paleo),如下图的黄色高亮部分所示。

将该文档添加到ArcMap的数据框之后,先连续两次通过Display XY Data(添加XY数据,在数据栏的对应数据中点击右键打开)工具,将所有数据根据其现坐标和古坐标添加到地图中,形成两组点状要素。

然后在ArcToolbox中打开XY To Line工具,并按下图进行设置:

完成之后,一个新的线要素层会被添加到ArcMap中。每一个数据中的两个坐标会被一条线所连接。

每条线要素的列联表里还包含了该数据的其它属性,可以根据它们来对线进行渲染。这个功能不仅能够绘制这种一对一的线,也能用于绘制一对多的线,比如某个飞机场始发航线目的地的示意图,就可以利用这个功能来绘制。

0 2

点状渲染

实际上,在ArcMap自带的渲染风格里,就有类似的点状渲染风格。但ArcMap自带的风格无法根据地图投影的变化而重新排列点阵。想要让点阵根据地图的投影而改变排列方向和密集程度,就需要另辟蹊径,通过ArcMap中的Grid Index Features(创建格网索引要素)工具来制作。这个工具原本是被设计来制作地图册的,但实际上它的用途远远超过了预期。比如在进行空间热点分析时,可以用它来代替希森多边形,在某些情况下能够获得更可靠的结果。而制作点状渲染也是这个工具的重要潜在用途之一。

首先,建议在数据框属性中,把地图的坐标系调整为WGS 1984 Web麦卡托。然后在ArcToolbox里开启Grid Index Features工具,并按照下图进行设置:

运行之后,ArcMap里会生成一个新的网格要素。例如,当我针对“大陆”图层进行网格创建之后,会得到覆盖大陆区域的网格要素。接下来,如果我们不希望点状要素“溢出”到陆地边界之外,可以进行下一步操作(我的地图作品中省略了这一步,因此有部分点落到了陆地范围之外):

选择之后,将选中的网格再次导出为新的要素。这些网格的中心就全部都位于陆地范围之内了。提取可用的网格之后,打开它的列联表,新建一个属性,并用Field Calculator(字段计算器)将其赋予同样的值(字段的属性和具体的值是任意的,只要保证所有的值都一致即可)。这是为稍后的渲染做准备。

下一步是对网格进行渲染。打开网格的属性,按照下图所示进行渲染:

完成之后,你就能获得由点状图案填充的大陆。之后你可以对地图进行重新投影,而点阵的排布和密度也会随着投影发生变化,让投影的效果更为生动。

0 3

光影效果

参赛地图中光影效果的制作使用到了Multiple Ring Buffer(多环缓冲区)功能。对光影效果的制作应于最后一部完成,在开始制作之前,一定要把投影、中心和缩放调整到满意的状态。

首先,新建一个多边形要素,将其添加到ArcMap,再用编辑工具在该空要素里创建一个椭圆形,该椭圆形的一端将成为灯光效果聚焦的高光区域。如下所示:

接下来,在数据库属性里,设定好地图的背景颜色。然后在椭圆形的属性里进行渲染设置。如下图所示:

需要注意的点:1)渐变色阶越多,渐变效果越好;2)渐变部分的百分比应小于等于50%,否则会出现灯光在远端再度收敛的错误效果;3)角度应设为0度;4)在色带上点击右键,可以选择打开编辑窗口;5)颜色1为灯光聚焦处的颜色,应比底色更亮;6)添加的颜色2需与地图的背景颜色完全一致。

设置完以后,将该图层放于地图中所有点、线要素的下方。然后,在ArcToolbox里打开Multiple Ring Buffer工具,并按照下图所示进行设置:

其中,缓冲区的数量越多,光影的效果就越好。而缓冲区的大小则需要根据地图的总体尺度来决定。如果不单独设置,缓冲区的距离单位为你的坐标系所决定。请注意:设置缓冲区时,应按照缓冲距离从小到大依次添加,否则在下一步里难以呈现光影渐变的效果。

当缓冲区要素生成以后,打开其列联表,并按下图所示添加一列新的属性,起名为“透明度”,类型为任何数值类型:

然后打开Field Calculator(字段计算器),按照下图对该属性赋值:

这一列属性将会决定缓冲区的透明度。距离最大的缓冲区透明度为100%,因此你需要根据你缓冲区中的距离数据,来调整在计算器中输入的内容。完成后会得到类似下图所示的结果。

接下来,打开缓冲区要素的属性,将其渲染方式改为Single symbol(单一符号),并让它的渐变和色带设置与上面的椭圆形完全相同。

之后,右键点击Advanced(高级设置),选择Transparency(透明度)。

此时会出现一个新的窗口,在其中的下拉菜单里,选择刚才添加的“透明度”属性。如下图所示:

点击确认之后,光影效果的渲染就会完成。因为这里只是做示范,我只设置了20圈缓冲区,距离从20km渐变到400km。在参赛地图里,我设置了180圈缓冲区,背景和色带的颜色也有所不同,因此其光影渐变效果更加柔和。

以上就是我的地图中所用到的三种不太常用的操作。参赛地图中的其余内容都是通过ArcMap的常规操作完成的。

祝大家画图愉快~

 
 
免责声明
• 
本文为会员免费发布,仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理。