【问题标题】:How to find similar trajectories如何找到相似的轨迹
【发布时间】:2017-02-07 22:12:12
【问题描述】:

我是 GIS 的新手。我正在使用一个现有的数据集,它是三元组及其轨迹 ID 的集合。我需要找到类似的轨迹。我正在使用 postgres 作为数据库。我已经导入了数据集,我想将轨迹可视化。如何转换线串中的现有数据?

【问题讨论】:

    标签: postgresql gis


    【解决方案1】:

    您是否只需要每个轨迹 ID 的 LineString(即通过“查找相似轨迹”)?如果是这样,您希望将ST_MakeLine(空间聚合版本)与ST_MakePoint 结合使用。对于 PostGIS 9.0 及更高版本,您可以执行以下操作:

    SELECT points.trackid,
           ST_MakeLine(points.point_geom ORDER BY points.timedetails) AS line_geom
    FROM (SELECT data.trackid,
                 data.timedetails,
                 ST_MakePoint(data.longitude, data.latitude) AS point_geom
          FROM your_table AS data) AS points
    GROUP BY points.trackid;
    

    【讨论】:

    • 是的,我已经这样做了。但现在我想比较这些轨迹。我可以为此使用 LCSS 算法吗?寻找相似轨迹的最佳算法是什么?
    • 我是这么认为的,这很容易弄清楚...,) PostGIS 的 Pg-trajectory 扩展名正在最近开发中,似乎旨在处理 LCSS 问题。扩展程序易于使用,这可能是您正在寻找的。不过,我对比较时空数据知之甚少……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 2016-06-09
    • 2018-03-05
    • 2021-09-24
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    相关资源
    最近更新 更多