python画建筑分析图_教你用GH绘制酷炫的流线分析图
重要聲明:這篇教程純粹為繪圖方法的介紹,其中的“人流數據”為YY而來的偽數據,沒有真實性及可參考性,不可以作為科研方法!請相關課題的研究者使用合理的、正確的、實際的方法采集并分析數據,以免出現數據造假或研究成果不可靠的局面!
歡迎各位大神能夠為大家展示數據收集及處理的正確方法^3^,筆者才疏學淺,先為大家擼上繪圖方法:
先上最終效果
人流數據上面說過了,是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绘制酷炫的流线分析图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SqlServer图形数据库初体验
- 下一篇: C语言 流缓冲 Stream Buffe