制作 Unknown Pleasures 效果图的 3 种方法
去年的夏天,定做了一件和乐队的夏天中新裤子主唱相似的T恤
后来有朋友询问怎么制作的,我在知识星球中分享了两种方法。
最近@Simon_阿文和@有乐老师在介绍@亚赛大人 的神器【脉冲波生成器】时,也曾介绍了一些方法,我曾转发留言说会分享下如何基于高程数据制作这种效果。
还没等我把教程放出来,阿文自己就已经找到了其中一个方法。
虽然这种方法,我之前在知识星球中做过分享
但一直没有公开分享,主要是因为我在等。
在等下面这篇文章的【在看】数超过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
版权声明: 本文为 InfoQ 作者【张云金_GISer】的原创文章。
原文链接:【http://xie.infoq.cn/article/dc56af3ab22eb9508edc5c8be】。文章转载请联系作者。
评论