地图匹配之西雅图数据下载以及导入postgresql+postgis空间数据库

编程入门 行业动态 更新时间:2024-10-17 00:25:30

地图匹配之<a href=https://www.elefans.com/category/jswz/34/1770069.html style=西雅图数据下载以及导入postgresql+postgis空间数据库"/>

地图匹配之西雅图数据下载以及导入postgresql+postgis空间数据库

地图匹配之西雅图数据下载以及导入postgresql+postgis空间数据库

    • 1. 下载链接
    • 2.导入数据库

1. 下载链接

Paul Newson and John Krumm两人提出并实现了基于HMM模型的地图匹配算法,并且公开了数据集。论文链接和数据集下来链接如下:
论文:=10.1.1.187.5145&rep=rep1&type=pdf
数据集:/
该数据集包含gps轨迹、路网以及真值这三个文件。
gps轨迹:每一行分别是日期,时间,纬度,经度
路网:道路id,上一条路的id,下一条路的id,是否为双向,道路限速,该条路有多少个节点,道路节点的坐标。
真值:真值文件是保存了gps输入哪一条路上id,可能有一段gps轨迹都输入同一段路。

2.导入数据库

提前安装:
postgresql+postgis空间数据库
navicat数据库工具
然后创建数据库,再根据sql命令“create extension postgis;”将postgis引入数据中

2.1 将路网导入空间数据库
将下载下来的路网文件保存为.csv格式的文件,另外我多添加了一列id,方便以后的查看吧,虽然每条道路都有唯一的edgeID了,但不方便查看是第几条道路。
创建路网表

create table if not EXISTS road_network
(id INT,EdgeID BIGINT,Source_ID BIGINT,target_ID BIGINT,Two_Way int,Speed_ms float,Vertex_Count int,LINESTRING geometry
);

然后参考这个网址:
=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.essearch_pc_relevant&spm=1001.2101.3001.4242.1

选中新建好的表格road_network->右键->import Wizard…
选择 CSV file(*.csv) 然后点“next”
选择要导入的路网文件,然后下一步,直到下面这一步:

Source Field是路网文件(.csv)中的列,Target Field是数据库中的路网表,这一步要自己手动选择路网表中的每一列对应存储的内容。确定好之后就下一步,最后一步是现在“start”,然后就开始导入。

这个路网应该是基于wgs84坐标系下的,但是使用st_srid()函数查询发现,导入数据库的路网的srid是0.因此我们需要手动修改他的srid,用如下命令:

UPDATE road_network set linestring = st_setsrid(linestring, 4326);

到这里导入结束。
可以用qgis连接数据库查看这个地图啦。

要是想把gps轨迹和真值也导入数据库,按照上面的方法导入。

更多推荐

地图匹配之西雅图数据下载以及导入postgresql+postgis空间数据库

本文发布于:2024-02-10 18:48:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676768.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:西雅图   数据库   地图   数据   空间

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!