金仓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支持相关模型
Ø 路网模型:解决道路 路径规划 、 导航路径 搜索规划、 路由 、管网 等相关问题,支撑 导航、物流、交通 等行业 ; Ø 轨迹模型:分析如车辆、人的轨迹等,应用于 快递、物流、餐饮配送 等行业; Ø 点云模型:辅助 生成高精地图、三维倾斜等 应用数据,支撑 高精导航、规划、自然资源等实景三维 相关行业。本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
