地图导航系统

合集下载

高德地图导航原理

高德地图导航原理

高德地图导航原理
高德地图导航是一种基于全球定位系统(GPS)和地图数据的导航系统,主要用于提供导航、路线规划、实时交通信息等功能。

首先,高德地图导航系统会通过用户的GPS定位获取当前位置的经纬度信息,并将其显示在地图上。

接下来,用户输入目的地的地址或者名称,在地图上选择目标位置。

高德地图导航系统会根据起点与终点之间的距离和道路条件,计算出最佳路线。

在路线规划完成后,高德地图导航系统会根据实时交通信息或历史交通数据,计算并预估车辆所需的时间。

这包括红绿灯等交通设施、交通拥堵情况等。

导航过程中,高德地图导航系统会通过语音提示和地图显示,引导用户按照规划的路线进行导航。

同时,导航系统还会提供实时的导航信息,如导航路口、道路名称、距离等,帮助用户实时了解行驶情况。

在导航过程中,如果出现交通拥堵、道路封闭或用户有其他需求,高德地图导航系统会自动重新计算并规划新的路线。

总结而言,高德地图导航系统依靠GPS定位和地图数据,结合实时交通信息,通过计算最佳路线和提供导航引导,帮助用户快速、准确地到达目的地。

GPS全球卫星定位导航系统

GPS全球卫星定位导航系统

GPS地图
GPS地图是GPS中一个重要的组成部分,光有机器还不行,还得 有地图和软件支持,这样才能让GPS为我们引路,找地方。。。 既然有这么多地图,那肯定各有各的长处,听小生一一道来。 市场上的GPS地图资源主要有以下这些 凯立德:公司总部在深圳,地图主要优势在华南,尤其是 广东省及周边,信息点全,地图绘制较详细。 道道通:公司名叫瑞图万方,有十年的地图绘制经验,兴 趣点比较全面且较准确。 四维地图:主要应用于车载GPS(装在中控上的),一些 高端品牌也有使用,使用成本较高。 高德地图:地图测绘厂家的后来者,目前市场上使用该地 图的品牌不是很多。 灵图天行者:主要应用于智能手机,大家常见的多普达就 是用灵图的地图。
功能
GPS的实时监控功能: 在任意时刻通过发出指令查询运输工具 所在的地理位置(经度、纬度、速度等 信息)并在电子地图上直观地显示出来。
GPS的双向通讯功能
网络GPS的用户可使用GSM的话音功能与司 机进行通话或使用本系统安装在运输工具上的 移动设备的汉字液晶显示终端进行汉字消息收 发对话。 驾驶员通过按下相应的服务、动作键,将该 信息反馈到网络GPS,质量监督员可在网络 GPS工作站的显示屏上确认其工作的正确性, 了解并控制整个运输作业的准确性(发车时间、 到货时间、卸货时间、返回时间等等)。
GPS方案
为什么要像大家详细解说GPS方案,这是因为方案不 同,机器采用的硬件和价格有很大的差异! 国内市场 上主流的GPS大多采用三星或者掌微的方案。 一般来讲,采用三星方案的多为高端机器,用的是三 星的CPU(频率为400M赫兹),价格一般在2千元以上, 贵一些的甚至要四五千。掌微方案可谓是GPS市场的 推动者,使GPS进入广大车友的功臣。为何? 听我慢 慢道来,首先从成本上来说,三星的CPU性能是没得 说,但是价格不菲就注定了它竞争不过物美价廉的掌 微。目前,从性能上来说,掌微并不比三星落后,只 是采用的工艺不同,两者在各方面的表现各有长短, 三星的信号强度好,掌微的搜星速度快。目前市场上 采用三星方案的多为高端品牌,比如:神达、任我游, 价位一般在2000以上,贵的甚至要四五千。 用掌微方 案的就多了,价格一般1000-2500左右,以市场畅销品 牌为主。Biblioteka GPS的数据存储、分析功能

