TL;DR 地理时空数据和 InfluxDB
作者:Susannah Brodnitz / 产品, 用例, 开发者
2022 年 7 月 7 日
导航至
地理时空数据同时具有位置和时间。它被用于各种应用,从跟踪货物运输,到预测天气模式,再到构建健身应用。它之所以强大,是因为它能让您知道事件发生的位置和时间,从而更好地理解事件,并将事件与其他事件联系起来。
如果没有合适的工具,例如 InfluxDB,时间序列数据可能会变得庞大而笨拙。当您加入地理时空数据的空间维度时,事情可能会迅速失控。如果您没有合适的工具,用于分析地理时空数据的代码可能需要很长时间才能运行,并使您的项目效率大大降低。InfluxDB 的地理时空包旨在处理此类数据,因此您可以存储和查询它,从而获得更快的结果。
S2 几何的强大功能
InfluxDB 中的地理时空工具的强大功能很大程度上来自于它们对 S2 几何的使用。S2 几何是一种将地球划分为单元格的系统。它基于地球的球面投影而不是平面投影,从而消除了间隙或重叠区域。了解两个点所在的单元格可以很好地估计它们之间的距离,而无需进行计算量大的三角运算来计算经纬度之间的距离。您可以指定单元格的大小级别,以决定您想要的精度。根据您的需要,这可以从半球到几毫米不等。
首先,您需要将数据以及您的其他数据和您可能需要的任何标签,连同经纬度作为字段写入 InfluxDB。Flux 的 geo 包有一个名为 shapeData 的函数,它可以获取经纬度数据并将其转换为 S2 单元格 ID。
示例计算
一旦您的数据具有 S2 单元格 ID,您就可以做无数的事情。一个例子是使用 filterRows 函数将您的数据子集化到您选择的区域。这可以是框形、圆形或任何任意多边形。如果您尝试跟踪卡车何时驶入装货区,您可以指定该区域并设置警报。使用 S2 单元格而不是三角运算使实时应用程序更容易编程。
当您拥有 时间序列分析固有的海量数据时,通过 S2 计算节省的时间确实会累积起来。我们的文档提供了关于 Flux 中包含的不同地理时空函数的更多信息。
观看我们关于地理时空数据的三部分视频系列,以了解更多信息。
第 1 部分 介绍了地理时空数据。
第 2 部分 深入探讨了 S2 几何。
第 3 部分 提供了一些示例查询。