0

我正在尝试根据用户的喜好编辑高速公路速度,并根据此更改返回一条路线。我会在网页的表单上有一个标记为“高速公路”的输入字段,提交时,这个值会改变所有高速公路的速度。

我在这里看到了答案:GraphHopper 是否支持动态边权重?,但是我想知道如何编辑所有边缘以及通过哪个 java 文件。

该计划是让用户对道路速度(繁忙时间)、转弯的规律性和交通信号灯有偏好。任何正确方向的观点都将不胜感激

4

1 回答 1

0

默认情况下,GraphHopper 导入过程仅存储边缘的速度和可访问性(向前+向后)信息。

因此,第一步将是创建一个自定义的 FlagEncoder,它存储道路的类型,例如 long/int 标志中某处的整数。您可以为此使用 EncodedValue 类。

下一步是创建一个自定义加权实现,然后根据您存储的标志信息计算速度。加权将在查询时调用,因此您可以考虑用户的偏好,可以根据查询进行更改。

注意:当您允许更改每个查询的首选项时,您需要禁用 CH

注意:此更改对于核心 GraphHopper 可能很有价值,因此如果您实施它,请通过拉取请求让我们知道;)

于 2014-03-06T22:10:50.760 回答