首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建多维交互地图的工具推荐

创建多维交互地图的工具推荐
EN

Stack Overflow用户
提问于 2019-01-31 15:26:00
回答 2查看 423关注 0票数 2

我有QLik/Sense,Big,(及相关)方面的知识。

我需要创建一个包含多个点的地图,每个点将显示数据库中的数据(与点相关)。

例如,该表如下所示:

代码语言:javascript
复制
+------------+---------------------------+-----------+---------+-------+
| Store Name | Store Location (Long/Lat) | Product   | Ordered | Sold  |
+============+===========================+===========+=========+=======+
| Store 1    | XXX,XXX                   | Product 1 | True    | False |
+------------+---------------------------+-----------+---------+-------+
| Store 2    | YYY,YYY                   | Product 1 | True    | True  |
+------------+---------------------------+-----------+---------+-------+
| Store 2    | YYY,YYY                   | Product 2 | False   | True  |
+------------+---------------------------+-----------+---------+-------+

因此,当你在“商店2”商店用鼠标在地图上移动时,你会看到弹出框中只有:

代码语言:javascript
复制
+------------+----------+-----------+
| Product 1  | True     | True      |
+------------+----------+-----------+
| Product 2  | False    | True      | 
+------------+----------+-----------+

以及商店1:

代码语言:javascript
复制
+------------+----------+-----------+
| Product 1  | True     | False     |
+------------+----------+-----------+

我试过:

  • (限制一维,例如存储名和它)
  • 1维Qlik极限
  • 谷歌地图,更好,但我只能显示一个产品,而不是一个产品列表

有什么建议可以用吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-01 16:10:53

在我看来,这是最简单的。

首先,只需加载Store和Product并创建简单的数据模型:

然后添加新图表(Map)并设置位置字段:

增加新的计算尺寸:

代码语言:javascript
复制
=Product & ', Ordered: ' & Ordered & ', Sold: ' & Sold

仅此而已。准备:

票数 1
EN

Stack Overflow用户

发布于 2019-01-31 22:26:02

有什么建议可以用吗?

作为一种解决办法,您可以考虑在可视化数据之前做一些额外的工作,如下面的示例所示(BigQuery标准SQL)

代码语言:javascript
复制
#standardSQL
WITH `project.dataset.table` AS (
    SELECT "Maria's Tortillas" Store, '-118.379096984863,33.9593620300293' Location, 'machaka breakfast burritos' Product, TRUE Ordered, FALSE Sold UNION ALL
    SELECT "Maria's Tortillas", '-118.379096984863,33.9593620300293', 'chile relleno plate', TRUE, TRUE UNION ALL
    SELECT "Anthony's Gift Shop", '-118.371124267578,33.9462585449219', 'LA commemorative trinkets', FALSE, TRUE 
)
SELECT 
    ANY_VALUE(ST_GEOGFROMTEXT(CONCAT('POINT(', REPLACE(location, ',', ' '), ')'))) Store_Location,
    Store Store_Name, 
    STRING_AGG(CONCAT(Product,' | ',CAST(Ordered AS STRING),' | ',CAST(Sold AS STRING)), ' *** ') Products
FROM `project.dataset.table`
GROUP BY Store

如果您在BigQuery Geo Viz工具中运行在上面-您将得到如下所示

为了使可视化更有“情趣”,您可以添加一些附加内容:

代码语言:javascript
复制
#standardSQL
WITH `project.dataset.table` AS (
    SELECT "Maria's Tortillas" Store, '-118.379096984863,33.9593620300293' Location, 'machaka breakfast burritos' Product, TRUE Ordered, FALSE Sold UNION ALL
    SELECT "Maria's Tortillas", '-118.379096984863,33.9593620300293', 'chile relleno plate', TRUE, TRUE UNION ALL
    SELECT "Anthony's Gift Shop", '-118.371124267578,33.9462585449219', 'LA commemorative trinkets', FALSE, TRUE 
)
SELECT 
    ANY_VALUE(ST_GEOGFROMTEXT(CONCAT('POINT(', REPLACE(location, ',', ' '), ')'))) Store_Location,
    Store Store_Name, 
    CONCAT(
        '<table cellpadding="5" style="border-style:solid; border-width:1px;border-collapse:collapse;">',
        STRING_AGG(CONCAT('<tr>',td,Product,'</td>',td,CAST(Ordered AS STRING),'</td>',td,CAST(Sold AS STRING),'</td></tr>')),
        '</table>'
    ) Products
FROM `project.dataset.table`, UNNEST(['<td style="border-style:solid;border-width:1px">']) td
GROUP BY Store  

因此,结果会更好地格式化(如下图所示)。

你可能会采用这种“技术”,除非你会找到一个工具来独立处理你的所有需求。

同时,请记住,不同的工具将以不同的方式处理此类解决方案--例如,如果您在歌利亚中运行两个脚本以上--您将分别拥有:

此外,在Goliath中,Geo可视化是内置的特性,因此您可以在不离开BigQuery工具的情况下,通过多层交互构建地理可视化,并组合来自多个查询等的结果。

披露:我是作者,产品负责人,并领导着Potens.io工具套件的开发(歌利亚是其中的一部分)--这也在我的SO个人资料中有明确的说明。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54463896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档