2

我需要一个适用于 Android 的 Map API,它可以为我提供构成道路网络的索引节点和索引。主要思想是确定两个 GPS 设备是否在同一条道路上。先感谢您

4

2 回答 2

2

Map API 本身不会有这些信息。无论如何,您可以从OpenStreetMap自由获取它。你可以从这里下载。

如果您打算在地图上显示结果,我不明白您的问题。如果是这样,并且您想要一个不错且免费的地图 API,我建议您使用Leaflet。它不像OpenLayers之类的那样成熟,但是,正如你用“android”标记这篇文章,Leaflet 只是在移动部门踢屁股。

于 2012-04-19T21:52:50.667 回答
2

对于此类项目,OpenStreetMap 绝对是一个很好的数据来源。与谷歌地图不同,它允许开发人员访问地图的底层矢量数据(完全开放)。这允许使用谷歌地图根本不可能的有趣的新用例,并且像这样涉及几何计算的东西肯定适合该类别。您要么需要 OpenStreetMap 或其他一些“矢量”地图数据源,而且在 OpenStreetMap 之外,这可能会很昂贵。

不幸的是,这不是您问题的完整答案。要以您想要的方式使用数据,您还有很多工作要做。您需要计算两个点(来自两个设备的 GPS 读数?)与附近道路的接近程度,并找出该点离哪条道路最近。这是一种强大的地理计算,您可以使用 GIS 包(如 QGIS)或地理感知数据库系统 PostGIS 的功能进行。

但这不是您问题的答案,因为您需要在设备上进行这些计算。我不知道有一个现成的库可以在 android 上执行此操作。我想你必须自己动手。

但另一个挑战是首先以合适的格式将矢量数据放到设备上,这是首先要解决的问题。您可能希望将矢量数据作为整个国家或较小区域的大型下载,也许在此应用程序中具有即时下载功能。在使用矢量形式的地图时,整个国家并非不可行(曾经尝试过很棒的MayDroyd应用程序吗?),但需要一些紧凑的格式。令人高兴的是,其中一些问题开始在开源的现成库中得到解决。例如,您可以尝试在MapsForge之上构建。

因此,您又回到了编写设备上代码以在这些数据中四处寻找并进行您想做的计算的挑战。我想如果像 MapsForge 这样的项目包含通用的 PostGIS 风格的地理功能来使这更容易,那可能会很好。可能要向 mapsforge 开发人员询问一些事情。

于 2012-04-26T15:31:52.020 回答