时空服务介绍

Lindorm Ganos时空服务是Lindorm宽表引擎的原生扩展服务,兼容SQL、GeoMesa和流引擎接口。Lindorm Ganos时空服务在宽表基础上,为各类空间/时空数据提供云上的高效存储、查询和分析计算能力。如果您的业务涉及时空轨迹数据,且需要对轨迹进行分析和处理,建议您开通Ganos时空服务。

背景信息

越来越多的领域(例如出行、车联网、物联网、自动驾驶、物流、GIS等)都会产生海量的时空轨迹数据,用户对这些时空轨迹数据产生了时空范围查询、地理围栏判断和时空数据挖掘等需求。例如,查找过去一段时间经过某片区域的车辆、实时监控车辆是否偏离规划线路、搜索周边500米范围的车辆等场景。

在功能上,Lindorm Ganos时空服务与PostgreSQL中的PostGIS插件、MongoDB的地理范围查询相似。Lindorm Ganos时空服务支持标准的空间数据类型(Geometry),提供时空索引能力能够帮助用户查询各类时空数据,同时具有高吞吐、高扩展性和低存储成本等优点。因此,Lindorm Ganos时空服务处理时空轨迹数据时具有更高的性价比。

支持的接口

Lindorm Ganos时空服务支持的接口:SQL接口、GeoMesa接口和流引擎接口。

类别

SQL接口

兼容GeoMesa接口

流引擎接口

接口

标准SQL接口

GeoTools API/ECQL接口

标准Flink SQL接口

功能

  • 覆盖GeoMesa、MongoDB、Redis在时空方面的功能。

  • 提供了大量兼容PostGIS的函数。

  • 支持轨迹计算相关的函数。

继承开源GeoMesa功能。

  • 覆盖Flink在流计算方面的功能。

  • 提供了大量兼容PostGIS的时空函数。

  • 支持轨迹计算相关的函数。

  • 支持实时地理围栏过滤及实时轨迹聚合。

性能

具备查询改写、并行查询、shard、优化空间逼近算法等技术,性能优于开源版本的GeoMesa。

优于开源版本的GeoMesa和HBase。

具备内存索引、并行查询等技术,查询性能优秀。

定位

适用于原有使用SQL接口(如PostGIS)和GeoMesa、MongoDB、Redis时空应用的迁移。

适用于所有开源GeoMesa用户。

适用于原有使用流引擎(如Flink、Spark)时空应用的迁移。

SQL接口

功能特性

Lindorm Ganos时空服务SQL接口支持以下功能特性:

特性

描述

标准的点、线、面等空间数据类型

支持Geometry、Point、LineString和Polygon,详细介绍请参见空间数据类型

标准的SQL语法

更多SQL语法请参见DDLDML

常用的时空函数

更多时空函数,请参见函数概览

时空主键索引

时空主键索引可以加快时空数据查询的速度,查询条件中支持空间范围或者包含空间范围和时间范围。

  • 空间范围查询:

    CREATE TABLE gtest(id INT, g GEOMETRY(POINT), name VARCHAR, PRIMARY KEY(Z-ORDER(g),id));
  • 空间范围和时间范围查询:

    CREATE TABLE gtest(id INT, g GEOMETRY(POINT), name VARCHAR, t LONG, PRIMARY KEY(Z-ORDER(g,t),id));

时空二级索引

时空二级索引可以加快时空数据查询的速度,查询条件中支持空间范围或者包含空间范围和时间范围。

  • 空间范围查询:

    CREATE INDEX idx ON gtest (Z-ORDER(g));
  • 空间范围和时间范围查询:

    CREATE INDEX idx ON gtest (Z-ORDER(g,t));
说明

Ganos时空服务支持时空二级索引,所以无需为时空数据冗余一份数据。

支持宽表引擎的所有特性

  • 冷存储。

  • 冷热分离。

  • 动态列。

更多特性,请参见开发指南

应用场景

Lindorm Ganos时空服务适用于出行、航海、航空、车联网、物流等领域的时空数据管理与查询场景。典型的应用场景如下:

场景

示例

轨迹数据存储与查询

  • 查询24小时内目标对象在指定范围内的轨迹。

  • 大规模历史轨迹的压缩存储,减少存储成本。

地理网格聚合

  • 基于H3网格和指定精度进行轨迹点聚合、过滤查询。

  • 轨迹热力图:统计不同区域的车辆数,并使用热力图的方式进行可视化展示。

实时地理围栏

  • 车辆监控报警:实时监控目标车辆的位置是否偏离指定的范围并进行报警。

  • 网约车:根据上车地点判断所在的空间位置,以此来设定不同的定价或服务。

基于位置的服务LBS(Location Based Services)

搜索周边5公里餐馆信息。

GeoMesa接口

Lindorm Ganos时空服务GeoMesa接口兼容开源GeoMesa、GeoServer等生态,可广泛应用于空间或时空数据存储、查询、分析与数据挖掘等场景。

流引擎接口

功能特性

特性

描述

时空内存索引

Lindorm Ganos时空服务在Lindorm流引擎中实现了基于内存的RTree索引,即时空内存索引。

详细介绍及使用方法,请参见时空内存索引

应用场景

适用于车联网、物流、交通规划、自动驾驶等基于流式数据且对实时性要求较高的时空数据管理与查询场景。

场景

示例

电子围栏

实时计算多个车辆的位置,判断目标对象是否离开地理围栏区域。

轨迹生成

回溯车辆的行驶轨迹、基于多条轨迹统计常行驶路线、计算车辆轨迹之间的相似性。

区域统计

根据地理区域范围进行聚合查询,形成热力图实时展示各区域的车辆数。

盲区会车

实时计算目标对象的位置,判断是否进入盲区,并及时进行提示。