高德地图导航的原理

高德地图导航的原理

高德地图导航的原理
高德地图导航的原理是基于全球卫星导航定位系统(GNSS)、地理信息系统(GIS)和实时交通数据的综合应用。

具体原理
如下:
1. 定位系统:高德地图导航使用全球卫星导航定位系统(如GPS、北斗、GLONASS等)来获取用户当前位置信息,并将
其作为导航起点。

2. 地图数据:高德地图导航利用地理信息系统(GIS)来存储
和管理各种地图数据,包括道路网络数据、地标数据、交通标识等,以及实时交通路况数据。

3. 路径规划:根据用户输入的目的地和当前位置,高德地图导航会通过算法计算出最佳的行车路径。

算法考虑了道路的距离、交通流量、速限、转弯限制等因素,以选择最优路径。

4. 实时交通数据:高德地图导航利用移动网络和车载设备等手段,获取实时的交通路况数据。

这些数据包括路段的拥堵程度、交通事故、施工情况等,以便在导航过程中选择避开拥堵路段或提供重新规划路径的建议。

5. 导航引导:一旦路径规划完成,高德地图导航会提供语音和视觉引导,包括语音提示和地图上的箭头指示等。

导航引导会根据当前位置和路径信息,及时更新下一个转弯或行驶指示,以帮助用户准确、安全地到达目的地。

总结来说,高德地图导航的原理是利用卫星定位系统获取用户位置信息,通过路径规划算法计算最佳行车路径,实时获取并分析交通路况数据,以提供准确的导航引导。

这些技术的综合应用能够帮助用户高效、安全地进行导航。

地图导航应用系统的概念及其结构组成

地图导航应用系统的概念及其结构组成

地图导航应用系统的概念及其结构组成地图导航应用系统是一种基于地理信息技术的应用软件,用于在移动设备上提供路线规划、导航和定位等功能。

它可以帮助用户找到目的地并指导具体的行车或步行路线。

地图导航应用系统通常由以下几个组成部分构成:
用户界面:包括地图显示界面、搜索界面、设置选项等交互界面,用于用户与系统进行交互操作。

地图数据:包括道路网络数据、建筑物、地标、POI(兴趣点)等地理信息数据,这些数据为导航系统提供基础地图展示和查询功能。

定位模块:通过使用GPS(全球定位系统)或其他定位技术,实时获取用户的位置信息,并将其显示在地图上,以便进行导航和路线规划。

路线规划算法:根据用户的起点和终点位置,在地图数据的基础上计算出最优的行车或步行路线,考虑交通状况、道路限速等因素。

导航指引:根据用户当前位置和路线规划结果,向用户提供语音或图像导航指引,包括转向提示、距离提示、道路名称等信息。

实时交通信息:获取实时交通状况数据,并根据该数据提供路况提示和路径优化,帮助用户选择最佳行驶路线。

附加功能:包括语音识别、语音播报、远程搜索、收藏夹、导航历史记录等增值功能,提升用户体验和便利性。

地图导航应用系统的结构组成可以有所不同,但以上组成部分在
大多数系统中都会存在。

通过整合这些组成部分,地图导航应用系统能够为用户提供准确、实时的导航服务,使用户更方便地找到目的地并规划最优的行程路线。

导航地图系统课程设计

导航地图系统课程设计

导航地图系统课程设计一、课程目标知识目标:1. 学生能够理解导航地图系统的基本概念,掌握其工作原理和功能特点。

2. 学生能够描述导航地图系统中常用的坐标系和地图投影方法,并解释其应用场景。

3. 学生能够了解导航地图的数据来源和更新方式,认识到地图数据的准确性和时效性。

技能目标:1. 学生能够运用导航地图系统进行定位和路径规划,解决实际出行问题。

2. 学生能够操作导航设备,进行地图浏览、搜索地点和获取路线信息等基本操作。

