Graphhopper 获取塔节点的纬度/纬度



我正在尝试获取 EdgeIteratorState e 的基数和 adj 节点的纬度/隆。我正在路由并从路由请求中获取路径。从 Path 对象中,我得到了 EdgeIteratorStates。

我是这样做的:

double lat = this.getGraphHopperStorage().getNodeAccess().getLatitude(e.getBaseNode());
double lon = this.getGraphHopperStorage().getNodeAccess().getLongitude(e.getBaseNode());
double latadj = this.getGraphHopperStorage().getNodeAccess().getLatitude(e.getAdjNode());
double lonadj = this.getGraphHopperStorage().getNodeAccess().getLongitude(e.getAdjNode());

这适用于大多数边缘。但在某些情况下(每个路线计算 2 次),我得到的边长度很短,只有几米,但两个节点中的一个位于 1000 公里之外。

举个例子:

edgeid: 23883882 base: 53.45419410886304, 10.13771746615434; adj: 47.80398136684257, 10.344953879973751; length of edge: 75.45741857808768 m speed: 45.0 waygeometry: (47.80348739333795,10.34522731628777,741.0), (47.80375542798092,10.345045708381662,741.0), (47.80398136684257,10.344953879973751,733.0)

我做错了什么?有没有其他方法可以查询节点属性?

你最终指的是虚拟节点的问题吗?边缘状态是否来自由 QueryGraph 提供的算法?

代替"图形存储",

您需要此"查询图形"来正确回答这些请求。

此外,我们应该为这些请求失败,而不是静默地允许它们,请参阅此处的问题:https://github.com/graphhopper/graphhopper/issues/642

相关内容

  • 没有找到相关文章

最新更新