使用地理时序数据
此页面记录了早期版本的 InfluxDB OSS。 InfluxDB OSS v2 是最新的稳定版本。 请参阅等效的 InfluxDB v2 文档: 使用地理时序数据。
使用 Flux Geo 包 来过滤地理时序数据,并按地理位置或轨迹进行分组。
Geo 包是实验性的,可能会随时更改。通过使用它,您同意 实验性功能的风险。
要使用地理时序数据
导入
experimental/geo
包。import "experimental/geo"
加载地理时序数据。 有关 示例地理时序数据,请参见下文。
执行以下一项或多项操作
- 塑造数据以使用 Geo 包
- 按区域过滤数据(使用严格或非严格过滤器)
- 按区域或轨迹分组数据
塑造数据以使用 Geo 包
Flux Geo 包中的函数需要 lat 和 lon 字段以及 s2_cell_id 标签。重命名纬度和经度字段并生成 S2 单元格 ID 令牌。
import "experimental/geo"
sampleGeoData
|> geo.shapeData(latField: "latitude", lonField: "longitude", level: 10)
按区域过滤地理时序数据
使用 geo.filterRows
函数按盒状、圆形或多边形地理区域过滤地理时序数据。
import "experimental/geo"
sampleGeoData
|> geo.filterRows(
region: {lat: 30.04, lon: 31.23, radius: 200.0},
strict: true
)
分组地理时序数据
使用 geo.groupByArea()
按区域对地理时序数据进行分组,并使用 geo.asTracks()
将数据分组为轨迹或路线。
import "experimental/geo"
sampleGeoData
|> geo.groupByArea(newColumn: "geoArea", level: 5)
|> geo.asTracks(groupBy: ["id"],orderBy: ["_time"])
示例数据
本节中的许多示例都使用 sampleGeoData
变量,该变量表示地理时序数据的样本数据集。 GitHub 上提供的鸟类迁徙示例数据提供了满足 Flux Geo 包要求的示例地理时序数据。
加载带注释的 CSV 示例数据
使用 实验性 csv.from()
函数 从 GitHub 加载示例鸟类迁徙带注释的 CSV 数据
import `experimental/csv`
sampleGeoData = csv.from(
url: "https://github.com/influxdata/influxdb2-sample-data/blob/master/bird-migration-data/bird-migration.csv"
)
使用行协议将示例数据写入 InfluxDB
使用 curl
和 influx write
命令将鸟类迁徙行协议写入 InfluxDB。将 db/rp
替换为您的目标存储桶
curl https://raw.githubusercontent.com/influxdata/influxdb2-sample-data/master/bird-migration-data/bird-migration.line --output ./tmp-data
influx write -b db/rp @./tmp-data
rm -f ./tmp-data
使用 Flux 查询鸟类迁徙数据,并将其分配给 sampleGeoData
变量
sampleGeoData = from(bucket: "db/rp")
|> range(start: 2019-01-01T00:00:00Z, stop: 2019-12-31T23:59:59Z)
|> filter(fn: (r) => r._measurement == "migration")
此页面是否对您有帮助?
感谢您的反馈!