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