3. 学生能够分析导航地图系统中的误差来源,并提出改进措施,提高导航准确度。

情感态度价值观目标:1. 学生培养对导航地图系统的兴趣,认识到其在日常生活和国民经济发展中的重要性。

2. 学生能够关注导航地图系统的技术发展,积极了解新兴导航技术及其应用。

3. 学生在合作学习过程中,培养团队精神和沟通能力,提高解决问题的自信心。

课程性质:本课程为信息技术与地理学科相结合的综合性课程,旨在培养学生的地理信息素养和实际应用能力。

学生特点:六年级学生具备一定的地理知识和计算机操作技能,对新兴技术和实际应用有较高的兴趣。

教学要求:注重理论与实践相结合,鼓励学生动手实践和合作探究,提高学生的实际操作能力和创新思维。

将课程目标分解为具体的学习成果,为后续教学设计和评估提供依据。

二、教学内容1. 导航地图系统概述- 了解导航地图系统的定义、发展历程和未来发展趋势。

- 掌握导航地图系统的基本功能,如定位、路径规划、交通信息查询等。

2. 坐标系与地图投影- 学习地球坐标系、平面坐标系等常用坐标系及其转换方法。

- 掌握地图投影的基本原理,了解墨卡托投影、高斯-克吕格投影等常用地图投影方法。

3. 导航地图数据- 介绍导航地图数据来源、采集方法、更新周期及准确性。

- 分析导航地图数据在实际应用中的重要性,如实时交通信息、地点详细信息等。

4. 导航设备与操作- 学习导航设备的种类、功能及使用方法,如智能手机、车载导航仪等。

地图导航六大品牌比较

地图导航六大品牌比较

下面我们对这几个重要的地图品牌做一下比较,希望在您选择的时候能给您带来一些参考的价值。
1、灵图天行者。
灵图天行者是国内比较出名的地图品牌,从最早的3.05版到半年前的4.0版5.0版,再到最近出现的6.0版,灵图天行者变得越来越实用,并有了较大的改进,覆盖了从PC、NB到PPC的各个GPS使用领域。最早的3.05版,虽然包含了全国地图,但是各大区域之间的地图需要手动切换,如果使用者不切换地图,则会显示使用者在空白处行驶。但是3.05版的地图目前在市场的GPS商处很容易免费获得。
4.道道通
“道道通”导航电子地图的基本数据,尤其是导航线数据全部是经过长地友好自行编制并经过实地检测!不仅位置准确,而且信息量极为丰富,种类导航信息齐全。导航电子地图主要有两种开发模式:“连片式”开发模式和“孤岛式”开发模式。“连片式”开发模式,就是对所开发区域的全境,不论城市、城镇、乡村,用地毯式覆盖的方法,进行数据采集,不留任何死角。它要求一次就把全区域的数据做好,满足全区域导航使用需求。
从4.0版之后,灵图天行者改进了此问题,真正实现了无缝自动切换。衡量电子地图好坏的一个重要标准就是信息的丰富程度,天行者5目前涵盖了全国337个城市的导航地图,80个重点城市的更新,详细到城镇的全国公路网,此外还含有14个大类,100多个子类,200多万个设施点的信息。在操作方面,天行者5 以鼠标、触摸屏操作为主,功能、搜索界面一目了然,对于经常使用鼠标的使用者非常简单,即使入门者也可以轻松的完成目的地查询、导航。
5.Route 66
Route 66是一款更倾向于手机GPS导航的软件,主要针对Series 60平台手机设计的。作为一款导航软件,Route 66虽然是在手机上使用,但也具有星图、定位、导航等功能。这款软件给笔者最大的一个印象就是,它非常适合使用者步行使用,因为导航地图的信息明确了路口红绿灯、人行道,甚至于过街天桥和地下通道在上面都有显示。Route 66的画面看上去比较卡通,也比较精致,能够清楚的辨认出设施和道路。同时只要将光标移至设施上,会弹出信息框,显示设施的门牌、电话等信息,这在众多导航软件中是很难能可贵的了。还有一个比较另笔者感兴趣的是Route 66的语音导航,一般导航软件的导航语音只有普通话,可是Route 66除了普通话,还有粤语和英语。

