我正在尝试根据用户的喜好编辑高速公路速度,并返回一条路线作为此更改的结果。我会在网页的表单上有一个标记为"高速公路"的输入字段,提交时,此值将更改所有高速公路的速度。
我在这里看到了答案:GraphHopper是否支持动态边缘权重?,但是我想知道如何编辑所有边缘以及通过哪个java文件。
该计划是让用户对道路速度(繁忙时间)、转弯规律性和交通信号灯有偏好。任何正确方向的点将不胜感激
默认情况下,GraphHopper 导入过程仅存储边的速度和可访问性(向前+向后)信息。
因此,第一步将是创建一个自定义的 FlagEncoder,它存储道路的类型,例如长/int 标志中的整数。为此,可以使用 EncodedValue 类。
下一步是创建自定义加权实现,然后根据您存储的标志信息计算速度。权重将在查询时调用,以便您可以考虑用户的首选项,该首选项可以按查询进行更改。
注意:当您允许更改每个查询的首选项时,您需要禁用 CH
注意:此更改对于核心 GraphHopper 可能很有价值,因此如果您实现它,请通过拉取请求;)