很多人都見過風向圖,直觀形象,也是地圖數(shù)據(jù)和現(xiàn)實數(shù)據(jù)在可視化上很好的結(jié)合。

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

 

       這是我見的第一個風向圖,記得是2012年吧,當時覺得很有意思,作為一名技術人員,自然好奇它是如何做到的,是Canvas還是SVG?但當時沒深究。最近正好有人(大哥)提到了這個,不妨深入了解,一探究竟。于是乎,發(fā)現(xiàn)原來還有這么多玩法,大同小異,比如說這個,來自earth.nullschool.net:

 

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

 

      當然還有來自度娘開源的echarts-x的:

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

 

      基本上,這三個效果圖基本涵蓋了目前風向圖的技術點和功能點(我自己的看法,因為windyty是基于earth.nullschool寫的,前者多了一個worker線程處理數(shù)據(jù),而后者在github上開源)。不知道哪一個最對你的胃口?對我而言,圖1簡單易懂,可以快速掌握風向圖的實現(xiàn);圖2是實時的全球風向數(shù)據(jù),而且是二進制格式,是大數(shù)據(jù)傳輸?shù)囊粋€方案;圖3則采用WebGL實時渲染,算是大數(shù)據(jù)渲染的一個方案,所以各有千秋。正好本文就結(jié)合這三個例子說一下其中處理好的地方,也是一個由易到難的過程。

原理

      乍看上去,多少會覺得無從下手。這是怎么做到的?其實吧,懂與不懂就是那一層紙,就看你愿不愿意戳破而已。我們先從數(shù)據(jù)說起。

      首先介紹一下向量場(Vector Field)的概念。在維基百科的解釋是:在向量分析中,向量場是把空間中的每一點指派到一個向量的映射。物理學中的向量場有風場、引力場、電磁場、水流場等等。如圖,下面是一個二維的向量場,每一個點都是一個向量。

網(wǎng)友評論