导航地图系统课程设计

导航地图系统课程设计一、教学目标本课程旨在通过导航地图系统的学习,让学生掌握地图的基本知识和使用技巧,培养学生的空间思维能力和实际操作能力。

具体目标如下:知识目标:了解地图的种类、制作方法和发展历程;掌握地图的阅读和运用技巧;了解导航地图系统的原理和应用。

技能目标:能够熟练使用各类地图和导航设备;能够进行简单的地图制作和路线规划;能够分析和解决实际导航过程中的问题。

情感态度价值观目标:培养学生对地图和导航地图系统的兴趣和好奇心;培养学生爱护地图资源、遵守交通规则的良好习惯;培养学生的团队协作能力和责任感。

二、教学内容本课程的教学内容主要包括地图的基本知识、导航地图系统的原理和应用、地图的制作和路线规划等。

具体安排如下:第1-2课时:地图的种类和制作方法;第3-4课时:地图的阅读和运用技巧;第5-6课时:导航地图系统的原理和应用;第7-8课时:地图的制作和路线规划;第9-10课时:实际导航操作练习。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。

具体方法如下:第1-2课时:采用讲授法,向学生介绍地图的种类和制作方法;第3-4课时:采用讨论法,引导学生探讨地图的阅读和运用技巧;第5-6课时:采用案例分析法,分析导航地图系统的原理和应用;第7-8课时:采用实验法,让学生进行地图的制作和路线规划;第9-10课时:采用讨论法,让学生分享实际导航操作的体验和心得。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:教材、参考书、多媒体资料、实验设备等。

具体资源如下:教材:选用《地图学》作为主讲教材;参考书:推荐《导航地图系统》等相关书籍;多媒体资料:制作PPT、视频等资料,用于辅助讲解和展示;实验设备:准备地图制作工具、导航设备等,供学生实际操作。

五、教学评估本课程的评估方式包括平时表现、作业和考试等,以全面客观地反映学生的学习成果。

智能地图导航应用系统的概念及其结构组成

智能地图导航应用系统的概念及其结构组成
智能地图导航应用系统是一种利用先进的技术手段,提供实时交通信息和导航服务的应用系统。

它通过收集、整理和分析大量的交通数据,结合用户的位置信息和路线需求,为用户提供最优的出行方案和导航指引。

智能地图导航应用系统通常由以下几个主要组成部分构成:
1. 地图数据:地图数据是智能地图导航应用系统的核心,包括道路网络、交通设施、建筑物等信息。

这些地图数据通常通过卫星遥感、地面勘测和用户反馈等方式获取,并且需要进行更新和维护。

2. 定位服务:为了确定用户的当前位置,智能地图导航应用系统通常依赖于定位服务。

定位服务可以利用卫星定位系统(如GPS)、移动网络基站或Wi-Fi信号等技术来获取用户的位置信息。

3. 路线规划和导航算法:为了帮助用户找到最优的出行方案,智能地图导航应用系统需要使用有效的路线规划和导航算法。

这些算法会考虑实时交通情况、最短路径、限行规定等因素,提供用户最合适的导航方案。

4. 实时交通信息收集与分析:智能地图导航应用系统通过各种方式收集实时的交通信息,如交通摄像头、交通信号灯、车载传感器等。

这些信息会被分析处理,用于实时的路况更新和导航建议。

5. 用户界面和交互:智能地图导航应用系统通常会提供用户友好的界面和交互方式,包括地图展示、路线搜索、语音导航等。

用户可以通过这些界面和交互方式与系统进行互动,实现便捷的导航体验。

