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

如何添加自定義單板
為labview類創建自定義探針
如何自定義Component 屬性
利用SDSoC創建自定義硬件
自定義視圖組件教程案例
用于改進應用的自定義邏輯外設

如何快速創建用戶自定義Board和App工程

評論