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