HMM地图匹配算法库Barefoot环境搭建

2024-06-04 19:12

本文主要是介绍HMM地图匹配算法库Barefoot环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.引入gps路径匹配开源项目barefoot

克隆仓库

git clone https://github.com/bmwcarit/barefoot.git

打开项目执行mvn命令将项目打包到maven仓库

mvn install -DskipTests

在自己的maven项目中引入barefoot依赖

        <dependency><groupId>com.bmw-carit</groupId><artifactId>barefoot</artifactId><version>0.1.5</version></dependency>

下载地图数据

手动划定深圳市范围,下载osm.pbf格式数据

下载地址:https://extract.bbbike.org/

overpass api可下载指定城市或区域的地图

2.安装PostgreSql数据库及相关支持

安装PostgreSql

安装用于导入osm.pbf格式地图数据的工具osmosis,下载下来直接解压,并将其bin目录路径添加到环境变量path中即可。
下载地址:https://bretth.dev.openstreetmap.org/osmosis-build/
用osmosis将osm.pbf文件解压为.osm格式文件

osmosis --read-pbf shenzhen.osm.pbf --write-xml shenzhen.osm

下载安装对应ArcGIS版本的osm编辑插件,然后在插件中用load osm file将.osm文件导入到ArcGIS中,导入的时间可能会比较长,放在那等一下地图就会自己加载出来了
参考文章:https://support.esri.com/en/technical-article/000023329

3.将osm.pdf(或osm)地图数据导入到pg数据库

参考文章:PostgreSQL+PostGIS安装以及用Osmosis导入openstreetmap地图数据

首先在pgadmin4界面中新建一个数据库sz_osm,然后打开命令行终端,先运行两个给数据库安装扩展的命令,然后运行一个sql文件建表,注意sql文件路径中不能有中文或空格。

psql -U postgres -d sz_osm -c "CREATE EXTENSION postgis;"
psql -U postgres -d sz_osm -c "CREATE EXTENSION hstore;"
psql -U postgres -d sz_osm -f D:\IdeaProject\barefoot\map\osm\pgsnapshot_schema_0.6.sql

在这里插入图片描述
最后导入下载的osm.pbf地图数据

osmosis --read-pbf file=C:\Users\syc\Desktop\road_data\Road_data_download\shenzhen.osm.pbf --write-pgsql user=postgres database=sz_osm password=post

如果是osm格式的则将–read-pbf改为–read-xml。或者用如下命令将osm改为osm.pbf格式

osmosis --rx mainRoadByMerk.osm --wb mainRoadByMerk.osm.pbf

4. 使用barefoot库提供的脚本将pg数据库中的数据转换为bfmap格式

准备并启动python2.7环境,以下所有命令都要在python2.7环境中运行!!!!

安装三个Python库

conda install Psycopg2
conda install NumPy
conda install Python-GDAL

Python-GDAL这个库可能找不到,可安装gdal代替。安装时可能会出现环境无法解决的错误,解决方案可参考:https://blog.csdn.net/qq_27377201/article/details/107009927

conda install gdal

运行如下命令开始转换数据,注意新表名不要和原表名冲突

python D:\IdeaProject\barefoot\map\tools\osm2ways.py --host localhost --port 5432 --database sz_osm --table bf_ways --user postgres --slim
python D:\IdeaProject\barefoot\map\tools\ways2bfmap.py --source-host localhost --source-port 5432 --source-database sz_osm --source-table bf_ways --source-user postgres --target-host localhost --target-port 5432 --target-database sz_osm --target-table bfmap_ways --target-user postgres --config D:\IdeaProject\barefoot\map\tools\road-types.json

总结

使用开源库时一定要严格按照使用文档来,特别是软件包需要的版本,不能随意

这篇关于HMM地图匹配算法库Barefoot环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030870

相关文章

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.