行人的Graphhopper路线 android
如何将路由类型设置为GraphHopper Android中的行人? 我一直在Android中使用ghrequest.setVehicle()方法,但它不起作用. 我尝试使用"脚"和"自行车".没有工作.另外,当我更改算法时,它也不起作用.只有Dijkstra_bi现在正在工作. GHRequest req = new GHRequest(fromLat, fromLon, toLat, toLon). setAlgorithm(Algorithms.DIJKSTRA_BI).setVehicle("foot"); 预先感谢. 我包含以下文件的地图数据. 我使用 时会遇到以下错误 tmpHopp.setEncodingManager(new EncodingManager("foot")); 我解决了这个问题,感谢Karussell.我会为像我这样的人写下我所做的事情,他们可能会面临同样的问题. 我做了什么
32 2024-02-09
编程技术问答社区
在自己安装的Graphhopper上找不到应该可以路由的路线
问题: 在我的GraphHopper(GH)安装上,有些情况是不可用的,我认为应该可以路由.在GH Demo版本上,相同的路由可以路由,而我的安装使用最新的GH代码. 示例: 此路线在我的计算机上遇到"未找到"错误时,可以在GH Demo服务器上进行计划. 虽然当我在locationIndex中调用第二点时: LocationIndex index = hopper.getLocationIndex(); QueryResult qr = index.findClosest( place.lat, place.lon, EdgeFilter.ALL_EDGES ); GHPoint3D snappedPoint = qr.getSnappedPoint(); 发现它(距离点约20-30m).这使我相信我正在使用的OSM数据是正确的(如果那里的道路连接并在上个月未进行编辑,我会遇到很多次数,因为我使用了一个月的OSM数据). 这是另一个示例 编辑:用
24 2023-08-12
编程技术问答社区
GraphHopper vehicle=car works but foot or bike don't work
我对GraphHopper路由引擎稳定版本0.5 有问题 我可以在使用vehicle=car时获得指示,但是自行车和 foot . 这在地图上产生了结果,这很棒. 我在本地运行时使用了完全相同的坐标,以获取JSON数据如下: http://localhost:8989/routes?point=-33.916567%2C18.417914&point=-33.917584%2C18.418935&locale=en-US&vehicle=foot 这不会产生结果,而是返回以下响应: { "message": "Vehicle not supported: foot", "hints": [{ "message": "Vehicle not supported: foot", "details": "java.lang.IllegalArgumentException" }] } 请注意,将车辆更改为 CAR 会产生结果!如
52 2023-08-12
编程技术问答社区
Graphhopper, osmdroid的离线路由的Osmdroid
我已经与Osmdroid和Osm Bonus Pack(惊人的Libs!)一起搞砸了一段时间,并且一直在思考离线路由的想法,然后通过转弯导航,现在我还没有尝试过,但是我还没有尝试过,但是将GraphHopper投入混合物时听起来很有希望: 官方Wiki指南如下: 下载原始地图文件(.osm,.osm.pbf等). 运行./graphhopper.sh import map_file 现在,它旨在与Mapsforge一起使用,我没有机会查看所得的.GHZ文件,其中包含地图的路由数据,但我的问题是,可以使用此路由数据以构建OSM奖励包中的Pathoverlay对象,以实际绘制某种路由? 我想知道是否有人已经尝试过这种事情,并且有话要说,任何帮助都对此表示赞赏. 解决方案 在osmdroid中使用mapsforge:圣杯,永无止境的故事... 您可以查看此(长)线程: https://groups.google.com/forum/# !! topic/
106 2023-05-14
编程技术问答社区
自我托管GraphHopper方向API
我们正在寻找离线路由和反向地理编码服务. GraphHopper宣传其 Direction api可以自我置换: GraphHopper方向API自托管/本地 指示API作为您按需支付的云服务. API也是 作为本地解决方案(自托管)可用,它为您提供 最大绩效,自定义可能性,独立性;全部 你的双手! 在我的本地实例上安装GraphHopper之后/a>,我能够通过Local -Host HTTP API成功执行路由查询. 我如何获得反向地理编码工作?我找不到有关此的任何文档,而Github上的代码似乎并没有暗示任何内容. 解决方案 GraphHopper方向API与开源GraphHopper路由引擎不同. GraphHopper方向API当前由 组成 路由API(基于GraphHopper路由引擎), 矩阵API, 地理编码API和 路由优化API. 目前,它们不再可用于自我托管.注意:我是作者之一. 其他解决方案 Graph
42 2023-05-11
编程技术问答社区
如何用我自己的多模态图快速启动Graphhopper
我想在Play Framework中实现自己的路由Web服务(由于它是Java,并且是一个快速的原型框架).我也想将GraphHopper用作路由引擎. 我的基本要求是: 该路由应基于我们自己的多模式节点以及不同的属性,从 中得出权重 我希望能够在运行时选择不同的属性以进行边缘加权(即紧急车辆可以采取路线,普通Cardrivers Aren允许使用) 该图扩散到奥地利的一半以上(约800.000个边缘). 目前我有很多问题,并且真的不知道从哪里开始: 运输车辆类型是否仅使用编码管理器定义,还是可以在路线期间更改它? (在运行时不重建图) RamdataAccess和MmapdataAccess到底有什么区别?后者是否意味着该图(部分)存储在光盘上?第一个意味着该图仅存储在内存中? 我不了解边缘对象的Nexta和NextB属性...与3个或更多边的交叉点怎么样?哪个是其他每个人? 是" ...节点总是小于NodeB ..."意味着ID总是要小吗?图形方向(
26 2022-10-25
编程技术问答社区
Gradle:如何使用特定版本的快照?
我正在使用GraphHopper库的快照版本. 使用旧版本的快照有可能吗? 我尝试了: compile(group: 'com.graphhopper', name: 'graphhopper', version: '0.6-20151126.110118-54') { exclude group: 'com.google.protobuf', module: 'protobuf-java' exclude group: 'org.openstreetmap.osmosis', module: 'osmosis-osm-binary' exclude group: 'org.apache.xmlgraphics', module: 'xmlgraphics-commons' } 作为存储库我使用:maven { url "https://oss.sonatype.org/content/groups/public/" } 我也尝试了这
124 2022-10-24
编程技术问答社区
用Graphhopper获取每个国家的距离
我们公司有一个正在运行的 Graphhopper 服务器,用于获取路线. 有没有办法了解我们在每个国家/地区的行驶距离?例如,如果我从慕尼黑开车到维也纳,我想知道我们在德国行驶了多少公里,在奥地利行驶了多少公里. 解决方案 我们现在已经构建了自己的解决方案,它可以显示每个国家/地区的距离并区分使用的道路类型. commercial_info: { DE: { distance: 461221.4580000006, distance_per_highway: { trunk: "801.1859999999999", motorway_link: "6521.838000000001", motorway: "447824.3810000005", primary: "5922.418000000001" } },
262 2022-08-10
编程技术问答社区
如何在Graphhopper中为交通数据启用混合模式
如何为 graphhopper 0.9 版本启用混合模式.在配置文件中,我们需要启用/禁用/更改什么 我的意图是通过链接使用流量数据graphhopper-traffic-data-integration 我无法让它工作,当我使用 curl 提供数据时,我得到以下错误 {“未找到信息"} 我尝试更改 prepare.ch.weightings=hybrid 但出现错误 now web. JAVA_OPTS=-Xmx1000m -Xms1000m -server Exception in thread "main" java.lang.IllegalArgumentException: weighting null not supported at com.graphhopper.GraphHopper.createWeighting(GraphHopper.java:908) at com.graphhopper.GraphHopper.init
540 2022-08-10
编程技术问答社区
Graphhopper的灵活路由忽略了街道部分
我读过很多关于灵活查询的文章,但不幸的是我还没有找到令人满意的东西. 我希望路由算法忽略街道段,因为它被淹没或损坏.这可能吗(也许通过将地理点放入 GHRequest 中)?如果是,实施的最佳做法是什么? 更新:我是否需要创建自定义权重并设置我从 OpenStreetMap.org 获得的禁止边缘? 感谢解答 解决方案 是的,当前需要自定义权重来提供 GraphHopper edgeIDs (!= OSM IDs).通过 LocationIndex.findClosest 获取这些 edgeID. 如果您想通过 Web API 进行此操作,请创建一个问题.
314 2022-08-10
编程技术问答社区
Graphhopper: 用CH Astar/Dikstra Bi计算路径时出现ClassCastException
仅使用 WGS84 坐标,我可以将图形和索引写入磁盘.在另一个 java 项目中,我从磁盘读取图形和索引.这也适用于以下代码. FlagEncoder encoder = new CarFlagEncoder(); EncodingManager em = new EncodingManager(encoder); GraphBuilder gb = new GraphBuilder(em). setLocation(testDir). setStore(true). setCHGraph(new FastestWeighting(encoder)); // Load and use the graph GraphHopperStorage graph = gb.load(); // Load index LocationIndex index = new LocationIndexTree(graph.getBaseGraph(), graph.getD
304 2022-08-10
编程技术问答社区
GraphHopper如何处理高速公路交叉口上的一个点?
我在比利时有 2750 个城市中心.我需要知道每两个城市中心之间的距离.但这会产生一个 57MB 的矩阵,只是为了记住那些距离(甚至不包括路线),所以规模非常大. 相反,我正在考虑将高速公路交叉口用作枢纽.基本上,每个城市都知道它附近的城市和附近的枢纽(=高速公路交叉口).所有集线器都知道彼此之间的距离. 所以1个城市A到另一个非附近城市B的距离,可以通过cityA -> hubX -> hubY -> cityB的距离来计算.因为大多数城市通常在附近有 3 个枢纽,所以我可能需要查看所有 9 个组合并选择最短的.但无论如何,它应该可以更好地扩展内存. 现在的问题:我可以将高速公路交叉口描述为一个点吗? 想一想:一条高速公路由 2 条道路(双向一条)组成,因此高速公路交叉口中心有 4 条道路(甚至不包括手臂). 解决方案 一些想法: 您可以通过 MapDB 或GraphHopper 其简单的 DataAccess 实现使其独立于 RAM 您可以使用浮点数
262 2022-08-10
编程技术问答社区
在Graphhopper中使用OSM节点/路径ID
我想使用 Graphhopper 进行路由,通过使用 OSM id 而不是 lat,lon 坐标来标记起点和终点.这可能吗?是否也可以使用其 OSM id 获得优势? 谢谢 解决方案 我看不到 GraphHopper 的用途,虽然它可以方便地用于其他应用程序(不确定)但有缺点.例如.一个 OSM id 与边缘 id 列表匹配,OSM id 也不是静态的,因此不建议将其用作标识符.例如.假设方式合并或拆分的情况. 话虽如此,您必须在导入时存储“OSM_ID to List"关系.例如.参见 OSMReader.getOsmIdOfInternalEdge 以获取相反的映射关系“edgeId 到 OSM_ID".
444 2022-08-10
编程技术问答社区
图霸。当图形具有无效边界时,无法创建位置索引
我在我的 java 项目中通过 maven 使用 graphhopper 0.8.我使用以下代码创建了一个网络 FlagEncoder encoder = new CarFlagEncoder(); EncodingManager em = new EncodingManager(encoder); // Creating and saving the graph GraphBuilder gb = new GraphBuilder(em). setLocation(testDir). setStore(true). setCHGraph(new FastestWeighting(encoder)); GraphHopperStorage graph = gb.create(); for (Node node : ALL NODES OF MY NETWORK) { graph.getNodeAccess().setNode(uniqueNodeId
568 2022-08-10
编程技术问答社区
Graphhopper返回 "未找到"
我现在正在测试 graphhopper 几天,但有一个奇怪的问题当一个 Location ist to far away for the next street graphhopper 返回错误“未找到"奇怪的是它可以在 graphhopper-demo-server 上运行我尝试了阿尔卑斯山、欧洲,现在尝试了整个星球 - 错误保持不变 所以它在这里工作:https://graphhopper.com/maps/?point=47.50562070,14.10270890&point=47.80000740,13.04219230&locale=de&layer=Lyrk 但不在我的服务器上:http://osm.testerl.webseiten.cc:8989/?point=47.50562070,14.10270890&point=47.80000740,13.04219230&locale=de&layer=Lyrk 我的配置有问题吗?我玩过 index.hig
330 2022-08-10
编程技术问答社区
GraphHopper是否支持动态边缘权重?
我们正在考虑在我们需要做路线规划器的项目中使用它.我们遇到的第一个问题是我们有非常动态的变量来表示我们的权重值.这意味着我们不能使用收缩层次算法,因为每次这些变量之一发生变化时,我们都应该重新创建“收缩"图,所以我们考虑配置 graphhopper 以便不使用 CH 算法 在这种情况下,是否可以修改 graphhopper 代码以支持此动态边权重值?例如,假设我们有节点 A 和节点 B 以及一条边 A--B;假设这条边的值为 3在我们的场景中,可能有一个事件可以将边 A--B 的值从 3 修改为 6 或从 3 修改为 2我们可以修改代码以支持此功能吗?这是否依赖于 DataAccess 实现? 解决方案 要修改边缘的速度或距离,您需要获取 EdgeIteratorState(例如从坐标),然后设置标志或距离.这是一个代码片段: // find edge for lat,lon point QueryResult qr = locationIndex.findClosest
270 2022-08-10
编程技术问答社区
读取OSM地图(或其他格式)文件以确定从坐标到路径的最短距离
我的应用程序使用 openstreetmap 文件在地图上显示航点(或坐标). 基于 Openstreet 地图文件:如何确定从 GPS 坐标到(步行)路径的最短距离. 我可以读取 OSM(地图)或 .osm 文件...以访问路径吗? 解决方案 有一些误解.首先,OSM 文件不是映射文件.OSM 文件可用于创建一种格式以使地图渲染速度更快,例如mapsforge 格式可以做到这一点. 例如GraphHopper 您导入 OSM 文件(如 .pbf 或 .osm),然后创建一个可用于您描述的问题的图形.不完全确定你有什么问题;)
444 2022-08-03
编程技术问答社区
在OSM Magsforge(离线)地图中,点和路径之间的最短距离
在应用程序中,我加载OSM/MAPSFORGE离线地图. 如何确定坐标(航点)与Mapsforge文件中的最近路径之间的最短距离?我得到的信息是mapsforge(脱机)地图. 抱歉 - 重新发布这一点 - 我现在知道我必须使用"graphhopper"标签! 解决方案 使用mapsforge,您无法执行此操作.您必须使用像GraphHopper等路由库.请参阅此处如何使用它: http://graphhopper.com/#developers . 但也有其他离线和在线路由器.看看这里: http://wiki.openstreetmap.org/wiki/routing/offline_routers在这里 http://wiki.openstreetmap.org/wiki/routing
1558 2022-07-17
编程技术问答社区