最近,我制作了一个 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文章
7085浏览量
89214 -
可视化
+关注
关注
1文章
1198浏览量
20972
原文标题:只需 7 步,带你完成多个地图的自定义缩放控制!
文章出处:【微信号:TableauChina,微信公众号:Tableau社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论