使用地理时序数据
此页面记录了早期版本的 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 示例数据
使用 experimental 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"
)
使用 Line Protocol 将示例数据写入 InfluxDB
使用 curl
和 influx write
命令将鸟类迁徙 Line Protocol 写入 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")
此页面是否对您有帮助?
感谢您的反馈!