我使用google API和osmdroid API为android驱动的设备设计和开发了几个导航应用程序。现在我希望创建一个使用osmdroid API的室内导航系统。但是,为了做到这一点,我需要从一个简单的PNG文件创建类似于常规地图瓦片的瓦片,命名约定类似于OpenStreetMap。
请建议我怎么做?
干杯,苏希尔
发布于 2011-08-19 20:00:51
您可以使用JOSM设计您的室内地图。将其保存为.osm文件。不要将数据上传到OpenStreetMap,除非这样做是合适的(OpenStreetMap具有一些基本的室内功能,例如在商场中运行的highway=footway,但通常许多非常详细的室内内容不适合用于OSM)。
对于.osm文件,您可以使用其中一个OpenStreetMap rendering tools来创建光栅贴图,并将其切成瓦片。为了快速获得满足感,我推荐Maperative,尽管我不确定最后一步有多容易。我从来没有用Maperative做过这样的事情。Mapnik有一个很好的generate_tiles.py输出,它将为您提供所需的tileset,但它在一开始就有点棘手。
实际上,最后一步是您要问的主要问题。你可以把任何图像切成瓦片。磁贴是否以某种有意义的方式定位对您来说可能很重要,也可能不重要。对于old project,我使用google tile cutter脚本做了一个快速的模糊处理解决方案,它实际上是GDAL工具的包装器。
发布于 2011-08-19 20:14:53
看看gdal库,特别是gdal2tiles。这是一个专为从光栅图像创建地图而设计的库,完全可以满足您的需求。
您可以决定投影和源图像的边界。该库允许您将图像重新投影到正确的坐标空间。
它还可以使用gdal2tiles生成不同缩放级别的磁贴,无论是否有重新投影。
发布于 2021-11-16 22:20:58
现在,您可以通过拖放OSM geojson数据到https://app.openindoor.io网页来检查室内渲染。
https://stackoverflow.com/questions/6934773
复制相似问题