教你用GH绘制酷炫的流线分析图

重要声明:这篇教程纯粹为绘图方法的介绍,其中的“人流数据”为YY而来的伪数据,没有真实性及可参考性,不可以作为科研方法!请相关课题的研究者使用合理的、正确的、实际的方法采集并分析数据,以免出现数据造假或研究成果不可靠的局面!

欢迎各位大神能够为大家展示数据收集及处理的正确方法^3^,笔者才疏学浅,先为大家撸上绘图方法:

先上最终效果

人流数据上面说过了,是YY而来,通过gh进行组织和处理。人流数据上面说过了,是YY而来,通过gh进行组织和处理。

我选择了地理信息完备的Manhattan地区作为案例,使用rhino grasshopper ai ps完成绘图,步骤简介如下:

1.取得地理信息

首先要获得某一地区的城市路网,我首先登陆了OpenStreetMap,搜寻我想要的地区路网,然而网速感人,高墙感人,基本下载不下来,我只能来到另外一个网站下载了New York地区的osm完整文件。

下载下来的osm.bz2文件由于是整个New York地区的,解压开后容量高达3GB,我们只需要Manhattan地区的,因此需要使用一个操作界面极不友善的小插件osmconvert来将osm根据需求范围的经纬度切割至合理大小。

2.地理信息导入Rhino Grasshopper

由于不会使用GIS类地理信息软件,所以我选择使用Grasshopper中的Elk插件来读取osm文件中的地理信息,读取进来的数据是点云,我选择出主要的路网点云,并将它们连接成线。

3.模拟数据

我在城市区域内随机生成一些点代表人流起点,又在另外一些地方生成随机点代表人流终点,让他们一一对应,由于人们倾向于选择近便的路抵达目的地,所以我求得了起点和终点经过整个地图的最短路径,是不是有点儿像地图导航。这一步骤说起来容易做起来非常复杂,我越过了无数个坑才成功。举一例来说,elk导入进来的路是连续的、不相交的,这种路网是无法求得最短路径的,我需要先让他们交点打断,而用gh自身的逻辑对地图交点打断,对于少量线段可行,对于地图数据如此庞大的信息量,gh的运算法则和逻辑效率低下甚至容易造成崩溃,我又自己写了python代码来将他们互相打断。其他的不说了,说多了都是泪。。。

4.模拟随机感

由于人们的行进路线并不都是是沿着大马路的中线,所以我对模拟出的人流线进行一定量的偏移,让他们产生人们行走时略有偏差的效果。我在这里只加入了简单的偏移,还可以通过连电池模拟出“抄近路”、“走回头路”、“绕远路”等更加真实复杂的特殊情况。

5.导出流线并处理

选中模拟出的流线,烘焙到rhino中,选中烘焙出来的流线,将他们导出为.ai文件,在AI中的处理相当简单,选中所有的流线,调整颜色和粗细,降低透明度,混合模式改为差值或正片叠底均可。最后,将文件导出成背景透明的png。

6.获得底图

还需要能够展示街道和地形的底图。我在mapbox上自己定制了显示风格,取得了manhattan地区的底图,mapbox实际上使用的也是osm数据文件,只不过通过定制显示风格渲染出你所需要的地图图底,这比自己用osm文件画快多了,由于使用了几乎一样的数据来源,我们的流线图和这张底图应该是可以完美对位的。底图制作的具体教程可以参考这一篇答案,感谢作者:

如何做高大上的城市肌理分析图? - Adobe Photoshop

7.最终处理

在ps中将地图底图和背景透明的流线png对好位,这张图就完成了

希望能给大家提供思路~欢迎大神斧正~希望能给大家提供思路~欢迎大神斧正~

最后带个小广告:可可在专筑开设了针对建筑专业的数据可视化课程,以上案例会有精细完整的讲解,还有众多高大上的数据分析及可视化案例讲解,欢迎感兴趣的你来看看哦~

