室内地图创建者

Posted

技术标签:

【中文标题】室内地图创建者【英文标题】:Indoor map creator 【发布时间】:2011-08-04 00:08:39 【问题描述】:

我已经使用 google API 和 osmdroid API 为 android 设备设计和开发了几个导航应用程序。现在我正在寻找使用 osmdroid API 创建一个室内导航系统。但是,为了做到这一点,我需要从一个简单的 PNG 文件创建类似于常规地图图块的图块,其命名约定类似于 OpenStreetMap。

请建议我如何做到这一点?

干杯, 茄子

【问题讨论】:

【参考方案1】:

您可以使用JOSM 设计您的室内地图。将其保存为 .osm 文件。除非合适,否则不要将数据上传到 OpenStreetMap(OpenStreetMap 有一些基本的一些室内特征,例如高速公路=穿过购物中心的人行道,但通常很多非常详细的室内资料不适合 OSM ) 但是...

使用 .osm 文件,您可以使用 OpenStreetMap rendering tools 之一创建栅格地图,并将其切割成图块。为了快速满意,我推荐 Maperative,尽管我不确定最后一个瓷砖切割步骤有多容易。我从来没有用 Maperative 做过这个。 Mapnik 有一个不错的 generate_tiles.py 输出,它会给你你想要的图块集,但首先设置起来有点棘手。

实际上,最后一步是您要问的主要问题。您可以将任何图像分割成图块。以某种有意义的方式对图块进行地理定位可能对您很重要,也可能不重要。对于old project,我使用google tile cutter 脚本做了一个快速的软糖解决方案,它实际上是GDAL 工具的包装器。

【讨论】:

那条评论真的很有帮助!那么,在将 .osm 文件转换为瓦片地图后,我该如何操作地图呢?比如在其上添加一个随着他的移动而移动的用户位置等【参考方案2】:

查看gdal 库,尤其是gdal2tiles。这是一个旨在从光栅图像创建地图的库,并且完全符合您的目的。

您可以决定投影以及源图像的边界是什么。该库允许您将图像重新投影到正确的坐标空间。

它还可以使用 gdal2tiles 生成各种缩放级别的图块,无论是否有重投影。

【讨论】:

【参考方案3】:

现在您可以通过将 OSM geojson 数据拖放到https://app.openindoor.io 网页中来检查室内渲染。

【讨论】:

以上是关于室内地图创建者的主要内容,如果未能解决你的问题,请参考以下文章

基于Kinect深度图像采集和SLAM室内地图创建算法的matlab仿真

iOS 如何让 MapKit 显示自定义室内地图?

在android中将shape文件或OSM文件显示为地图

AR室内导航-Three.js

室内导航(也许是 MapBox?)

AR室内导航-Three