总之,智能地图导航应用系统通过整合地图数据、定位服务、路线规划和导航算法,以及实时交通信息,为用户提供准确、高效的导航服务。

导航系统工作原理

导航系统工作原理导航系统是一种先进的技术设备,它使用卫星定位和地图数据来为用户提供准确的导航指引。

现代导航系统已经得到广泛应用,无论是在汽车导航系统、飞机导航系统还是手机导航应用中都有着重要作用。

本文将介绍导航系统的工作原理及其核心技术。

一、导航系统的组成导航系统通常由以下几个核心组成部分构成:1.卫星定位系统(GNSS):导航系统的核心是全球卫星定位系统(GNSS),主要包括美国的GPS、俄罗斯的GLONASS以及欧洲的Galileo等。

这些卫星系统通过卫星发射信号并利用三角测量原理来确定用户的位置。

2.地图数据:地图数据是导航系统的基础,它包含了道路、建筑物、地标等准确的地理信息。

地图数据可通过卫星图像、航空摄影测量以及实地调查等途径来获取和更新。

3.导航软件:导航软件是导航系统的控制核心,它根据卫星定位和地图数据来计算最佳的导航路径,并提供语音和图像指引给用户。

二、导航系统的工作原理导航系统的工作原理如下:1.卫星定位:导航系统通过接收卫星发射的信号来确定用户的位置。

卫星定位系统发送不同频率的信号,接收设备通过计算接收到信号的时间差以及卫星的位置来确定用户的坐标。

2.地图数据匹配:导航系统将用户的位置坐标与地图数据进行匹配,确定用户所处的道路和地理环境。

利用地图数据,导航系统可以计算出最佳的导航路径。

3.路线规划:导航系统根据用户的目的地和当前位置,通过算法来规划最佳的导航路线。

在规划路线时,导航系统会考虑道路交通状况、实时路况信息以及用户的个人偏好。

4.导航指引:导航系统通过语音提示和图像显示向用户提供导航指引。

用户可以根据导航系统的指示准确地到达目的地。

三、导航系统的核心技术导航系统的核心技术包括以下内容:1.差分定位:差分定位是一种利用基准站和移动接收机之间的差异来提高定位精度的技术。

通过差分定位,导航系统可以达到亚米级的位置精度。

2.惯性导航:惯性导航是一种通过惯性传感器来测量加速度和旋转速率,并通过积分计算出位置和方向的技术。

3.3 地图与卫星导航系统的应用 课件(共40张PPT) 七年级地理上学期商务星球版(2024)

利用数字地图可实现对某种灾害过程的动态监测,并将这些信息与地形、 河湖、 居民点、道路、桥梁等信息进行叠加分析,从而可实现对灾害全过程的预报和预警。
➢ 金华市防汛系统
卫星导航系 统及其应用
全球卫星导航系统
全球卫星导航系统是一种利用卫星在全球范围内 进行实时定位、导航的地理信 息系统。
拓展阅读
北斗卫星导航系统
2023年5月17日,我国成功发射第五十六颗北斗导航卫星。该系列卫星属地球静止轨道卫星。静止 轨道卫星是运行于地球赤道平面上的地球同步卫星,其运行方向、运行周期与地球自转相同。下图为 地球静止轨道卫星示意图。读图,完成下面小题。
6.北斗导航系统在电子地图中广泛应用。电子 地图的优点是( ) ①可随意调节图幅面积 ②可随意改变比例尺的大小 ③能实时查看位置信息 ④可快速规划出行最佳路线 A.①②③ B.①②④ C.①③④ D.②③④
实践活动
我能够分析 该地区的 地 表形态特征
我知道了这 个地区的河 湖分布状况
通过地图上各种 要素的阅读分析, 我可以了解该地 区各地理要素之
间的联系。
我了解该 地区的区 域范围
慧眼是地图
我看到了该
地区的海陆 分布状况
我还能够大致 推测出该地区 的气候状况
通过阅读图例。 我可以识别地 图上的地理事
课堂小练
清明假期,宁宁一家前往黄山景区游览。读黄山景区导览简图,完成下面小题。
1.宁宁到达黄山景区后,利用手机查找景区导
览图信息,若将手机地图放.显示内容更简略
C.表示范围更小 D.比例尺变小
解析:手机地图放大,图幅不变,比例尺变大,表示范围更小,显示内容更详细,C正确,ABD 错误。故选C。
第三章 地图与地理信息技术
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计综合实验Ⅰ》三级项目设计报告学生所在学院:信息学院学生所在班级:13软件7班学生姓名:王俊伟指导教师:尤殿龙李可王艳芬陈琦教务处2014年12 月项目题目:定兴县的导航系统一、问题描述1. 项目采用学生一人一个题目的形式,个人独立完成。

