首页 文章

使用osmdroid脱机使用 Map 数据

提问于
浏览
0

我的最终目标是拥有 Map 数据(离线,因为我将自己自定义)并将其显示在应用程序(Android)中 . 我可以让osmdroid工作在线加载 Map ,我试图弄清楚如何下载和显示离线 Map . 我下载了MOBAC(Mobile Atlas Creator)并将数据导出为SQLite格式,当我看到它时,我意识到图块以图像格式(PNG)保存 .

我想要做的是将数据导入到手机中以便稍后在搜索引擎或路由算法等算法中使用它,所以我需要“节点”和“方式”(因为我从原始的OSM XML中获取它们) ),将它们导入手机并将其可视化,以便以后将这些数据用于我想要开发的算法 . 基本上,MAPS.ME的作用 . 我认为将XML转换为SQLite并不困难,因为一个简单的脚本可以实现它,但是,如何从这个自定义SQLite数据库生成切片?或者,有没有一种方法可以以更合适的方式下载数据来完成我打算做的事情?

谢谢 .

1 回答

  • 0

    从原始Openstreetmap数据渲染应用程序中的切片将是计算繁重且效率低下的 . 我建议您使用导出的图像切片进行可视化表示 .

    除了图块之外,您还应该在应用程序中导出所需功能的数据集 . 您不需要Openstreetmap中的所有数据,因此您应该确定所需的内容并构建自定义导出(有用于处理和过滤Openstreetmap数据的工具和库 . 我使用了pyosmium进行了一些过滤和处理,但还有其他的 . )例如,您可以使用要搜索的POI构建自定义数据库 .

    路由是另一章 . 您可以自己实现它,但这是一项非常复杂的任务 . 有java library called Graphopper可以为您提供数据提取(来自Openstreetmap)和离线路由 . 他们也有一个在线API,但它可以让它完全脱机工作(我为一个应用程序做了) . 尝试查看源代码,因为您可以看到复杂的主题路由 . 最后注释:从Graphopper导出的数据包含有关路径中某些POI的信息 . 有可能通过它的java API搜索一些东西,但我还没有调查过这个 .

相关问题