数据库专题训练大作业 互联网出行

问题描述

给定10w辆出租车的经纬度和车厢乘客终点,并给定一个乘客的起止位置,找出绕路不超过10km且距离乘客不超过10km的最多五辆车。

方法

实现分成三步:

  1. 预处理阶段:预处理出一辆车上任意两人距离,以及每辆车将乘客依次送达目的地的路程D1;
  2. 遍历出租车,筛去离乘客距离超过10km的出租车;
  3. 剩下的出租车,计算接乘客路程D2,、接到乘客后依次送达的距离D3、待接乘客离自己目的地的最短距离D4。然后计算绕路距离,不超过10km的留下。

在实现中,使用metis库计算路网中的数据,包括建树和计算两点间最短距离。

完成功能

  1. 输入一个乘客位置,在可以忍受的时间内返回不超过5个有空位的出租车。所有返回的出租车与乘客距离不超过10km,若没有合适的出租车,则返回空列表;
  2. 返回的所有出租车的绕路距离不超过10km;
  3. 提供UI界面方便输入输出的交互;
  4. 使用路网数据完成大作业;
  5. (加分项) 给出建议路线。

运行方式

使用的第三方库为metis和Qt。请使用qmake或Qt Creator运行程序。程序界面如下:


image.png

图中右侧输入乘客起止坐标,点击search按钮即可获得最近的满足条件的(最多)五辆出租车。下面列出了五辆车的ID和距离乘客的距离,以及给该出租车规划的路线。点击show按钮即可查看规划路线,其中绿点表示乘客的起始坐标,红点表示乘客的终止坐标;深橙色的点表示出租车的位置,浅橙色的点为车上所有乘客的下车坐标。蓝色为路线。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 没有风 没有尘土 没有雨 没有雪 手 脸 身上 都是冷的 不像北方 寒风刺骨 尘土飞扬 裹严实就好了 南方 房间里...
    姚小红阅读 300评论 7 11
  • 感恩老公早起和我一起做早饭,洗衣,刷碗,送我去坐车。晚上去接我,陪我散步。 感恩闺女一喊便起床,并将我做的饭吃的干...
    昭云之印阅读 165评论 0 0
  • 临江仙·记得金銮同唱第 欧阳修 记得金銮同唱第,春风上国繁华。如今薄宦老天涯。十年岐路,空负曲江花。 闻说阆山通阆...
    漫青阅读 212评论 2 1
  • 今天六点出发,坐高铁,骑单车,徒步行……各种的前行,至今微信计步两万余,历史新高,身体却不觉得累,这耐力还可以吧?...
    杨柳絮如雪阅读 219评论 0 5