APP下载

基于A-star算法的地图查询系统的设计与实现

2018-05-08刘宏魁

电子技术与软件工程 2018年22期
关键词:数据库节点用户

刘宏魁

摘要 在对A-star算法展开分析的基础上,本文采用该算法设计了一种地图查询系统。从系统实现效果来看,路径查找准确率可以达到100%,能够满足实际应用需求。

【关键词】A-star算法 地图查询系统 路径搜索

在日常出行中,人们需要依靠地图查询系统进行地理位置信息的查询,从而确定当前位置到目的地的距离,选择适合的路径。在这一背景下,各种地图查询系统得到了开发和应用。本文采用A-star算法实现地图查询系统的开发,能实现位置信息的准确快速搜索,很好的完成地图查询。

1 A-star算法分析

在人工智能中,A-star算法为典型启发式搜索算法,可以用于实现静态路网中最短路径的有效求解。采用A-star算法,可以对估价函数进行定义和描述,得到启发能力较强的搜索算法。在实际应用该算法时,通过对需要安装地图数据进行处理,完成地图图片坐标平面规划,并将多路径节点坐标值进行标注,然后进行结构体变量记录,则能确定结构体MapPoint中节点坐标值、周围节点号等元素。采用A-star算法,对评价函数f(n)=g(h)+h(n)进行搜索,可以确定初始节点到n节点的路径散耗g(n),即节点到该点最短路径路程。而h(n)为节点n到目标节点最短路径路程,需要合理选择估价函数,才能得到最优解。在h(n)不超出n到目标节点距离实际值的情况下,拥有较多的搜索点,搜索范围将较大,搜索效率也将较低,但是可以获得最优解。如果估计值比实际值要大,尽管搜索范围得到了减小,可以快速完成搜索,但是不一定能获得最优解。在采用曼哈顿方法进行估算时,还要利用结构体AstarPoint对路径中各节点的x、v坐标值和各种函数值进行记录,并记录结构体指针类型元素。

2 基于A-star算法的地图查询系统设计与实现

2.1 系统结构设计

采用A-star算法进行地图查询系统设计,需要采用ARCIS软件实现地理数据信息矢量化处理,完成系统需要数据的提取。采用Browser/Service结构,则能完成数据信息发布平台设计。软件平台使用AutodeskmapGuide,可以利用HTML+JavaScript语言完成用户界面编写。系统服务器端采用ASP.NET+AJAX技术进行应用程序的编写,并利用SQL Server数据库进行请求的发送,同时实现数据输入,向用户进行数据反馈。采用Autodeskmap Guide Server地图服务器,可以进行地图数据的提供,并实现数据显示。在分布式系统环境中运行,系统客户端可以为用户提供实现GIS应用的浏览器。

2.2 系统功能模块

从系统功能模块设计上来看,系统包含用户管理功能模块,用户可以利用该模块进行系统注册和登录,进行信息编辑。而系统用户包含管理员和普通用户,拥有各自的权限。系统管理员可以通过服务器实现系统登录,进行系统运行管理。用户可以通过客户端进行系统登录,进行地图查询。系统地图查询功能模块可以实现地图缩放、拖动,并对地图标注的信息进行查询。用户利用该模块,可以进行地图上标注的修改,也能用鼠标进行窗口内任意两点最短路径量算。使用系统提供的Web浏览器,用户可以进行文字信息、地理位置等各种形式的检索查询,并通过选择地图对象获得相关信息报告。

2.3 系统数据库设计

在设计系统数据库时,考虑到地图区域较为复杂,还要合理选择数据结构形式,从而实现相关信息的合理组织。根据地理位置信息,可以进行地图区域划分,并根据地域边界位置信息确定同区域邻接关系。采用该种数据结构表现方式,可以实现定点坐标的分开存放,使系统冗余得到减少,以免地图区域表示受地图缩放比例变换的影响。此外,采用数组链表结构,也能提供区域边界判定逻辑,满足系统功能设计要求。结合这些要求,还要采用SQL Server数据库进行各种数据的存储,利用JDBC实现數据库访问。通过将数据源连接至数据库上,则能进行用户所在地点查询,完成对应数据的调用,继而实现地图查询操作。在数据库中,包含用户表User、标准信息表tag、关系表BBS等数据表,用于存储编号、名称、信息等属性信息,能够实现不同类型数据的存储和管理,从而为系统数据信息调用提供便利。

2.4 系统功能实现

从系统功能实现上来看,系统以STM32微控制器为核心控制器。系统初始化后,会先对数据库中地图数据进行读取,并在LCD上进行地图显示。采用系统查询路径时,系统则能实现A-star算法调用,赋予特定地点参数及权值,完成两点间可行路线中最优路径查找,通过调用UCGUI API函数进行路径显示。经过调试,采用A-Star算法设计的地图查询系统可以维持稳定运行,并实现最短路径准确查找和流畅呈现,路径查找准确率达100%。

3 结论

采用A-Star算法进行地图查询系统的设计,可以及时完成地图查询功能的刷新,为用户提供动态的界面,实现优选路径信息的查询。采用该系统,可以达到loO%路径查找准确率,提供强有力的数据服务。因此相信在地图查询方面,该种系统可以获得较好的应用前景。

参考文献

[1]张儒侠,付姗姗,基于Android智能手机的志愿服务信息查询系统设计[J].首都师范大学学报(自然科学版), 2016, 37 (03): 63-70.

猜你喜欢

数据库节点用户
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
关注用户
关注用户
关注用户
抓住人才培养的关键节点
如何获取一亿海外用户