here-api - HERE API 用于土路导航
问题描述
TLDR
是否可以使用 HERE API/SDK 制作一个应用程序,该应用程序将尽可能多地在土路上绘制汽车路线,并且只有在没有其他选择的情况下才使用其他/更好的道路类型 - 比如进入城市时?
这不是关于如何在生成的路线中避开土路的问题。我想实现一个完全相反的——尽可能多地使用土路。是的,那将是一条非常缓慢和低效的路线——我知道这一点。
起初我尝试了原生 HERE SDK - 但我没有发现任何优先考虑土路的选项。我只能设置为避开任何其他道路类型 - 它生成了 99% 的高速公路/铺砌道路的路线。从阿拉斯加地心到德克萨斯地心的生成路线只有大约 50 公里的土路类型,而有数千公里的其他道路类型,主要是高速公路。
然后,我尝试了 HERE REST API。有一个选项可以设置道路类型的优先级/惩罚:RouteFeatureWeightType
,可用于strictExclude
、softExclude
和avoid
道路类型。motorway
但是每当我将类型的权重设置为avoid
或更差时 - REST API 只返回NGEO_ERROR_GRAPH_DISCONNECTED_CHECK_OPTIONS
错误。
注意-1
除土路以外的所有东西的重量-据我所知,这应该是avoid
除土路以外的任何道路类型-而不是strictExclude
它们,这是一个-3
值。我也尝试过-2
具有相同错误结果的值。
之后,我用 REST API 做了一些实验。我最好的结果是当我将请求车辆类型从更改car
为truck
. 它不仅能够使用我的初始重量设置而不会出现错误,而且它实际上并没有遵循这些巨大的多车道州际公路。但是这条路线仍然沿着高速公路类型的道路行驶,即使有一条明显的替代土路与高速公路平行。这可能是truck
模式的限制。
So, is there any options in the HERE REST API/SDK, that allows and prefers generation of obviously ineffective, terribly slow routes with dangerous road angles for cars/trucks?
解决方案
In general no, there is no option available from the API or SDK which would prefer dirt roads when calculating routes.
In theory you could block some roads with the feature like avoidArea (in REST API) and dynamic penalty (in Mobile SDK) , of-course this has the downside that you would need to have this areas known before hand.
推荐阅读
- java - 如何在 Tomcat 启动时从 xml 读取环境变量?
- python - 在python中创建一个按钮
- python - 动态显示字典的标签连接
- c# - Facebook Graph API - IG Media 获取元数据问题
- sql - 在 postgres 中以文本形式返回当前月份
- python - 对象的实例在我创建后立即消失(无意)
- c# - Unity 3d,当我点击屏幕时,球体变成立方体
- c# - 通过两个 Web 域传输私钥的最佳解决方案
- python - 使用 biopython 将字典写入文件
- mysql - 在 GoogleAppsScript 中使用 JDBC。不连接 myDB(mysql)