我正在尝试了解OpenStreetMap的所有这些地图格式,我真的很困惑。 OSM wiki有很多信息,但看起来它遍布不同的地方,我无法深入了解所有格式。
我正在寻找可以在Android中用于离线使用的东西。我知道有很多框架甚至是使用不同文件格式的应用程序,但对我来说,他们使用的文件格式都非常庞大。
据我所知,OSM支持的最轻量级格式是PBF-Binary,它是栅格格式,对吗?
我发现可以将它转换为矢量的* .map格式,对吧?
然后大小比PBF-Binary小40%,但它必须渲染,它不会像光栅一样快,对吧?
另一个问题是,什么是可以用于android的最紧凑的OSM地图格式?
我知道一个我经常使用的应用程序 - MapsWithMe,它有小的地图文件,它们非常快,但我不知道它是否使用光栅或矢量,我知道只有他们使用OSM地图,但作为我了解他们已经基于它创建了自己的格式,或者像那样创建了自己的格式。
我遇到过GeoJson,地图文件非常小,不超过几兆字节。所以现在我很困惑为什么会这样,为什么它不用于移动开发,因为我用Google搜索'geojson android'而没有关于它的信息。
是否有这些格式的比较表?
所以,如果有人有链接我可以了解所有这些事情,你能不能把它给我?
由于
答案 0 :(得分:5)
PBF格式是XML的一个小得多的替代品。它包含相同的原始矢量数据。您可以从一种格式转换为另一种格式而不会丢失任何信息。 PBF更小更快,因为它是二进制数据而XML是纯文本。 OSM wiki简要概述了common OSM file formats。
我不知道你在哪里获得了GeoJson很小的信息。地图的大小取决于几个属性。主要是报道和细节。通常,您不希望在您的设备上拥有覆盖整个世界的离线地图,因为它会非常大。大多数时候你只需要一个小区域,比如一个国家。通常,您不需要OSM可以提供的所有信息。道路,城市和重要的POI通常足以进行路由和搜索。
您没有告诉我们您想要对地图做什么。只是画它?或者您还需要路由和搜索功能吗?哪种地图格式对您最有用取决于您的使用案例。
已经有很多software for Android using OSM,包括各种开源程序。如果您需要灵感来自软件,可以查看它们。