论文部分内容阅读
GIS(地理信息系统)是社会信息化的大背景下,地图学与计算机科学紧密结合的产物。GIS平台的应用已经深入到各行各业:电力系统、城市建设、交通、航空、水利等。现代GIS技术是通信技术、传统GIS和互联网技术,紧密结合的结果。各种互联网应用的都尝试将地理信息元素和概念添加到自己的产品中。本论文在Linux系统中构建了一个基于互联网的GIS系统。在Qt程序设计框架,结合Mapabc公司提供的基础地理数据,从底层实现了GIS系统中如测量算法和最短路径算法等基本算法,实现了基本GIS系统的常用功能。本文中研究的关键算法有:多点距离计算、多边形面积计算、最短路径查找和公交路线查找方法。其中多点距离测量和面积计算方式主要研究、对比并实现了线性模型算法和椭球模型算法。在最短路径算法方面主要是研究了Dijkstra算法和Floyd算法。这两种算法都是最短路径中较为常用的算法。其中Dijkstra算法的特点在于计算的是一个节点到其他所有节点的最短路径,而Floyd算法则可计算所有节点的距离矩阵,得出所有节点到其他所有节点的最短路径。在Floyd算法的基础上,设计了一种公交查询算法。本文重点完成了以上算法,在Linux/Qt框架下的实现,以及相应的用户界面设计。特点是程序基于底层,可移植性强,并且充分利用网络优势,提高客户端的使用体验。在没有网络连接的情况下,系统提供基本的一些服务;在连接网络的情况下,系统在算法效率和功能上有大幅度的提高。