导航的地点按每个学生的家乡,以县镇为单位均可。

2.要求导航的结点不少于20个。

3.要求实现可以随意浏览任一景点的介绍。

(功能一)4.要求可以给出任意两个景点的最短距离及其路线。

(功能二)5.要求可以查看任一景点热度,并可以对对所有景点热度进行排序。

(访问次数)(功能三)6.要求每个景点相关内容从文件读取,实现对文件操作的练习。

7.要求根据自己的能力对界面进行设计,界面友好,使用方便。

二、设计思路首先根据要导航的城市地图(地图资料上网查找),抽象出一个无向联通图,并用邻接链表的方式实现对该无向联通图的存储,其中头结点存储城市地点的景点介绍信息;求任意两个景点的最短距离及路线根据迪杰斯特拉算法实现,路线根据访问的次数依次输出;景点热度首先有一个txt文件存储默认的热度,然后根据用户的访问景点信息,则热度增加并重置景点热度;对经典热度排序可以根据简单的冒泡排序法进行热度排序。

三、数据结构#include "stdafx.h"#include<iostream>#include<string>#include<queue>#include<fstream>using namespace std;# define MAX_VEX_NUM 20 //宏定义图顶点的最大值int visited[MAX_VEX_NUM];//给图结点设置访问标志typedef struct ArcNode//定义邻接表结构{int adjvex;//顶点的位置float weight; //连接两顶点的边的权值struct ArcNode *nextarc;//指向下一条弧的指针}ArcNode;typedef struct VNode//定义顶点结构类型{string data;// arc;//指向第一条依附于该顶点的弧的指针string information;int heat;ArcNode *firstarc;//指向第一条依附于该顶点的弧的指针}VNode,Adjlist[MAX_VEX_NUM];typedef struct{Adjlist vertices;int vexnum; //顶点数int arcnum; //边数}ALGraph;typedef struct Passnode{int arrange;string name;}passnode;typedef struct Heat{int heat;string name;}Heat;四、功能模块class Graph{public:float Dij[100];Passnode pass[20][20];Heat heat[20];ALGraph G;Graph(){G.arcnum=0;G.vexnum=0;}int locatevex(string v);void Create_DG();void show();void introduce(string x);void setheat();void showheat();float getweight(int x,int y);void Dijkstra(string v);void path(int a);};五、项目运行结果(运行截图)六、程序源代码// 地图导航系统.cpp : 定义控制台应用程序的入口点。

