金仓KGIS支持轨迹数据存储及分析

1、轨迹数据介绍

什么是轨迹数据,轨迹数据其实很常见,比如车辆行驶的轨迹,人走路的轨迹等等

一般轨迹数据使用csv文件存储,数据包含经纬度、measure(通常存为epoch时间戳),比如车辆、人、传感器等信息。

2、金仓存储的轨迹数据

KGIS存储的轨迹数据是每个坐标上的测量值(M 值)递增的线性几何体。可以使用相对时间对时空数据进行建模作为度量值。

常用的轨迹函数:

ST_IsValidTrajectory — 测试几何是否为有效轨迹。

ST_ClosestPointOfApproach — 返回两个轨迹最接近点处的度量值。

ST_DistanceCPA — 返回两个轨迹的最近接近点之间的距离。

ST_CPAWithin — 测试两个轨迹的最近接近点 在指定的距离内。

3、数据存储与应用

(1)数据类型

创建表时指定为LinestringM数据类型。

CREATE TABLE traj_kgis

{

...

track geometry(LineStringM)

);

(2)插入数据

INSERT INTO traj_kgis(...,track)

VALUES (...,ST_GeometryFromText('LINESTRINGM (107.148898 39.015130 1648376351,107.147458 39.015597 1648376411, ...) ',4326));

(3)索引

由于需要对时间和空间做查询,在空间和时间维度上都建了索引。

CREATE INDEX sidx_traj_kgis_track

ON traj_kgis

USING gist (track);

create index sidx_traj_kgis_start

on traj_kgis

using btree (to_timestamp(st_m(st_startpoint(track))));

create index sidx_traj_kgis_end

on traj_kgis

using btree (to_timestamp(st_m(st_endpoint(track))));

(4)查询

以下就用一个最基础的时空查询来看下,查询特定时间内和特定范围相交的轨迹:

WITH my AS ( SELECT ST_Buffer(ST_SetSRID( ST_MakePoint(116.31894, 39.97472),4326),0.0005) areaA

)

SELECT id

FROM traj_kgis, my

WHERE ST_Intersects(track, areaA) = TRUE

AND to_timestamp(st_m(st_endpoint(track))) > '2022-03-27 18:00:00' AND to_timestamp(st_m(st_startpoint(track))) < '2022-03-27 22:00:00'

(5)计算

   ->  Result  (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.001 rows=1 loops=1)

 ->  CTE Scan on my  (cost=0.00..0.02 rows=1 width=32) (actual time=0.002..0.004 rows=1 loops=1)

 ->  Index Scan using sidx_traj_kgis_track on traj_kgis  (cost=0.28..12.85 rows=1 width=31277) (actual time=255.272..861.710 rows=4 loops=1)

       Index Cond: (track && my.areaa)

       Filter: ((to_timestamp(st_m(st_endpoint(track))) > '2022-03-27 18:00:00+08'::timestamp with time zone) AND (to_timestamp(st_m(st_startpoint(track))) < '2022-03-27 22:00:00+08'::timestamp with time zone) AND _st_intersects(track, my.areaa))

       Rows Removed by Filter: 3732

Planning time: 0.358 ms

Execution time: 657.324 ms

 总结 :金仓V9数据库KGIS支持相关模型

Ø 路网模型:解决道路 路径规划 导航路径 搜索规划、 路由 、管网 等相关问题,支撑 导航、物流、交通 等行业 Ø 轨迹模型:分析如车辆、人的轨迹等,应用于 快递、物流、餐饮配送 等行业; Ø 点云模型:辅助 生成高精地图、三维倾斜等 应用数据,支撑 高精导航、规划、自然资源等实景三维 相关行业。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部