實驗六公交線路查詢系統(tǒng)的設(shè)計及實現(xiàn)_第1頁
實驗六公交線路查詢系統(tǒng)的設(shè)計及實現(xiàn)_第2頁
實驗六公交線路查詢系統(tǒng)的設(shè)計及實現(xiàn)_第3頁
實驗六公交線路查詢系統(tǒng)的設(shè)計及實現(xiàn)_第4頁
實驗六公交線路查詢系統(tǒng)的設(shè)計及實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗六公交線路查詢系統(tǒng)的設(shè)計與實現(xiàn)一、實驗?zāi)康拈_發(fā)一種信息更新及時、界面和諧、查詢優(yōu)化日勺公交查詢系統(tǒng),在開發(fā)系統(tǒng)日勺過 程中使學(xué)生能對如下知識進行鞏固和擴大:數(shù)據(jù)庫理論知識;應(yīng)用數(shù)據(jù)庫理論對具體問題具體分析,設(shè)計出合理勺數(shù)據(jù) 庫構(gòu)造。數(shù)據(jù)構(gòu)造理論知識;根據(jù)具體問題提出合理勺數(shù)據(jù)構(gòu)造,并使用相應(yīng)解決措 施,理解圖和和圖有關(guān)勺搜索算法。算法設(shè)計與分析理論知識;對于不同勺查詢優(yōu)化算法進行分析,選用合適勺算 法。程序設(shè)計理論知識;系統(tǒng)勺最后實現(xiàn)需要編程環(huán)境,不同程序語言勺選用可 以更好勺理解程序設(shè)計勺有關(guān)知識。二、實驗內(nèi)容1、數(shù)據(jù)構(gòu)造設(shè)計公交線路可表達到有向圖勺形式:G=(V,E,R )。其中:V為

2、所有站點勺集合;E為所有公交路段(邊)勺集合;R為有向線路勺集合。途徑定義為:v vv一宜Tvv,表達從站點v0乘線路rl至站點vl,再從站點1,l0 riT 1 r2 1k-1 r k換乘線路r2至站點,最后,從站點Vk-1換乘線路至站點vk。公交線路作為稀疏有向圖,選用鄰接表作為存儲方式,其關(guān)系可轉(zhuǎn)化成二維表,見l inestops表勺設(shè)計;線路和乘車路經(jīng)選用線形表作為存儲方式(一維數(shù)組)。2、數(shù)據(jù)庫構(gòu)造設(shè)計;表8-1公交線路表(line)字段中文名字段英文名字段類型字段長度容許空路線編號line_idint4路線名稱line_namevarchar50/始發(fā)車fristbusvarcha

3、r50寸末班車lastbusvarchar50寸站點1station1varchar50寸站點2station2varchar50寸站點3station3varchar50寸varchar50寸varchar50寸varchar50寸站點45station45varchar50寸表8-2站點表(stop)字段中文名英文字段名字段類型長度容許空站點編號stop_idint4站點名稱stop_namevarchar50寸表8-3路線站點表(linestops)字段中文名英文字段名字段類型長度容許空路線編號line_idint4寸站點編號stop_idint4寸標(biāo)記ordint4寸3、算法設(shè)計;基于

4、換乘次數(shù)至少日勺查詢算法第一步:以起始點start勺后續(xù)線路和終點end勺前續(xù)線路分別作交,如交非空, 且始點start和終點end涉及在交集合里,則始點start和終點end有直達勺線路,輸 出線路信息。第二步:第一步勺交集非空,始點start和終點end不涉及在交集合里,始點start 和終點end沒有有直達勺線路,但可以通過一次中轉(zhuǎn)達到,中轉(zhuǎn)站為交集中勺元素, 輸出中轉(zhuǎn)一次線路信息。第三步:第一步勺交集為空,則始點和終點需一次以上轉(zhuǎn)乘。用不通過始點s tart和終點end勺各條公交線路與始點start勺所有后繼線路作交.取交為非空勺線路勺站點 s,用SH勺后續(xù)線路與終點endH勺前續(xù)線路

5、取交.若交集L不空(存在t屬于此交集),始 點s tart和終點end至少需換兩次車,且換車勺兩個站點先后分別為s和t。輸出中轉(zhuǎn)路線。第四步:若第三步勺交集L為空,則需則始點和終點需二次以上轉(zhuǎn)乘,思想同第 三步。直至中轉(zhuǎn)點與終點end勺前續(xù)線路勺交非空。,4、系統(tǒng)實現(xiàn)本系統(tǒng)可選擇集成軟件開發(fā)平臺(Delphi)及數(shù)據(jù)庫管理系統(tǒng)軟件(SQL Server)實 現(xiàn)。擬完畢如下功能:(1)公交線路勺數(shù)據(jù)輸入與維護模塊:公交路線錄入、修改、存 儲功能。(2)公交線路勺查詢模塊:公交線路查詢、時間查詢、站名查詢功能。(3)基 于最小轉(zhuǎn)乘次數(shù)勺乘車方案查詢模塊:三、實驗器材1、PC 機(已安裝 Delph

6、i7.0 和 SQL Server)1 臺四、實驗原理1、公交線路網(wǎng)絡(luò)特點:道路網(wǎng)絡(luò)一般是以交叉口為結(jié)點,各路段為弧段。對于公交網(wǎng)絡(luò),同一條路段上 可以由諸多公交線路,并且,每條線路均有固定勺行車線路和發(fā)出頻率,乘客只能在 具有相似站點勺線路間換乘。因此,相對道路網(wǎng)絡(luò)來說,公交網(wǎng)絡(luò)更為復(fù)雜。其重要 特點為:1)連通性:都市道路網(wǎng)絡(luò)勺連通性和公交網(wǎng)絡(luò)勺連通性含義不同。在道路網(wǎng)絡(luò) 中,道路交叉點連接著與該交叉口相連勺多條路段,車輛在交叉點可以從一條路段進 入另一條路段。在公交網(wǎng)絡(luò)中,若幾條不同公交線路通過空間上勺同一站點,如果在 該站點可以換車,則這幾條公交線路是連通勺,并且,換車存在換乘消耗,涉

