开源 快速开发框架_GraphHopper:快速灵活的开源旅行计划器

开源 快速开发框架

路线规划是互联移动世界的重要组成部分。 许多人每天都会使用商业解决方案来避免回家或计划下一次商务旅行或户外旅行时的交通拥堵。 在垃圾收集,比萨饼运送或乘车共享等许多业务领域中,它也是至关重要的部分,在这些领域中,速度对于在短时间内计算成千上万甚至数百万条高质量路线至关重要。

GraphHopper背后的团队正在构建一种快速,开源的现有解决方案替代方案。 它是根据许可的Apache许可2.0许可的, 可在GitHub上获得 。 我们提供了一个全球范围的汽车路线图,骑行和步行实例GraphHopper Maps 。 有了它,您可以看到运行中的路由引擎GraphHopper,以及Mapnik提供的地图图块和Photon的地址搜索。 由于使用自己的服务器,它都是开源的,并且具有较高的隐私标准。

GraphHopper支持两种不同的模式: 灵活性模式加速模式 。 使用灵活性模式,您可以完全控制为每个用户根据其个人喜好自定义路由搜索。 使用加速模式,您可以预先创建汽车的路线配置文件并提供非凡的速度,例如从洛杉矶到纽约市的时间不到50毫秒。

如果将GraphHopper托管在自己的服务器上,则与外部服务相比,可以避免网络延迟,这使得GraphHopper的速度比任何商用路由引擎都要快,即使在商品硬件和大陆长度的路由上也是如此。 GraphHopper可在所有主要平台上运行,例如Linux,Windows,Mac,Raspberry Pi,Android和iOS。 在TeaVM(浏览器的Java虚拟机)的帮助下,它甚至可以在浏览器中脱机工作。 这将使混合路由解决方案成为可能,它们是基于相同的源代码创建的。

路由服务器的设置简单,快速,并且只需要Java。 然后,可以从任何编程语言中轻松使用HTTP API,我们在其中提供了Java和JavaScript的实现。 您还可以将GraphHopper直接集成到Java项目中,或根据需要对其进行自定义,例如使用自己的数据来解决交通拥堵或速度限制。 GraphHopper已针对低内存使用进行了调整,但Java API仍易于使用。 例如,以下Java代码段将为柏林导入OpenStreetMap数据,并在那里启动第一个路线查询:

public static void main( String[] args ) {
GraphHopper hopper = new GraphHopper().init(CmdArgs.read(args));
hopper.setOSMFile("berlin.pbf");
hopper.setGraphHopperLocation("berlin-gh");
hopper.importOrLoad();
hopper.route(new GHRequest(
52.524786, 13.401604,
52.503266, 13.358688));
hopper.close();
}

这是典型的点对点路由的演示,其他用途是:

  • 交通模拟
  • 室内路由
  • 多模式路由
  • 城市规划
  • 计算物流部门的距离矩阵
  • 还有很多!

尽管它仍然是一个年轻项目,但0.3于2014年5月发布,并且已经有Gnome Maps,GPSies.com,Rome2rio.com和Komoot.de等用户 。 由于来自OpenStreetMap和NASA的高程数据丰富且开放的数据,因此GraphHopper尤其出色。

您可以通过我们的邮件列表获得活跃的社区-请提出您的问题并加入讨论! 我们也在Twitter上

翻译自: https://opensource.com/life/14/11/graphhopper-open-source-route-trip-planner

开源 快速开发框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值