Google 地图或 OpenStreetMap 获取图表
GoogleMaps or OpenStreetMap get graph
是否有机会从 Google 地图或 OpenStreetMap 获取所有十字路口的图表?不是整个世界,而是某些部分 :) 对于每个十字路口,我需要知道坐标、所有邻居列表(最近的十字路口)以及到这些十字路口的距离。
我正在尝试实现一种搜索算法,因此我需要这些数据来提供最短路线搜索。
谢谢!
Google 地图 API 没有提供您要查找的内容。但是,您可以使用一些间接方法。
Google 地图道路 API 将接受一组随机点并将它们捕捉到合适的道路。您仍然需要弄清楚如何定位交点和它们之间的距离。
google.maps.DistanceMatrix 会让您知道起点和终点矩阵之间的距离和时间。您必须弄清楚我们要查询的起点和终点。
google.maps.DirectionsService 会为您推荐路线,前提是您输入了原始路线、目的地和可选路线 waypoints。
看来您需要使用上述两个方法来检测交叉点。
另一种方法是安装带有 Tiger 地理编码器的 postGis。但它是一整天
- 列表项
使用 GraphHopper 很容易做到这一点(披露:我是作者)。只需下载 Java 源代码并实施您的自定义搜索算法。所有所谓的塔节点都是你需要的路口,你可以很容易地得到它们的坐标(伪代码):
g = hopper.getGraph()
loop from i=0 to g.getNodes()
print g.getLatitude(i) // or getLongitude
是否有机会从 Google 地图或 OpenStreetMap 获取所有十字路口的图表?不是整个世界,而是某些部分 :) 对于每个十字路口,我需要知道坐标、所有邻居列表(最近的十字路口)以及到这些十字路口的距离。 我正在尝试实现一种搜索算法,因此我需要这些数据来提供最短路线搜索。 谢谢!
Google 地图 API 没有提供您要查找的内容。但是,您可以使用一些间接方法。
Google 地图道路 API 将接受一组随机点并将它们捕捉到合适的道路。您仍然需要弄清楚如何定位交点和它们之间的距离。
google.maps.DistanceMatrix 会让您知道起点和终点矩阵之间的距离和时间。您必须弄清楚我们要查询的起点和终点。
google.maps.DirectionsService 会为您推荐路线,前提是您输入了原始路线、目的地和可选路线 waypoints。
看来您需要使用上述两个方法来检测交叉点。
另一种方法是安装带有 Tiger 地理编码器的 postGis。但它是一整天
- 列表项
使用 GraphHopper 很容易做到这一点(披露:我是作者)。只需下载 Java 源代码并实施您的自定义搜索算法。所有所谓的塔节点都是你需要的路口,你可以很容易地得到它们的坐标(伪代码):
g = hopper.getGraph()
loop from i=0 to g.getNodes()
print g.getLatitude(i) // or getLongitude