7、及時間 消耗、費用消耗等。此外多條公交線路雖然在空間上勺同一點相交,但是該點不一定 是公交站點,或不是同步有站點,此時,不同公交線路是不連通,勺乘客不能在該點 換乘。2)節(jié)點勺特性:由于公交車只能在行駛線路上勺相應(yīng)站點停靠,因此,不同勺公 交線路,其行駛線路在空間上也許有重疊,但停靠站點不也許完全重疊。事實上,公 交乘客在換乘時一般要步行一段距離才干達到此外一條公交線路日勺站點,達到換乘日勺 目日勺。此時,換乘日勺兩條公交線路日勺站點并不重疊。因此,在進行公交網(wǎng)絡(luò)建模時, 要把空間上相近勺不同線路上勺站點,合理抽象成公交網(wǎng)絡(luò)圖上勺有關(guān)節(jié)點,來模擬 不同公交線之間勺換車狀況。2、乘車方案:假設(shè)乘

8、客欲從“a點乘公交車去b點,根據(jù)人們勺出行習(xí)慣,一方面,按照直線距 離搜索勺方式,檢索出離a、b直線距離近來勺起始站點A、目勺站點B;接著,看A站 與否有直達B站公交車。如果有直達線路,則立即選擇直達公交車。如果存在不止一 條直達線路,則根據(jù)沿途站點數(shù)至少、最快達到,選擇乘車方案;如果沒有直達線路, 則考慮換乘一次車勺方案:即通過A站勺車與通過B站勺車有無交叉點C,如果有,則 可以選擇在C處轉(zhuǎn)車達到B站;如果通過A、B站勺公交路線路沒有交叉點,則要考慮先 乘坐通過A站勺某一路車到某一c站,再看通過c站點勺車與通過B站點勺公交車與否有 交叉點D,如果有就再到D站轉(zhuǎn)車,兩次轉(zhuǎn)車可達到終點B站;如果

9、沒有,則需要轉(zhuǎn)乘 三次或三次以上才可達到目勺地。在上述狀況中,如果存在不止一種勺選擇方案,則 再考慮沿途站點數(shù)勺多寡,選擇最佳勺乘車方案。五、實驗環(huán)節(jié)1、系統(tǒng)數(shù)據(jù)導(dǎo)入,生成公交線路表(line),并對站點編碼,生成站點表(stop)2、遍歷公交線路表(line),生成鄰接表,用二維關(guān)系表路線站點表(linestops)3、界面設(shè)計及實現(xiàn):涉及數(shù)據(jù)錄入、修改界面,線路查詢界面。4、控件功能實現(xiàn)。參照基于換乘次數(shù)至少勺查詢算法實現(xiàn)第一步:通過查詢站點(stop)表,將顧客輸入日勺站點信息(stop_name)轉(zhuǎn)換成站點 編號(stop_id),以站點編號為條件,查詢線路站點關(guān)聯(lián)(linestops

10、)表中相應(yīng)日勺記錄,并 記錄下它們勺線路編號(line_id),對通過這兩個站點勺因此公交線路進行比較,記錄 下相似勺線路編號;第二步:判斷以上查詢中與否有滿足規(guī)定日勺記錄,若recordcount0,則記錄兩 站點在線路中日勺位置,判斷與否滿足行駛方向日勺規(guī)定,通過定義一種數(shù)組,將線路信 息中日勺線路名稱,起始和目日勺站點名稱以及兩站點之間日勺站點個數(shù)存入數(shù)組并輸出。若recordcount=0,證明查詢?nèi)丈渍军c之間不能直達,需要轉(zhuǎn)乘;第三步:查詢出兩站點之間所有線路勺站點交集(中轉(zhuǎn)站點),通過查詢站點(stop) 表,將顧客輸入日勺站點信息(stop_name)轉(zhuǎn)換成站點編號(stop_i

11、d),這里定義為id1,id2; 以它們?yōu)闂l件,搜尋線路站點關(guān)聯(lián)(linestops)表中兩個站點通過直達方式各自可以達到 勺站點集合,最后她們勺交集就是我們所需要勺換乘站點,將這些站點寄存入一種一 維數(shù)組中;第四步:反復(fù)第一、二步勺操作,查詢從起始站點達到中轉(zhuǎn)站點勺所有公交線路, 將線路信息中勺線路名稱,起始和中轉(zhuǎn)站點名稱以及兩站點之間勺站點個數(shù)存入一種 二維數(shù)組;第五步:再反復(fù)第一、二步勺操作,查詢從中轉(zhuǎn)站點達到目勺站點勺所有公交線 路,將線路信息中勺線路名稱,中轉(zhuǎn)站點和目勺站點名稱以及兩站點之間勺站點個數(shù) 存入另一種二維數(shù)組。第六步:判斷兩組路線之間與否有相似勺站點,相似勺站點即為中轉(zhuǎn)站,將轉(zhuǎn)乘 信息輸出。重要代碼:第一步:查詢兩站點之間在直達狀況下勺所有線路。select * from line where line_id in ( select A.line_id from(select line_id from linestops where stop_id in (select stop_id as id1 from stop where stop_name= edit1.text ) A,(select l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論