![公交查詢系統(tǒng)設(shè)計(jì)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/c371fccc-b465-4dd9-9b2e-1099988e9072/c371fccc-b465-4dd9-9b2e-1099988e90721.gif)
![公交查詢系統(tǒng)設(shè)計(jì)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/c371fccc-b465-4dd9-9b2e-1099988e9072/c371fccc-b465-4dd9-9b2e-1099988e90722.gif)
![公交查詢系統(tǒng)設(shè)計(jì)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/c371fccc-b465-4dd9-9b2e-1099988e9072/c371fccc-b465-4dd9-9b2e-1099988e90723.gif)
![公交查詢系統(tǒng)設(shè)計(jì)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/c371fccc-b465-4dd9-9b2e-1099988e9072/c371fccc-b465-4dd9-9b2e-1099988e90724.gif)
![公交查詢系統(tǒng)設(shè)計(jì)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/c371fccc-b465-4dd9-9b2e-1099988e9072/c371fccc-b465-4dd9-9b2e-1099988e90725.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、地理信息系統(tǒng)工程實(shí)習(xí)報(bào)告地理信息系統(tǒng)工程實(shí)習(xí)報(bào)告11實(shí)習(xí)概述11.1實(shí)習(xí)背景11.2實(shí)習(xí)要求21.3實(shí)習(xí)目的32實(shí)習(xí)安排32.1實(shí)習(xí)的總體安排32.2實(shí)習(xí)的詳細(xì)安排43實(shí)習(xí)的執(zhí)行63.1功能模塊的設(shè)計(jì)63.2.1功能描述63.2.1功能模塊圖73.2數(shù)據(jù)的獲取83.2.1地圖底圖的獲取83.2.2屬性數(shù)據(jù)的獲取93.2.3矢量數(shù)據(jù)的的獲取113.3數(shù)據(jù)庫的設(shè)計(jì)123.4界面設(shè)計(jì)133.5系統(tǒng)的實(shí)現(xiàn)144實(shí)習(xí)過程中遇到的問題165實(shí)習(xí)小結(jié)176致謝177參考文獻(xiàn)181實(shí)習(xí)概述1.1實(shí)習(xí)背景隨著現(xiàn)在社會(huì)的發(fā)展,我們的生活也朝著電子化不斷發(fā)展,而在交通方面,隨著人口數(shù)目的不斷增加,家用小轎車的數(shù)量也
2、不斷的增加,這導(dǎo)致了公路變得更加擁擠,這也深深地影響了人們對交通工具的選擇,人們開始更加傾向于公交車出行,因?yàn)檫@樣更加的環(huán)保和快捷,這也是現(xiàn)在政府比較提倡的一種出行方式,如果較多的人選擇了公交車出行,那么一個(gè)很現(xiàn)實(shí)的問題出現(xiàn)了,人們不可能記住所有的公交線路,也不會(huì)清楚地知道從某個(gè)地方到另一個(gè)地方該做什么公交車,該怎么換乘,因此一個(gè)良好的公交查詢系統(tǒng)對這些人們來說顯得尤為重要,還有就是交通電子眼在交通管理中越來越普及;而經(jīng)濟(jì)的不斷發(fā)展,避免不了人們都要到某些城市去公干或其他的事情。一旦你對這個(gè)城市不熟悉,你的出門就會(huì)舉步維艱。打的,對于一些因公出差的人來說算不了什么,但是對于旅游者或是個(gè)人來說就
3、不是很好的選擇。因此,開發(fā)一個(gè)城市的公交車查詢系統(tǒng)就顯得十分必要,可以說是關(guān)系到一個(gè)城市的形象問題。因此公交查詢系統(tǒng)將幫助出行人士方便、高效的安排自己的行程。 據(jù)我所知,在網(wǎng)絡(luò)上也有類似的功能的網(wǎng)頁供大家使用,有地圖可供查看,他們查詢的范圍較廣,有些的甚至包括全中國地區(qū)的各省市地區(qū)的路線查詢,查詢結(jié)果很精確。結(jié)合了我們地理信息系統(tǒng)專業(yè)背景知識,如果能一小組合作的方式完成了公交查詢系統(tǒng),這將對我們產(chǎn)生很大的幫助,我們能將自己所學(xué)的東西用之于實(shí)踐,提升自己的動(dòng)手能力和小組之間的團(tuán)結(jié)合作的能力,為自己今后的工作打下堅(jiān)實(shí)的基礎(chǔ)。1.2實(shí)習(xí)要求分組要求:組長1人:負(fù)責(zé)工作安排、召集討論、會(huì)議記錄、控制進(jìn)
4、度。組員3人:分工由組長負(fù)責(zé),包括:答辯人、界面設(shè)計(jì)人員、系統(tǒng)開發(fā)人員、數(shù)據(jù)獲取及處理人員、文檔撰寫人員、會(huì)議記錄人員等。作業(yè)要求:1. 實(shí)習(xí)分為了一次公開匯報(bào),兩次封閉匯報(bào),和最后的一個(gè)實(shí)習(xí)答辯,每次集中匯報(bào)時(shí)要提交相應(yīng)的進(jìn)度計(jì)劃表格及工作總結(jié)材料的電子版,封閉匯報(bào)還要下一周的進(jìn)度安排,如果召開了小組會(huì)議,還應(yīng)提供會(huì)議記錄;2. 在7.6之前提交系統(tǒng)設(shè)計(jì)資料、程序源代碼和相關(guān)數(shù)據(jù);3. 在7.7之前提交實(shí)習(xí)報(bào)告(每個(gè)同學(xué)按照自己的工作安排和實(shí)際情況撰寫,手寫)的電子版,報(bào)告格式請?jiān)诮虅?wù)處網(wǎng)站下載;4. 在9月份之前提交實(shí)習(xí)報(bào)告的紙質(zhì)版。1.3實(shí)習(xí)目的從大一到大三,三年了我們學(xué)的專業(yè)知識也不少
5、了,專業(yè)知識也有非專業(yè)知識也有,但是缺少把這些知識運(yùn)用到實(shí)踐的能力,動(dòng)手能力不強(qiáng),對于有些專業(yè)知識,我們學(xué)習(xí)的也不是很扎實(shí),我們也需要通過實(shí)踐來鞏固自己所學(xué)知識,本次實(shí)習(xí),是從系統(tǒng)工程的角度開展的,讓同學(xué)們依照系統(tǒng)工程實(shí)現(xiàn)步驟,運(yùn)用我們在課堂所學(xué)的軟件設(shè)計(jì)的知識,課堂上我們只是理論地依照地理信息系統(tǒng)工程去設(shè)計(jì)了一個(gè)物流園區(qū)運(yùn)輸管理系統(tǒng),光從理論學(xué)習(xí)相比于從實(shí)際的項(xiàng)目中去學(xué)習(xí)肯定會(huì)學(xué)不到很多知識,我想老師可能是出于補(bǔ)齊我們這方面缺失的東西,而開展了這次實(shí)習(xí),要求同學(xué)們在實(shí)習(xí)中運(yùn)用系統(tǒng)工程中的基本概念和原理,完成系統(tǒng)的設(shè)計(jì)和實(shí)施工作。并且,在系統(tǒng)的設(shè)計(jì)中,希望結(jié)合之前開設(shè)的課程中所學(xué)到的知識,像地
6、圖學(xué)的知識、數(shù)據(jù)結(jié)構(gòu)與算法的知識、GIS程序設(shè)計(jì)語言等,將課堂上的知識進(jìn)行實(shí)際的運(yùn)用,以達(dá)到更深刻理解課程內(nèi)容,學(xué)到更多老師不會(huì)說課本上也學(xué)不到的東西,這些東西往往是人們通過實(shí)踐總結(jié)出來的。經(jīng)過本次小型GIS軟件系統(tǒng)的實(shí)現(xiàn),我想,不僅可以讓同學(xué)們增加自己的實(shí)踐能力,而且可以讓同學(xué)們進(jìn)一步加深對GIS功能集成和綜合運(yùn)用的認(rèn)識和理解,深入地理解GIS在實(shí)際生活中的應(yīng)用,并且可以促進(jìn)學(xué)生們在程序設(shè)計(jì)和開發(fā)能力上的拓展,使之達(dá)到脫離GIS工具軟件束縛,根據(jù)功能組建GIS系統(tǒng)的能力,從而使得同學(xué)們具有參加實(shí)際工作和科學(xué)研究的能力,增強(qiáng)同學(xué)們以后參加工作的能力。2實(shí)習(xí)安排2.1實(shí)習(xí)的總體安排在明確了本次實(shí)
7、習(xí)的任務(wù)后,為了按照軟件設(shè)計(jì)的思路去進(jìn)行下去,我們小組在一起進(jìn)行了討論,目的是討論出我們這三周實(shí)習(xí)的大體的計(jì)劃與安排,因?yàn)橛辛撕玫陌才牛竺娴膶?shí)驗(yàn)才能有條不紊的進(jìn)行,如果不出意外,我們也會(huì)按照計(jì)劃上面的安排進(jìn)行下去,當(dāng)時(shí)我們討論的本次實(shí)習(xí)大致的安排如下表1:表1 項(xiàng)目總體進(jìn)度計(jì)劃表系統(tǒng)名稱: 上海市公交地鐵查詢系統(tǒng) 項(xiàng)目組別:_ 第五組_ _序號工作內(nèi)容進(jìn)度安排參與人第一周第二周第三周第四周1系統(tǒng)分析及概要設(shè)計(jì)劉靜,寧鵬飛2詳細(xì)設(shè)計(jì)湯奇,邵雄劉靜,寧鵬飛3數(shù)據(jù)的收集準(zhǔn)備及預(yù)處理邵雄劉靜4數(shù)據(jù)的分析處理和建立數(shù)據(jù)庫湯奇,劉靜邵雄5各個(gè)功能模塊的功能接口的設(shè)定和交互界面搭建劉靜,湯奇6編寫代碼實(shí)現(xiàn)
8、系統(tǒng)主要功能邵雄,寧鵬飛7對系統(tǒng)進(jìn)行完善和維護(hù)劉靜,寧鵬飛2.2實(shí)習(xí)的詳細(xì)安排在進(jìn)行了總體的計(jì)劃安排后,為了將我們的任務(wù)進(jìn)一步明確,我們更加深入了分解了我們每周的任務(wù),具體到了每一天,這樣的好處是,我們小組以后的進(jìn)度會(huì)跟著計(jì)劃表走,這樣做很合理,也不用擔(dān)心超出規(guī)定的時(shí)間而還未完成任務(wù),可能前期制定的計(jì)劃后期也不一定嚴(yán)格的執(zhí)行,可能還會(huì)需要改動(dòng),但是它卻給我們一個(gè)指導(dǎo)的思想,給了我們一個(gè)方向,我們小組制定出的周計(jì)劃如下列的表所示:表2 項(xiàng)目周進(jìn)度計(jì)劃表(第一周)系統(tǒng)名稱:上海市公交地鐵查詢系統(tǒng) 項(xiàng)目組別:_ _第五組_ _序號工作內(nèi)容進(jìn)度安排參與人周一周二周三周四周五周六周日1需求分析湯奇,寧鵬
9、飛2可行性分析劉靜,邵雄3總體設(shè)計(jì)劉靜,邵雄,寧鵬飛4所需數(shù)據(jù)深入分析邵雄寧鵬飛5數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)劉靜,邵雄,寧鵬飛6獲取線路站點(diǎn)屬性數(shù)據(jù)全體7獲取線路屬性數(shù)據(jù)全體8構(gòu)建站點(diǎn)矢量數(shù)據(jù)全體表3 項(xiàng)目周進(jìn)度計(jì)劃表(第二周)系統(tǒng)名稱:上海市公交地鐵查詢系統(tǒng) 項(xiàng)目組別:_ _第五組_ _序號工作內(nèi)容進(jìn)度安排參與人周一周二周三周四周五周六周日1構(gòu)建線路矢量數(shù)據(jù)看全體2數(shù)據(jù)處理以及為入庫邵雄,寧鵬飛3界面設(shè)計(jì)湯奇,劉靜4模塊間接口設(shè)定邵雄,寧鵬飛表4 項(xiàng)目周進(jìn)度計(jì)劃表(第三周)系統(tǒng)名稱:上海市公交地鐵查詢系統(tǒng) 項(xiàng)目組別:_ _第五組_ _序號工作內(nèi)容進(jìn)度安排參與人周一周二周三周四周五周六周日1完善界面搭建全體
10、2各模塊代碼編寫邵雄,寧鵬飛3模塊合成湯奇,劉靜4系統(tǒng)各功能測試邵雄,寧鵬飛5系統(tǒng)更新與護(hù)全體3實(shí)習(xí)的執(zhí)行3.1功能模塊的設(shè)計(jì)3.2.1功能描述進(jìn)行完總體的設(shè)計(jì)后,我們必須根據(jù)前面的需求分析來為系統(tǒng)設(shè)計(jì)不同的功能,功能既要使用,又要考慮到用戶的需求,經(jīng)過小組的討論分析,我們最總為系統(tǒng)想了如下幾個(gè)方面的功能:地圖顯示:根據(jù)我們截取的上海是地圖底圖,矢量化得到的點(diǎn)線面圖層,使上海市底圖、公交站點(diǎn)、公交線路等地圖及查詢結(jié)果的圖形化顯示;另外,用戶還可通過系統(tǒng)中控件實(shí)現(xiàn)對地圖的放大、縮小、漫游等基本操作來實(shí)現(xiàn)對地圖進(jìn)行操作,通過一些特殊顏色的高亮,點(diǎn)和線的特殊標(biāo)記使界面更加美觀和人性化。公交線路查詢:
11、如果我們想了解某一公交車的總線路狀況,便可在系統(tǒng)中輸入相應(yīng)的公交車的名字,系統(tǒng)便可在數(shù)據(jù)庫中根據(jù)車的名字,模糊找出可以供選擇的公交車,如果我們選中某個(gè)具體的公交車,系統(tǒng)便會(huì)顯示出這條公交車經(jīng)過的所有的站點(diǎn)名,而且還能在地圖上顯出出這條路的路徑,讓用戶有更加只管的感覺乘車方案查詢:當(dāng)確定起點(diǎn)和終點(diǎn)兩站點(diǎn)后,針對不同的需求,會(huì)出現(xiàn)不同乘車方案的選擇;如:當(dāng)希望得到一個(gè)能直達(dá)的公交線路,以免去轉(zhuǎn)車的周折時(shí),可選擇“直達(dá)查詢“功能當(dāng)追求時(shí)間效率最高的公交線路,以節(jié)約時(shí)間時(shí),可選擇“時(shí)間查詢”功能當(dāng)追求乘車便捷的公交線路,以減少換乘的次數(shù)時(shí),可選擇“換乘查詢”功能公交車查詢:公交車查詢是用來查看經(jīng)過某個(gè)
12、站點(diǎn)或者某段線路的所有的公交車名字,然后把這些公交車的名字返回給用戶。用戶可以根據(jù)經(jīng)過這點(diǎn)或者這條線的公交線路而選擇自己想要乘坐的公交車線路。公交站點(diǎn)查詢:當(dāng)需要了解某地點(diǎn)周圍公交站點(diǎn)的分布狀況,進(jìn)而找到最合適的站點(diǎn)時(shí),可通過點(diǎn)選或框選法實(shí)現(xiàn)對我們所點(diǎn)的點(diǎn)周圍的站點(diǎn)查找,和框選時(shí),方框內(nèi)面對的所有公交站點(diǎn)就會(huì)被返回給用戶。點(diǎn)選法:通過在地圖界面指定點(diǎn),并借助緩沖區(qū),進(jìn)而搜索一定半徑下的地域內(nèi)公交站點(diǎn)的分布狀況框選法:通過在地圖界面框選矩形所指定的范圍,進(jìn)而搜索該地域內(nèi)公交站點(diǎn)的分布狀況模糊查詢:當(dāng)進(jìn)行公交線路查詢需輸入站點(diǎn)名稱時(shí),可通過此功能進(jìn)行模糊查找,以減少因名稱記不全或記錯(cuò)而導(dǎo)致查詢失敗
13、的概率票價(jià)查詢:當(dāng)選擇線路方案時(shí),價(jià)錢因素也是影響選擇的重要因素,因此,可通過此方案為線路查詢多一個(gè)選擇3.2.1功能模塊圖由于根據(jù)前面需求分析,我們已經(jīng)討論出了系統(tǒng)大致會(huì)需要那些功能,可能后期還會(huì)添加或者刪除某一些功能這個(gè)都可以變動(dòng),我們根據(jù)我們功能繪制出了這次公交查詢系統(tǒng)的功能模塊圖如下圖1所示:圖1 系統(tǒng)功能模塊圖3.2數(shù)據(jù)的獲取3.2.1地圖底圖的獲取本次實(shí)驗(yàn)我們系統(tǒng)的顯示地圖部分我們打算從google地圖中截取上海市的地圖。下載稻割軟件,選取上海市的中心城區(qū),經(jīng)過小組的討論,我們的地圖等級選為了16級,因?yàn)樵?6級的情況下,地圖已經(jīng)很大了,如果截取到17那么大小就會(huì)上10G左右,這樣
14、顯示也不是很好,到時(shí)候會(huì)還很卡,不適合用到系統(tǒng)中,我們在稻割中截取了上海的地圖,得到的結(jié)果圖如下圖:圖2 上海市地圖底圖3.2.2屬性數(shù)據(jù)的獲取我們本次實(shí)驗(yàn)的屬性數(shù)據(jù)包括公交線路的信息,其中有公交線路的票價(jià)、時(shí)間、經(jīng)過的站點(diǎn)、公交車的路線名字等,還有站點(diǎn)信息,其中包括站點(diǎn)的名字、經(jīng)過站點(diǎn)的公交車和站點(diǎn)的經(jīng)緯度坐標(biāo)。公交車的相關(guān)信息我們是在百度地圖上先百度相應(yīng)的公交車的線路,得到它的行駛路線經(jīng)過的站點(diǎn),并且記錄下它的其他的一些信息,像公交線路的出發(fā)時(shí)間和收班時(shí)間、票價(jià)信息等,站點(diǎn)的信息獲取的方法是,通過所有的公交線把站點(diǎn)獲取完畢,接下來便是對站點(diǎn)去重復(fù),消除一些重復(fù)的選項(xiàng),得到唯一值站點(diǎn)后,我們
15、每個(gè)人分配一定數(shù)量的站點(diǎn),然后在百度地圖中輸入相應(yīng)站點(diǎn)的信息,得到該站點(diǎn)的經(jīng)緯度坐標(biāo)并且記錄下來,我們最后得到的屬性數(shù)據(jù)如下圖所示:圖3 所獲取的公交線路信息圖4 所獲取的站點(diǎn)信息3.2.3矢量數(shù)據(jù)的的獲取獲取了屬性數(shù)據(jù)之后,我們要開始矢量化的工作,矢量化的工作實(shí)在原來獲取了屬性數(shù)據(jù)的基礎(chǔ)之上進(jìn)行的,我們小組的大致思路是這樣的,由于我們獲取了站點(diǎn)的經(jīng)緯度,還有地圖數(shù)據(jù),我們可一根據(jù)站點(diǎn)的經(jīng)緯將站點(diǎn)導(dǎo)出為點(diǎn)shp圖層,接來根據(jù)每條線路經(jīng)過不同的站點(diǎn)而繪制出公交線路的線shp圖層,按照這個(gè)思路,我們對公交線路進(jìn)行了矢量化,得到矢量化后的結(jié)果如圖所示:圖5 上海市公交線路與站點(diǎn)的矢量圖層3.3數(shù)據(jù)庫
16、的設(shè)計(jì)本次實(shí)習(xí)是公交信息查詢系統(tǒng),用到的信息信息雖然量很大但是,但是我們建的表并不是很多,只有一些很重要,并且系統(tǒng)中會(huì)用到的,主要包括如下幾張表:圖6 線路信息表圖7 站點(diǎn)表圖8 公交線路表圖9 線拓?fù)浣Y(jié)構(gòu)這四張表中,站點(diǎn)和公交線路都有唯一的ID字段,這樣后面直接存他們的ID而不是存他們的名字,可以在一定程度上消除數(shù)據(jù)的不一致性,也可減少數(shù)據(jù)的冗余程度。3.4界面設(shè)計(jì)本小組的界面的界面崇尚簡約簡單的風(fēng)格,經(jīng)量減少彈窗的操作,從而減少用戶的不適應(yīng)性,還有就是功能操作簡單化,基本實(shí)現(xiàn)0輸入,只要用戶點(diǎn)擊鼠標(biāo)即可得到他想要的結(jié)果,而且結(jié)果也是直接顯示在系統(tǒng)的結(jié)果顯示區(qū)域,快捷明了;界面的整體的色調(diào)是
17、綠色與白色相間,既可以減少使用系統(tǒng)的用戶對著電腦產(chǎn)生的疲勞感,也寓意著綠色出行的意思。界面上的主要功能按鈕也只有四個(gè),分別是站點(diǎn)查詢、線路查詢、換乘查詢和語音播報(bào),站點(diǎn)查詢是用戶輸入站點(diǎn)的相關(guān)信息,我們會(huì)在數(shù)據(jù)庫中進(jìn)行模糊匹配,查找相應(yīng)的記錄,并且以圖形化的方式顯示在系統(tǒng)的左側(cè)結(jié)果區(qū),線路查詢也是一樣,用戶輸入相應(yīng)的信息即可,換乘查詢則需要輸入這次換乘查詢的起點(diǎn)和終點(diǎn),結(jié)果也會(huì)以圖形化的方式顯示在系統(tǒng)的左側(cè),并且這三種結(jié)果也同樣會(huì)顯示在視圖區(qū)域,讓人們可以清楚的看到當(dāng)前站點(diǎn)在什么具體的地方,線路在地圖上是怎么樣的,換乘查詢的換乘站在那個(gè)具體的地方,起點(diǎn)終點(diǎn)也在地圖上面標(biāo)注出來了,主界面上就一個(gè)
18、按鈕,用戶輸入完成后直接點(diǎn)擊回車,即可完成對相應(yīng)的事件的查詢,本小組經(jīng)過二天的時(shí)間,設(shè)計(jì)完成了公交查詢系統(tǒng)的界面,界面效果如下圖所示:圖10 界面設(shè)計(jì)結(jié)果3.5系統(tǒng)的實(shí)現(xiàn)進(jìn)行完上面的一些準(zhǔn)備工作之后,便開始對系統(tǒng)進(jìn)行實(shí)現(xiàn),換乘查詢部分:首先在數(shù)據(jù)庫端,我們存了三張(具體多少張要看寧鵬飛寫多少張了,好像比三張多,不錯(cuò)三張是主要的),包括BusStation站點(diǎn)表,線路表,和線路關(guān)系表,站點(diǎn)表里面存的是站點(diǎn)的名字和站點(diǎn)的ID,有可能還會(huì)把站點(diǎn)的坐標(biāo)存儲(chǔ)在里面, 而線路表里存的是線路的ID,線路名字,這里我們是把上行和下行分開存儲(chǔ),例如(723上行和723下行),他們是兩條記錄,由于我們到時(shí)候給的起
19、點(diǎn)站和終點(diǎn)站,我們想的是把經(jīng)過終點(diǎn)和起點(diǎn)的所有公交車全部列舉出來,看它們是否有相交的公交車,如果有,則表示可以直達(dá),如果沒有,我們把初始站點(diǎn)經(jīng)過的公交車經(jīng)過的站點(diǎn)全部列舉出來,在把經(jīng)過這些站點(diǎn)的公交車找出來,如果兩個(gè)公交車集合進(jìn)行比較,看是否有相交的部分,如果有相交的部分,則說明經(jīng)過一次換乘即可到達(dá)終點(diǎn)站,如果還是沒有交集,我們就這樣一直找下去,當(dāng)某次出現(xiàn)交集,即說明經(jīng)過幾次換乘即可到達(dá)終點(diǎn),總體的思路是站點(diǎn)線路站點(diǎn)線路站點(diǎn),每次到線路時(shí)看有沒有交集,如果有交集,則記錄下這樣的起點(diǎn)線路站點(diǎn)線路···線路終點(diǎn)站。查詢結(jié)果顯示部分:我們的結(jié)果顯示主要有三個(gè)部分,線路的
20、查詢顯示,公交線路結(jié)果的顯示,站點(diǎn)的查詢顯示;為了滿足這三種結(jié)果顯示所需要的數(shù)據(jù),我們在底層建了三個(gè)類,第一類是站點(diǎn)的類,類中有站點(diǎn)的ID,站點(diǎn)的名字等,可以把站點(diǎn)實(shí)例直接傳給顯示模塊進(jìn)行數(shù)據(jù)顯示,第二個(gè)類是線路類,類中有線路的名字,線路的ID,線路的站點(diǎn)序列(是一個(gè)list<站點(diǎn)>),同樣,把這個(gè)類的實(shí)例給顯示模塊即可進(jìn)行顯示,第三個(gè)類是換乘查詢結(jié)果的類,該類中包含的類有結(jié)果換乘的次數(shù),由于換乘會(huì)有換乘的公交車和換乘的站點(diǎn),所以這個(gè)類中有兩個(gè)list,分別為(list<站點(diǎn)類>,list<線路類>),把這個(gè)類的實(shí)例直接給顯示端即可進(jìn)行顯示查詢結(jié)果空間顯示:
21、第一種是顯示站點(diǎn),由于站點(diǎn)具有ID,和站點(diǎn)名字還有站點(diǎn)的經(jīng)緯度,我們有多重方式顯示站點(diǎn),實(shí)現(xiàn)起來比較簡單,可以通過ID匹配到對應(yīng)的站點(diǎn)進(jìn)行顯示,也可直接根據(jù)它的經(jīng)緯度進(jìn)行顯示,第二種顯示小線段,由于我們的小線段都有編號ID,和兩個(gè)端點(diǎn)的站點(diǎn)名字,因此只需匹配到對應(yīng)的線段后高亮顯示即可。圖11 系統(tǒng)查詢結(jié)果(線路查詢)2系統(tǒng)建的三個(gè)類如下class BusStation private int stationID; public int StationID get return stationID; set stationID = value; private string stationNam
22、e; public string StationName get return stationName; set stationName = value; class BusLine private int lineID; public int LineID get return lineID; set lineID = value; private string lineName; public string LineName get return lineName; set lineName = value; List<BusStation> StationList; clas
23、s BusChange private int changeCount; public int ChangeCount get return changeCount; set changeCount = value; List<BusStation> stations; List<BusLine> buslines;4實(shí)習(xí)過程中遇到的問題1).前面我們在消去重復(fù)站點(diǎn)時(shí),出現(xiàn)了一點(diǎn)錯(cuò)誤,有很多公交車都經(jīng)過像(招呼站,臨時(shí)站等),其實(shí)不同的公交雖然經(jīng)過站點(diǎn)名字都叫招呼站和臨時(shí)站,但是這些站點(diǎn)并不相同,我們在消除重復(fù)的時(shí)候,直接把這些站點(diǎn)算成一個(gè),導(dǎo)致好多經(jīng)過這些站點(diǎn)的小線段
24、都會(huì)出現(xiàn)錯(cuò)誤,為我們矢量話帶來了問題2).在開始確定站點(diǎn)坐標(biāo)的時(shí)候,由于站點(diǎn)是每個(gè)人對著百度地圖獲取的坐標(biāo)信息,有的人把站點(diǎn)看錯(cuò)或是點(diǎn)錯(cuò),導(dǎo)致位置產(chǎn)生了很大的偏差,也為我們后期帶來了很大的困難3).我們在獲得不重復(fù)小線段的時(shí)有一點(diǎn)問題也為后來的矢量化帶來了困難,在判斷兩條小線段是否是相同的兩個(gè)小段時(shí),我們比較的它的兩個(gè)站點(diǎn),如果他們的兩個(gè)站點(diǎn)全部相等,則說明這兩個(gè)小線段完全相同,我們只需要繪制一個(gè),可是,在比較站點(diǎn)相等的時(shí)候,由于站點(diǎn)是不同的人獲得的,就會(huì)導(dǎo)致像“站點(diǎn)1(臨時(shí)站)”和“站點(diǎn)1(臨時(shí)站)”這兩個(gè)站不相等,中文的(站兩個(gè)字符,而英文的(只占一個(gè)字符,判斷失敗就會(huì)導(dǎo)致明明兩條相同的線段,我們用程序判斷時(shí),把兩個(gè)明明相同的小線段認(rèn)定為不同的小線段,我們后面還得刪除。4)如果直接把我們得到數(shù)據(jù)存入數(shù)據(jù)庫,可能會(huì)造成數(shù)據(jù)的不一致與冗余的現(xiàn)象,我們對必要的數(shù)據(jù)進(jìn)行了分離,賦了唯一的ID,解決的數(shù)據(jù)的不一致與冗余的問題。5)界面搭建的時(shí)候,我們以前總是把界面和代碼混在一塊,每次界面想變動(dòng)一點(diǎn),底層的代碼會(huì)有很大的改動(dòng),這次,我們將界面和代碼盡量的分離開來,代碼盡量封裝到類和函數(shù)中,是代碼具有良好的可擴(kuò)展性。6)我們算法這部分比較簡單的老師所說的暴力算法時(shí)間和空間上可能會(huì)造成一定程度上的浪費(fèi),我們想的是先把這個(gè)算法實(shí)現(xiàn),并且實(shí)現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高壓泵項(xiàng)目規(guī)劃申請報(bào)告模板
- 2025年策劃協(xié)議離婚程序與標(biāo)準(zhǔn)
- 2025年土地買賣策劃中介服務(wù)協(xié)議
- 2025年數(shù)字化制造業(yè)轉(zhuǎn)型升級協(xié)議
- 2025年合作伙伴共同規(guī)劃有限公司合同協(xié)議范本
- 2025年產(chǎn)品供應(yīng)條款協(xié)議示例
- 2025年全球技術(shù)轉(zhuǎn)移與創(chuàng)新合作協(xié)議
- 2025年二次結(jié)構(gòu)墻體勞務(wù)承包合同
- 2025年信息技術(shù)外包服務(wù)協(xié)議示范本
- 2025年儀式用服裝租借合同示例
- 跨領(lǐng)域安檢操作標(biāo)準(zhǔn)化的現(xiàn)狀與挑戰(zhàn)
- 2024年08月香港2024年中國銀行(香港)有限公司校園招考筆試歷年參考題庫附帶答案詳解
- 大模型落地應(yīng)用實(shí)踐方案
- 2025年重慶三峽擔(dān)保集團(tuán)招聘筆試參考題庫含答案解析
- 2025年八省聯(lián)考內(nèi)蒙古高考生物試卷真題答案詳解(精校打印)
- 《快遞運(yùn)營》課件-項(xiàng)目一 快遞運(yùn)營認(rèn)知
- 2024年度工業(yè)自動(dòng)化設(shè)備維護(hù)保養(yǎng)及上門維修合同3篇
- 2025屆高三歷史二輪復(fù)習(xí)教學(xué)計(jì)劃
- 2005年第4季度北京住房租賃指導(dǎo)價(jià)格
- 醫(yī)療器械GMP計(jì)算機(jī)軟件確認(rèn)控制程序
- 蘇教版最新五年級數(shù)學(xué)上冊應(yīng)用題與解決問題專項(xiàng)
評論
0/150
提交評論