最近,我制作了一個(gè) Viz 作品,其中使用到了為多個(gè)地圖創(chuàng)建自定義縮放控制的操作方法。
?復(fù)制下方鏈接至瀏覽器,即可查看此 Viz :
https://public.tableau.com/profile/klaus.schulte#!/vizhome/CentersoftheWorldsCapitals/Dashboard1?publish=yes
通過左側(cè)的“zoom in / out”參數(shù),您可以改變邊界框的大小,并且由于 Tableau 會(huì)對(duì)其地圖進(jìn)行自動(dòng)調(diào)整,因此看上去您可以放大和縮小地圖。如果我固定地圖,參數(shù)的更改只會(huì)改變視圖中框的大小。
今天,我將在這篇文章中分享自己構(gòu)建這個(gè)可視化作品的具體步驟。
1
找到一些您想要繪制的數(shù)據(jù)
我希望可以查看全球各國(guó)首都的中心,主要是因?yàn)樵?Tableau 中識(shí)別地理中心非常容易:
在 Tableau 中導(dǎo)入國(guó)家和城市列表
創(chuàng)建包含生成的緯度和經(jīng)度的視圖
將工作表作為交叉表導(dǎo)出到 Excel
2
準(zhǔn)備數(shù)據(jù)
首先我們需要用 5 個(gè)點(diǎn)來繪制一個(gè)邊界框。因此,我對(duì)數(shù)據(jù)進(jìn)行了 5 倍處理,并用點(diǎn)順序識(shí)別這 5 個(gè)數(shù)據(jù)。這就是您需要的所有數(shù)據(jù)準(zhǔn)備(甚至可以在 Tableau 中完成此步驟)。
3
構(gòu)造邊界框
然后我就可以通過 Δlon(寬度),Δlat(高度)和一些基本數(shù)學(xué)知識(shí)在城市中心的周圍構(gòu)建邊界框:
但這之后變得棘手起來。因?yàn)?Viz 的早期版本看起來像這樣:
每個(gè)框里的尺寸都不同。那么這里發(fā)生了什么?
4
一些空間基礎(chǔ)知識(shí)
我并不是空間專家,因此我花了一些時(shí)間才弄明白。如 3 中所述的,我想用中心點(diǎn)的緯度 / 經(jīng)度加上或減去緯度 / 經(jīng)度。但不幸的是,以緯度 / 經(jīng)度表示的距離取決于您在地球上的位置(因此,框的大小不同)。
來源:維基百科
這是因?yàn)閮蓚€(gè)經(jīng)度之間的距離并確定。雖然兩個(gè)緯度之間的距離是一個(gè)常數(shù)(111.12 km),但經(jīng)度之間的距離在赤道處具有最大值(這里它也是 111.12 km)而在極點(diǎn)處為 0。
兩個(gè)經(jīng)度之間的距離可以這樣計(jì)算:
Distance = 1 nautical mile * 60 *cos(Latitude)
Distance at the equator = 1,852 m * 60 *cos(0) = 111,120 m (or 111.12 km) with cos(0)=1
在緯度為 45 度時(shí)的經(jīng)度距離為:
1,852 m * 60 * cos(45) = 78,573.7 m
這意味著:以經(jīng)度表示的距離在全球范圍內(nèi)具有不同的長(zhǎng)度,具體取決于緯度。為了消除這種影響,我只需要在 Tableau 中用緯度余弦的計(jì)算對(duì) Δlon(寬度) 進(jìn)行標(biāo)準(zhǔn)化,其公式如下:
到現(xiàn)在為止一切順利。
5
邊界框的大小設(shè)置
在早期的版本中,我通過創(chuàng)建兩個(gè)參數(shù)代表高度和寬度(以緯度和經(jīng)度表示)并繪制框,但后來我覺得只用一個(gè)參數(shù)來表示框的面積會(huì)很酷(平方公里)。因此,我必須計(jì)算 Tableau 中的高度(x)和寬度(y)。
為了完成這個(gè)想法,它需要以下兩個(gè)方程式:
(1) s = x * y
(2) f = y/x with f=format of the box (e. g.16:9, 4:3 or 1:1)
然后我可以根據(jù)我的參數(shù) Square Kilometers(平方公里),format(格式)和 lat / lon per 100m(每 100 米緯度/經(jīng)度)計(jì)算高度和寬度:
代入到這兩個(gè)計(jì)算字段中:
6
將所有東西放在一起
創(chuàng)建視圖之前的最后一步是計(jì)算數(shù)據(jù)每個(gè)點(diǎn)的經(jīng)度和緯度。
緯度:
經(jīng)度:
7
創(chuàng)建 Viz
為了創(chuàng)建這個(gè) Viz 我使用了之前文章中所描述的相同步驟。
對(duì)于第二個(gè)軸,我在標(biāo)記卡中選擇了圓圈,將我的標(biāo)簽放置在下面的公式中。
再加一點(diǎn)格式處理就全部完成了!
希望你喜歡這篇文章,也希望你能找到這個(gè)方法的用武之地!
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7256瀏覽量
91858 -
可視化
+關(guān)注
關(guān)注
1文章
1262瀏覽量
21862
原文標(biāo)題:只需 7 步,帶你完成多個(gè)地圖的自定義縮放控制!
文章出處:【微信號(hào):TableauChina,微信公眾號(hào):Tableau社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何創(chuàng)建TestStand自定義步驟

如何添加自定義單板
為labview類創(chuàng)建自定義探針
如何自定義Component 屬性
在NI Multisim中創(chuàng)建自定義元器件
利用SDSoC創(chuàng)建自定義硬件
如何制作自定義PCB形狀

自定義視圖組件教程案例
用于改進(jìn)應(yīng)用的自定義邏輯外設(shè)

創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL)

如何快速創(chuàng)建用戶自定義Board和App工程

評(píng)論