如何使用 Kibana 可视化地理位置数据

原创
06/10 08:00
阅读数 19

导语



在今天的文章中,我讲一下如何使用 Kibana 可视化地理数据。在我之前有些文章已经介绍过许多这方面的。在这篇文章中,给一些还不是很熟悉的开发者做个简单的介绍。首先我们必须清楚在我们的索引中,必须含有一个叫做 geo_point 类型的字段。这个是表示地理位置的。如果你对这个数据类型不是很熟的话,请参阅我之前的文章 “理解 Elastic Maps 中的 geohash 及其聚合”。


在今天的例子中,我将使用 Elastic Stack 7.13,并使用 Kibana 中自带的索引来进行展示。


准备数据


打开 Kibana:


这样在 Elasticsearch 中,我们可以看到一个叫做 kibana_sample_data_logs 的索引。这索引含有一个叫做 geo.coordinates 的 geo_point 数据类型:


可视化地理位置数据


接下来,我们使用 Maps 应用来对地理位置进行可视化:


在地图应用中,我们可以通过 Add layer 来添加不同的层。这些层的位置也可以从上到下进行调整,也可以选择让它们在不同的 zoom 级别可见或者不可见。这个都是我们可以控制的。


我们选择好时间过滤器。Kibana 会自动选择 geo.coordinates 作为 Geospatial field 的默认值。点击上面的 Add layer:


点击上面的 Save & close:


当我们把 zoom 的级别放大到5倍时,我们才可以看到上面的图。


接下来,我们添加另外一个 layer。我们想显示每个国家的情况。颜色的深浅代表该国文档数目的多少。


上面的  ISO 3166-1 alpha-2 code 指的是两个字母代表的国家编码,比如 US,CN, IN 等。我们其实可以在 kibana_sample_data_logs 里查看一下文档:


从上面,我们可以看出 geo.dest 及 geo.src 是以 ISO 3166-1 alpha-2 code 形式出现的。我们可以通过这个进行关联文档,并在 World Countries 地图中进行显示:


点击上面的 Save & close。这样我们就生产了两层的地图:


当然我们也可以针对它们取不同的名字。我们甚至可以调节它们的上下层关系。当我们把 zoom 级别调低时,我们只看到 World Countries 这个层。当我们把 zoom 级别调高至高于5时,我们可以看到文档的更为详细的情况。在这种情况下,World Countries 这个层就不见了:


好了。今天关于地理位置可视化的教程就先讲到这里。你们可以添加任意一个你们想要的层到地图应用中,并生成你们想要的地图应用。


正文完



 作者:刘晓国

本文编辑:喝咖啡的猫



嗨,互动起来吧!

喜欢这篇文章么?

欢迎留下你想说的,留言 100% 精选哦!

Elastic 社区公众号长期征稿,如果您有 Elastic  技术的相关文章,也欢迎投稿至本公众号,一起进步! 投稿请添加微信:medcl123



招聘信息

Job board


社区招聘栏目是一个新的尝试,帮助社区的小伙伴找到心仪的职位,也帮助企业找到所需的人才,为伯乐和千里马牵线搭桥。有招聘需求的企业和正在求职的社区小伙伴,可以联系微信 medcl123 提交招聘需求和发布个人简历信息。


Elastic中文社区公众号 (elastic-cn)

为您汇集 Elastic 社区的最新动态、精选干货文章、精华讨论、文档资料、翻译与版本发布等。

喜欢本篇内容就请给我们点个[在看]吧




本文分享自微信公众号 - Elastic中文社区(elastic-cn)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部