楊子玉 胡賽純
摘要:在科技日新月異的今天,傳統(tǒng)看圖尋址和地標(biāo)尋址只能適用于遠(yuǎn)距離導(dǎo)航,使用時(shí)省時(shí)費(fèi)力,而且可能還存在著諸如新地標(biāo)沒(méi)有及時(shí)更新,指代不清,消耗人力維護(hù)等問(wèn)題。該系統(tǒng)借助于在電子設(shè)備上通過(guò)c語(yǔ)言編程出城院校園導(dǎo)航,在點(diǎn)擊進(jìn)入主系統(tǒng)后,通過(guò)幾個(gè)選項(xiàng)就能分別實(shí)現(xiàn)查詢兩點(diǎn)最短路徑,校園景點(diǎn)查詢,校園地圖一覽等功能。非常適合在每年開(kāi)學(xué)季大一年級(jí)新生和外來(lái)人員在不熟悉校園的情況下,可以很快得到問(wèn)詢目的地最短路徑,并了解城院相關(guān)景點(diǎn)信息。從而為城院新生入學(xué)和外來(lái)人員來(lái)城院參觀了解提供了十足便利。
關(guān)鍵詞:C語(yǔ)言;校園導(dǎo)航;Android開(kāi)發(fā)
以湖南城市學(xué)院為例。隨著近年來(lái)湖南城市學(xué)院新食堂新宿舍新操場(chǎng)的興建,地標(biāo)建筑復(fù)雜多樣的情況下,以前的看圖找地址不僅耗費(fèi)腦力且因?yàn)閷W(xué)校新修建筑無(wú)法做到經(jīng)常更換地圖,已經(jīng)不能適應(yīng)時(shí)代的發(fā)展。在當(dāng)今信息時(shí)代,這種傳統(tǒng)的方法必然被以計(jì)算機(jī)算法為基礎(chǔ)的地址查詢系統(tǒng)所代替。
一、校園導(dǎo)航現(xiàn)狀分析
傳統(tǒng)的路標(biāo)牌導(dǎo)航主要是投放在高校主干道的沿途醒目的位置設(shè)立,用以標(biāo)示學(xué)校內(nèi)的主要地標(biāo)建筑及方向。使用者必須要確定自身所處位置并且比對(duì)參照物以及確定方向,考驗(yàn)使用者的方向感,且在路線不單一的情況下,等待尋址者的可能是一大片路線網(wǎng)。因此對(duì)用戶十分不便,路標(biāo)建設(shè)維護(hù)也需要花費(fèi)成本,路網(wǎng)多起來(lái)更是一筆不小的費(fèi)用。
得益于現(xiàn)代生活中,電子信息技術(shù)的遍及,預(yù)期設(shè)計(jì)的城市學(xué)院尋址系統(tǒng)可以帶來(lái)大量便利。運(yùn)用系統(tǒng)可以輕易查詢到地點(diǎn)的尋址方式,為學(xué)校縮小了建設(shè)維護(hù)路標(biāo)的開(kāi)支,保證了查址的工作效率與準(zhǔn)確性,十分高效的為大家?guī)?lái)便利。對(duì)日新月異發(fā)展的城市學(xué)院也十分友好。該系統(tǒng)可謂有非常多的閃光點(diǎn)和潛力,非常適合研究。
二、開(kāi)發(fā)工具
1Visual Studio Community 2019
電腦上的設(shè)計(jì)與調(diào)試選擇選用Visual Studio Community 2019,該工具功能強(qiáng)大且穩(wěn)定,有著完備的集成開(kāi)發(fā)環(huán)境(I D E),并且Community版對(duì)大學(xué)生使用者十分友好。對(duì)比專業(yè)版企業(yè)版等,除了高級(jí)調(diào)試功能以及測(cè)試工具功能不足外,其他功能都一應(yīng)俱全。支持 C#、Visual Basic、F#、C++、HTML、JavaScript、TypeScript、Python 等多種語(yǔ)言進(jìn)行編碼。
2 C4droid
C4droid是一款功能強(qiáng)大的手機(jī)軟件,在Android設(shè)備上支持 C/C++語(yǔ)言的編譯。Android 系統(tǒng)是一個(gè)基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng),它的軟件語(yǔ)言由底層C/C++,應(yīng)用層Java構(gòu)成,是支持C語(yǔ)言開(kāi)發(fā)運(yùn)行的。
支持圖形庫(kù)SDL、SDL2 QT等,不過(guò)為了完整發(fā)揮編譯功能,需要提前安裝GCC for c4droid插件,SDL plugin for C4droid插件以及CuteLoader插件。
三、總體設(shè)計(jì)
系統(tǒng)的主要功能為查詢最短路徑,校園地圖一覽,查詢景點(diǎn)信息,輸出校園信息,并可以通過(guò)循環(huán)重復(fù)實(shí)現(xiàn)每一項(xiàng)功能。
跳脫出現(xiàn)在愈加高精度,語(yǔ)音等其他紛繁復(fù)雜功能的導(dǎo)航系統(tǒng),導(dǎo)航最基礎(chǔ)的思想其實(shí)一直沒(méi)有改變,看似復(fù)雜的導(dǎo)航系統(tǒng)其實(shí)是把一些常見(jiàn)地理標(biāo)志抽象為“點(diǎn)”,然后把聯(lián)通兩點(diǎn)的路定義為“邊”。地圖可以由“點(diǎn)”“邊”“圖”組成,利用抽象化后的初始圖和圖論中的最短路徑理論以及相關(guān)算法(迪杰斯特拉算法)可以計(jì)算出兩個(gè)地點(diǎn)之間的最短路徑。本次設(shè)計(jì)以本校湖南城市學(xué)院為例,為了針對(duì)城院內(nèi)兩位置點(diǎn)的最短路徑求解,有以下方案:
(1) 預(yù)先選定湖南城市學(xué)院的具有代表作用的十個(gè)景點(diǎn),并畫(huà)出10個(gè)景點(diǎn)的草圖,再用C++語(yǔ)言輸出抽象化后的城市學(xué)院地圖路網(wǎng)。
(2) 用C++編程語(yǔ)言定義出節(jié)點(diǎn)的個(gè)數(shù)N,使用函數(shù)name()為景點(diǎn)賦予各類信息項(xiàng),充實(shí)點(diǎn)信息,使用函數(shù)information(),輸入各個(gè)景點(diǎn)簡(jiǎn)介,充實(shí)點(diǎn)信息。
(3) 讀入城市學(xué)院路網(wǎng)的起始點(diǎn),為鄰接矩陣的“邊”賦予相應(yīng)的值,賦值通過(guò)百度地圖軟件中的測(cè)距功能測(cè)得。統(tǒng)一精確度,將50m等于一單位,例如景點(diǎn)1 和景點(diǎn)2距離150m,設(shè)定G->arcs[1][2]=3。
(4) 基于本程序中圖的存儲(chǔ)是鄰接矩陣結(jié)構(gòu)存儲(chǔ)的圖結(jié)構(gòu),因而采用適合該存儲(chǔ)結(jié)構(gòu)的迪杰斯特拉算法用于解決求最短路徑的問(wèn)題。用do循環(huán)做出一個(gè)重復(fù)查詢功能,為了方便區(qū)別于十個(gè)景點(diǎn)代碼0-10,使用Y/N來(lái)進(jìn)行循環(huán)。
四、手機(jī)運(yùn)行
在電腦上用Visual Studio Community 2019調(diào)試好。調(diào)試無(wú)誤后,預(yù)先在Android手機(jī)上下好C4droid和GCC for c4droid,SDL plugin for C4droid插件。成功安裝C4droid主程序后,插件會(huì)自動(dòng)解壓。C4droid上支持打開(kāi)cpp文件,該軟件在測(cè)試運(yùn)行無(wú)誤后可以支持直接導(dǎo)出APK文件。
導(dǎo)出后在MT文件管理器打開(kāi)文件,使用該軟件的原因在于它可以對(duì)apk進(jìn)行加固優(yōu)化等操作增加apk安裝成功可能性。并且支持改用簽名方案,大幅提高系統(tǒng)在應(yīng)用安裝時(shí)驗(yàn)證的速度。
安裝成功后,可以在手機(jī)上運(yùn)行。
五、結(jié)語(yǔ)
在電子信息技術(shù)正在興起的今天,新技術(shù)的結(jié)合在人們的生活中發(fā)揮了巨大的應(yīng)用。我設(shè)計(jì)了一個(gè)系統(tǒng),使景點(diǎn)介紹,查詢路徑等功能可以借助計(jì)算機(jī)來(lái)完成調(diào)試,并最終使得該系統(tǒng)于手機(jī)上以軟件的形式運(yùn)行。
系統(tǒng)的優(yōu)點(diǎn)也顯而易見(jiàn):隨著智能手機(jī)的普及,使用手機(jī)來(lái)查詢校園地址,不僅可以節(jié)約出時(shí)間和人力,而且可以充分有效全面地利用校園路網(wǎng)并了解校園景點(diǎn)基本情況,系統(tǒng)開(kāi)發(fā)便利,易于推廣,使用起來(lái)方便??梢愿咝Э焖俚胤?wù)來(lái)校人員。