0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解为多个地图创建自定义缩放控制的具体步骤

Tableau社区 来源:未知 作者:李倩 2018-10-11 15:49 次阅读

最近,我制作了一个 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社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何创建TestStand自定义步骤

    在之前的课程中简单地介绍过TestStand自带的一些步骤类型,如测试、消息弹窗、赋值、标签等等,这些简单的步骤从TestStand的插入选版中就可以添加到序列中。那么在使用中如果碰到需要实现更加灵活、复杂的功能,使用自带的一些步骤
    的头像 发表于 09-11 14:46 1175次阅读
    如何<b class='flag-5'>创建</b>TestStand<b class='flag-5'>自定义</b><b class='flag-5'>步骤</b>

    labview类创建自定义探针

    通过自定义探针来访问需要访问的LabVIEW类成员vi信息,废话不说直接写原理过程:1. 创建一个demo.Lvproj2. Write data成员vi3.上图为main.vi4. 右键探针
    发表于 03-22 10:32

    动态创建右键自定义快捷菜单

    程序运行菜单一样,当针对某对象的操作项比较多的时候,比较适合用右键快捷菜单来代替多个控件,用来精简界面。(2)比较符合人右键查看功能的操作习惯。接下来就来讲解右键快捷菜单如何自定义。 2 第一步:创建
    发表于 09-15 00:06

    如何自定义Component 属性

    ,而是利用现有的API(例如,各种get,set方法)。===如果您想自定义组件,那么需要新创建一个类,并继承Component类,实现其基本的构造方法。然后,在其类内部实现具体的各种自定义
    发表于 12-21 09:31

    1602自定义字符

    1602液晶能够显示自定义字符,能够根据读者的具体情况显示自定义字符。
    发表于 01-20 15:43 1次下载

    在NI Multisim中创建自定义元器件

    在NI Multisim中创建自定义元器件,NI Multisim虽然强大但芯片太少所以总结这方法
    发表于 07-20 17:21 0次下载

    Qt自定义窗口部件的创建

    通过对一个已经存在的Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件。以下直接对已有的Qt窗口部件进行子类化
    发表于 09-09 09:00 2430次阅读

    利用SDSoC创建自定义硬件

    SDSoC是开发Zynq-7000 SoC应用程序的理想工具,当您可以在自己的定制板平台上实现设计时,SDSoC变得更加强大。 有了这个视频,看看创建自己的自定义硬件是多么容易..
    的头像 发表于 11-26 06:25 2569次阅读

    如何制作自定义PCB形状

    虽然现在的步骤很简单,但是所有的事情都花了一些时间。..所以我尝试汇编这里的所有技巧,以使那些寻求帮助的人变得非常简单创建自定义格式的简便方法。
    的头像 发表于 10-14 10:14 6093次阅读
    如何制作<b class='flag-5'>自定义</b>PCB形状

    自定义视图组件教程案例

    自定义组件 1.自定义组件-particles(粒子效果) 2.自定义组件- pulse(脉冲button效果) 3.自定义组件-progress(progress效果) 4.
    发表于 04-08 10:48 14次下载

    教程 2:添加特征-自定义配置文件创建

    教程 2:添加特征 - 自定义配置文件创建
    发表于 03-15 19:39 0次下载
    教程 2:添加特征-<b class='flag-5'>自定义</b>配置文件<b class='flag-5'>创建</b>

    用于改进应用的自定义逻辑外设

    PIC® 和 AVR® 微控制器 (MCU) 上的自定义逻辑外设是功能强大的工具,可用于创建独立于 CPU 运行的分立逻辑小块。PIC 微控制器具有可配置逻辑单元 (CLC),而 AV
    的头像 发表于 05-06 09:51 952次阅读
    用于改进应用的<b class='flag-5'>自定义</b>逻辑外设

    教程 2:添加特征-自定义配置文件创建

    教程 2:添加特征 - 自定义配置文件创建
    发表于 07-06 18:50 0次下载
    教程 2:添加特征-<b class='flag-5'>自定义</b>配置文件<b class='flag-5'>创建</b>

    labview超快自定义控件制作和普通自定义控件制作

    labview超快自定义控件制作和普通自定义控件制作
    发表于 08-21 10:32 13次下载

    创建自定义的基于闪存的引导加载程序(BSL)

    电子发烧友网站提供《创建自定义的基于闪存的引导加载程序(BSL).pdf》资料免费下载
    发表于 09-19 10:50 0次下载
    <b class='flag-5'>创建</b><b class='flag-5'>自定义</b>的基于闪存的引导加载程序(BSL)