//#include "stdafx.h"#include<iostream>#include<string>#include<queue>#include<fstream>using namespace std;# define MAX_VEX_NUM 20 //宏定义图顶点的最大值int visited[MAX_VEX_NUM];//给图结点设置访问标志typedef struct ArcNode//定义邻接表结构{int adjvex;//顶点的位置float weight; //连接两顶点的边的权值struct ArcNode *nextarc;//指向下一条弧的指针}ArcNode;typedef struct VNode//定义顶点结构类型{string data;// arc;//指向第一条依附于该顶点的弧的指针string information;int heat;ArcNode *firstarc;//指向第一条依附于该顶点的弧的指针}VNode,Adjlist[MAX_VEX_NUM];typedef struct{Adjlist vertices;int vexnum; //顶点数int arcnum; //边数}ALGraph;typedef struct Passnode{int arrange;string name;}passnode;typedef struct Heat{int heat;string name;}Heat;class Graph{public:float Dij[100];Passnode pass[20][20];Heat heat[20];ALGraph G;Graph(){G.arcnum=0;G.vexnum=0;}int locatevex(string v);void Create_DG();void show();void introduce(string x);void setheat();void showheat();float getweight(int x,int y);void Dijkstra(string v);void path(int a);};int Graph::locatevex(string v)//寻找顶点位置的下标{int i=0;while(i<G.vexnum && v!=G.vertices[i].data)i++;if(i<G.vexnum)return i;elsereturn -1;}void Graph::Create_DG()//创建一个有向图图的邻接链表表示{ifstream a;a.open("地图.txt");a>>G.vexnum;a>>G.arcnum;string v1; //弧的起点string v2; //弧的终点int v1locate; //弧的起点v1 的存储的位置int v2locate; //弧的起点v2 的存储的位置ArcNode * p;ArcNode * q;for(int i=0;i<G.vexnum;i++){a>>G.vertices[i].data;getline(a,G.vertices[i].information,'#');G.vertices[i].firstarc=NULL;}for(int k=1;k<=G.arcnum;k++){a>>v1;a>>v2;float x;a>>x;v1locate=locatevex(v1);v2locate=locatevex(v2);p=new ArcNode;p->weight=x;p->adjvex=v2locate;p->nextarc=G.vertices[v1locate].firstarc;G.vertices[v1locate].firstarc=p;q=new ArcNode;q->weight=x;q->adjvex=v1locate;q->nextarc=G.vertices[v2locate].firstarc;G.vertices[v2locate].firstarc=q;}}//Create_DGvoid Graph::show(){cout<<"------------------欢迎使用怀来县地图导航系统--------------------"<<endl;for(int i=0;i<G.vexnum;i++){cout<<G.vertices[i].data<<" ";if((i+1)%4==0)cout<<endl;}cout<<"----------------------------------------------------------------"<<e ndl;cout<<endl<<endl;cout<<"菜单:\n 1:介绍地点\n 2:求两点最短路径\n 3:热度排行\n 0: 退出系统\n\n";}void Graph::introduce(string x){int i = locatevex(x);heat[i].heat++;if(i!=-1){cout<<G.vertices[i].information<<endl;cout<<endl;}else{cout<<"输入错误请重新输入:"<<endl;string a;cin>>a;introduce(a);}}void Graph::setheat(){for(int i=0;i<20;i++){heat[i].heat=0;heat[i].name=G.vertices[i].data;}}void Graph::showheat(){int t;string tt;for(int i=19;i>=1;i--){for(int j=0;j<i;j++){if(heat[j].heat<heat[j+1].heat){t = heat[j].heat;tt=heat[j].name;heat[j].heat = heat[j + 1].heat;heat[j].name=heat[j+1].name;heat[j + 1].heat = t;heat[j+1].name=tt;}}}for(int i=0;i<20;i++){cout<<heat[i].name<<heat[i].heat<<endl; }}float Graph::getweight(int x,int y){ArcNode *p;for(p=G.vertices[x].firstarc;p;p=p->nextarc){if(p->adjvex==y){return p->weight;break;}}return 10000;}//迪杰斯特拉算法void Graph::Dijkstra(string v){float MAX=10000;int v0=locatevex(v);/*求得str在数组中的位置*/bool final[MAX_VEX_NUM];//用来标识源点到此顶点的最短路径是否找到for(int i=0;i<G.vexnum;i++)//初始化{final[i]=false;//初始化没有找到Dij[i]=getweight(v0,i);//初始化所有的路径长度。

相关文档
最新文档