制作 Unknown Pleasures 效果图的 3 种方法

用户头像
张云金_GISer
关注
发布于: 2020 年 05 月 03 日
制作Unknown Pleasures效果图的3种方法

去年的夏天,定做了一件和乐队的夏天中新裤子主唱相似的T恤

后来有朋友询问怎么制作的,我在知识星球中分享了两种方法。



最近@Simon_阿文和@有乐老师在介绍@亚赛大人 的神器【脉冲波生成器】时,也曾介绍了一些方法,我曾转发留言说会分享下如何基于高程数据制作这种效果。

image.png



还没等我把教程放出来,阿文自己就已经找到了其中一个方法。



虽然这种方法,我之前在知识星球中做过分享



但一直没有公开分享,主要是因为我在等



在等下面这篇文章的【在看】数超过100。



周末看时,已经超过100了,所以按照许诺就把之前的教程放出来吧。




下面介绍了3种方法,前2种方法是基于QGIS来进行操作的,需要对GIS有一定的了解,如果之前没接触过GIS,可以直接跳过去看第3种方法。




方法1、在线底图修改

这种方法,我19年4月15日已经分享到了知识星球中。





操作很简单,只要通过在QGIS中加载底图服务,就可以直接展示出全球任意区域的效果来。



我们放大下效果来看看我们伟大的祖国,西高东低的地形十分明显,高程起伏越小,线条越平缓,起伏越大,线条越陡峭。当然你还可以对线条显示的样式设置不同的颜色,比如





当然如果你不想要这么大范围的,只想要某个区域,比如日本吧。那么你首先需要找到一个日本的面状行政区划数据,将其加载到QGIS中,例如这个样子的。



然后将这个面数据填充为黑色。



接下来将面数据移动地图服务的底部,地图服务在图层样式面板中的【混合模式】参数中选择【变亮】即可。



那么最为关键的是这种服务应该如何加载到QGIS中。

其实操作也非常简单,只需要在xyz节点创建一个新的链接,将这个服务地址https://c.tiles.mapbox.com/v3/dnomadb.hgp0dahj/{z}/{x}/{y}.png填进去就可以啦。



使用这种方法可以加载网络上众多好看的精美底图,底图如何查找、如何添加,可以阅读这篇文章https://mp.weixin.qq.com/s/ScCH9gGo5nRPfQq0Ssyjrw



这种方法有一个问题

适合展现较大的区域,如何想展示某个省市,因为范围过小,而这个底图又没有提供精细的数据,放大后就是一片空白。

所以如果要制作某个很小的区域,需要使用第二种方法。



方法2:QGIS中DIY

这种方法是基于19年8月19日分享的一篇教程的改进,当时那哥们需要在QGIS和R中进行切换才行,使用改进后的方法,可以直接在QGIS中完成。



介绍的这种方法,你可以使用自己的数据来生成,比如高程数据、人口网格数都可以作为数据基础。操作方法是一样的,下面以DEM高程数据为例进行介绍。



1)将DEM高程数据添加到QGIS中



区域最好不要太大,否则容易在数据处理时,把程序搞蹦。当然也主要是因为我的小本本性能太渣。不过建议你初次尝试最好将数据裁剪一下,使用一小块区域就行啦。



裁剪的方法呢,就使用下面这个功能就行啦,不会的可以去GISer学习团公众号搜索相关的QGIS教程。



经过裁剪操作后,我们就得到了这个一个小区域的高程数据。



2)依据DEM范围创建网格

如果你的数据范围较大的话,网格就要设置大一点。

如何设置太小,程序就会死给你看。



这里呢,我根据数据的情况,设置了一个300米的网格间距。



生成的网格点是这个样子的,可以看到相当的密了。



3)为网格点赋值

刚生成的这些网格点,只有上下左右的位置信息,咱们需要将高程值赋予对应的点(如果你使用的是人口数据的话,就是将对应的人口数据赋给对应的点)。

如何操作呢?使用QGIS中的Sample raster values功能就行了。

运行完毕后,可以看到在数据的属性表中,新增量一列value值。



4)Y轴平移

这一步是最为关键的,因为这种图的关键就在于根据该点对应的数值,在Y轴上做了偏移。所以使用下面这个转换功能来实现这一步的操作。注意箭头指的位置,根据刚才生成的属性字段来做Y方法的偏移。



处理完成后,可以得到下面的效果图,是不是在这些散乱的点数据中已经隐约地看到的点位的变化趋势了。



5)由点变线

接下来,我们使用点转线功能,将这些点数据连起来。



于是就得到了最终的这个效果。



这样一步一步的处理分析是不是感觉有点麻烦?

这时候,一位QGIS极客玩家出现了,使用代码可以将前面的运算过程全部略过。具体如何操作呢?我给大家简单介绍下,详细说明可以去其博客上看看。



1)把高程数据添加到QGIS中



2)创建一个面状的shp数据



3)在面状数据中设置代码,搞定

将样式设置为【反转多边形】

将符号图层类型设置为【几何图形生成器】

将几何图形类型设置为【线/线集合】

把作者的代码粘贴进来,将图层名字改成自己的图层名字



如果角色线的效果不够明显,可以修改下代码中的最后一个数据,默认是10,可以调整30、40等。



作者的博客地址为https://hannes.enjoys.it/blog/2019/09/dynamic-elevation-profile-lines-as-qgis-geometry-generator/



方法3、在线神器中随便点

这种是目前我见到的最为简单的方法,直接在浏览器中随便点击,程序就会自动给你生成各种精细的效果出来。



在去年我编制的一本Kepler.gl的可视化小册子,当时封面的主要素材就是使用这个神器生成的。



而且效果可以另存为svg格式,所以各位PPTer们,就可以在PPT中来开脑洞,打卡PPT365啦。

神器地址为:https://codepen.io/ge1doot/pen/ZPpWaR



如果有朋友访问不了的话,我将这个工具做成了一个离线文件,直接双击就可以本地使用。

下载链接:https://pan.baidu.com/s/1RoJyV8vzDK79wqcqT5aNEg

提取码:y1w0



发布于: 2020 年 05 月 03 日 阅读数: 31
用户头像

张云金_GISer

关注

还未添加个人签名 2020.04.29 加入

还未添加个人简介

评论

发布
暂无评论
制作Unknown Pleasures效果图的3种方法