毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

GPS应用论文 第16页

更新时间:2009-4-19:  来源:毕业论文
gps论文
下面介绍的是最短路径的查询。用户通过上面的程序找到该点在哪条街道上后,现在要做的,就是如何知道从一个点,在另一个点的最短路径。算法流程图如4.7所示
 
在这里,查询最短路径是利用迪杰斯特拉(Dijkstra)算法。迪杰斯特拉(Dijkstra)算法的具体实现在“ 3.2,最短路径搜索”里有详细介绍。这个算法,将任何一点到另外任何一点的最短路径都算出。当用户输入起点街道名,终点街道名,系统进入数据库,读取从起点到终结的最短路径,并显示。(在这个代码还提示所输入的街道名是否在系统范围内,如果不在,会提示“无此街道”)
输入起始街道名 并判断地图内是否有此街道 代码如下
  strSql1 = "select * from road where street_name =" & txtStreet.Text & ""
        dr = dbobj.DataReader(strSql1)
        If dr.Read Then
            k = dr("e1id")
                   Else
            MessageBox.Show("无此街道!")
            Exit Sub
输入终点街道名,判断地图有此街道并显示最短路径代码如下
strSql2 = "select * from road where street_name =" & txtEnd.Text & ""
        dr = dbobj.DataReader(strSql2)
        If dr.Read Then
            txtGj.Text = "最短路径为:" & dist(dr("e1id")) & vbCrLf & "路线为:" & txtEnd.Text
            j = dr("e1id")
                       For i = 0 To n + 1
               www.751com.cn
                        strSql = "select street_name from road where e1id =" & pre(j) & " and e2id =" & j & ""
                      
                        dr1 = dbobj.DataReader(strSql)
                        If dr1.Read Then
                            txtGj.Text = txtGj.Text & dr1("street_name")
                        Else
                            Exit For
                        End If
                        Exit For
                    Else
                        strSql = "select street_name from road where e1id =" & pre(j) & " and e2id =" & j & ""
                      
                        dr1 = dbobj.DataReader(strSql)
                        dr1.Read()
                        txtGj.Text = txtGj.Text & "<--" & dr1("street_name")

                    End If
                    j = pre(j)
                ElseIf j < k Then
                    j = pre(j)
                    If pre(j) = -1 Then
                        strSql = "select street_name from road where e1id =" & j & " and e2id =" & dr("e2id") & ""
                        dr1 = dbobj.DataReader(strSql)
                        If dr1.Read Then
                            txtGj.Text = txtGj.Text & dr1("street_name")
                        Else
                            txtGj.Text = txtGj.Text & "<--" & txtStreet.Text
                            Exit For
                        End If
                        Exit For
                    Else
                        strSql = "select street_name from road where e1id =" & j & " and e2id =" & pre(j) & ""
                        dr1 = dbobj.DataReader(strSql)
                        dr1.Read()
                        txtGj.Text = txtGj.Text & "<--" & dr1("street_name")

                    End If

                End If
            Next
        Else
            MessageBox.Show("无此街道!")
第五章  结    论
5.1  结论
城市公共交通在我国城市交通中占有重要的地位,是同我国城市居民生产、生活等活动密切相关的系统。如何更完善我们的地图,让地图更人性化,将更有利于我们的生活,是我们需要考虑的问题。
本论文的主要优点在于以下几点:
1.本论文考虑了单行道的问题,在地图中,我们将单行道的路径权值设置为无穷大,
在系统查询时,将不会选择这条路径。与实际生活中的情况更加符合。
2.在路径查询中,使用的是最短路径的算法。对于出行更简单有效。
5.2  需要改进的地方
虽然本论文在理论研究和具体实现上取得了有点的成功,但是还是存在着很大的不足,有许多问题有待进一步的改进和研究。以下是有待改进的问题:
1、由于个人能力有限,并没有考虑道路禁左的问题。
2.本文采用的迪杰斯特拉(Dijkstra)算法在存储路径权值问题是是采用邻接矩阵的形式,当矩阵超过1000*1000时,算法会运行的比较慢。
3.街道存储的信息不是非常的多,没有一些重点单位,比如银行,派出所之类的信息,也没有提供这些地点的查询。
4.虑外来游客,因为对我们的城市并不熟悉,如果能够提供一种功能,使得他们通过输入所在建筑物名称而查询出附近的公交车或者旅游景点,那么我们的系统必定将带来更大的方便。

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] 下一页

GPS应用论文 第16页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。