版权声明

内容由张可天授权建筑学院发布,如有转载请联系我们或原作者。

python画建筑分析图_教你用GH绘制酷炫的流线分析图 | 建筑学院相关推荐

  1. python画建筑分析图_教你用GH绘制酷炫的流线分析图

    重要声明:这篇教程纯粹为绘图方法的介绍,其中的"人流数据"为YY而来的伪数据,没有真实性及可参考性,不可以作为科研方法!请相关课题的研究者使用合理的.正确的.实际的方法采集并分析数 ...

  2. python画花女朋友_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  3. 如何用python画一朵花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  4. python画简单圣诞树_教你用Python画了一棵圣诞树!圣诞节给女朋友制作个小惊喜...

    如何用Python画一个圣诞树呢? 最简单: height = 5 stars = 1 for i in range(height): print((' ' * (height - i)) + ('* ...

  5. 怎么样用python画一朵花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  6. python画美女代码_教你用python爬取网站美女图(附代码及教程)

    我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...

  7. python画circos图_教你在线绘制circos图

    相信大家都听说过circos图,但是亲自画过的人可能就很少,这主要因为软件的安装和使用稍微有一点麻烦.其实,circos图也是可以在线绘制的,这样就简单多了!一起来了解一下吧! 在circos官网(h ...

  8. python画spc控制图_【SPC控制图模板绘制】SPC控制图模板搭建和使用方法

    2014-10-24 [SPC控制图模板绘制]SPC控制图模板搭建和使用方法 关键词:SPC控制图 SPC控制图模板 spc 企业可以快速使用SPC控制图模板进行质量数据管理,并发现疑点.常用的SPC ...

  9. python画树递归_用递归的方式绘制小树_Python数据结构实战(1):递归(算法面试)_Python视频-51CTO学院...

    购买本课程后,可以加51CTO学院李宁老师官方交流群:550369460注意,该群只允许购买李宁老师课程的学员进行技术交流,加群时需要提供在51CTO购买李宁老师课程的订单编号(任何一个课程的订单编号 ...

最新文章

  1. qlist length 函数讲解_读《JavaScript 轻量级函数式编程》
  2. Carmaer 500W 逆变器初步测试
  3. 第十六周程序阅读(7)
  4. 几个实用的Servlet应用例子-入门、cookie、session及上传文件
  5. 【C++】考虑virtual函数以外的其他选择
  6. oracle中exists连接两个表,IN、EXISTS、多表连接,哪个速度更快
  7. Linux 的 Shell 变量
  8. 安徽省湖泊河流ArcGIS地形图shp图层文件下载
  9. 【MAC】使用CHM查看JDK帮助文档【转载】
  10. 小D课堂-nexus
  11. 抓包教程(安卓抓包)Fiddler,HttpCancy使用~浅谈前几日抓包中遇到的坑
  12. idea 安装uml 画图工具
  13. 10大主流3D建模技术
  14. 求学信计算机专业英语,求学信英文版范文
  15. 【UCOSii源码解析】事件控制块
  16. Qt之简易版网络调试助手
  17. HTML网页设计作业个性潮流服装商城模板
  18. 在IIS7、IIS7.5中应用程序池最优配置方案
  19. Java将字符串分割为数组
  20. NLP 中的Mask全解

热门文章

  1. MySQL-MVCC机制
  2. 播放视频有沙沙的杂音怎么处理?
  3. 2016年3月android面试总结(1)
  4. 使用windows自带的任务计划程序定时运行python程序(详细教程)
  5. 时间转成bcd码java_Linux时间戳转换成BCD码(转载)
  6. html怎么整体水平右移,HTML字体如何左右移动
  7. 基于预训练词向量的文本相似度计算-word2vec, paddle
  8. 【瑞萨RA_FSP】GPT—— PWM功能详解
  9. c语言中integer是什么数据类型,integer是什么数据类型
  10. 自己动手写一个Golang ORM框架