湯文兵 田忠彬
摘要:許多車主在陌生的大型停車場(chǎng)中經(jīng)常會(huì)遇到找不著愛(ài)車、不知道方向的尷尬問(wèn)題,既耽誤時(shí)間,也影響出行的心情。人們的生活節(jié)奏加快,激增了對(duì)效率類移動(dòng)應(yīng)用的需求。因此,停車場(chǎng)找車應(yīng)用具有一定的實(shí)用價(jià)值。在該文中,筆者闡述了車主可能面臨的困境,及針對(duì)具體問(wèn)題的解決方案。有針對(duì)性的對(duì)該應(yīng)用進(jìn)行了需求分析,并總結(jié)出車位標(biāo)記、目的地導(dǎo)航、智能尋車等三大用戶需求。詳細(xì)描述了應(yīng)用的框架體系和數(shù)據(jù)組織結(jié)構(gòu),包括。各數(shù)據(jù)模型的設(shè)計(jì)方案,數(shù)據(jù)層與展示層的數(shù)據(jù)交換方式,應(yīng)用間各模塊的消息通信機(jī)制。并預(yù)期了應(yīng)用后期的功能拓展。
關(guān)鍵詞:停車場(chǎng);智能尋車;定位;導(dǎo)航;效率
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)04-0059-03
The Realization and Design of Cars Searching Application
TANG Wen-bing, TIAN Zhong-bin
(School of Computer Science and Engineering, Anhui University of Science and Technology, Huainan 232001, China)
Abstract: A lot of vehicle owner offen feel embarrassed with those problems such as can not get approach to car, lose his bearings.These problem will lead to a waste of time and influence ouer moods.The fast-paced lifestyle lead to the need of applications to improve efficiency.And we can see that the cars searching application is practical.In this article,we studied the key to the questions in many aspects to which will case the vehicle owner in predicament and the solutions to solve all the questions put forward.We get the demand analysis Based on the application, and summed up th parking tag ,destination navigation and intelligent vehicle tracking. The framework and data model of the application are described in detail, including the data layer and presentation layer data exchange mode,message communication mechanism between each module of the application.The expection of later buid of the application is listed in the article.
Key words: park; search for car; locate; guide; efficiency
1 背景
隨著人們生活水平的提高,日常生活的節(jié)奏日趨加快。人們更加渴望得到自己精確的位置信息。在此巨大需求的推動(dòng)下,定位導(dǎo)航技術(shù)的水平有了極大的提高?,F(xiàn)階段的室外定位技術(shù)已成熟并且得到了大范圍的推廣應(yīng)用,然而用戶的需求早已擴(kuò)大。人們對(duì)于自己所處室內(nèi)位置實(shí)時(shí)信息的需求性越來(lái)越高。智能手機(jī)的普及為我們提供了一種全新的技術(shù)解決方案,在高性能的硬件支持下,我們可以將從前只能在PC端進(jìn)行的運(yùn)算裝載到手持設(shè)備為我們服務(wù)。基于iOS的停車場(chǎng)找車應(yīng)用,在特定的停車場(chǎng)環(huán)境下為用戶解決了記憶難,找車難等諸多問(wèn)題,讓科技為我們服務(wù),為我們提供了更加便捷的生活方式。
2 系統(tǒng)分析
2.1 系統(tǒng)的需求分析
基于iOS的停車場(chǎng)找車應(yīng)用分為客戶端功能和信息采集端功能:
客戶端功能的主要有:
1) 為用戶提供完整的詳細(xì)的停車場(chǎng)地圖。
2) 用戶可通過(guò)輸入標(biāo)記自己的車位信息留作提醒,防止遺忘。
3) 提供從當(dāng)前位置尋找最近的電梯、樓梯出口路徑導(dǎo)航。
4) 用戶在返回尋車是可通過(guò)已標(biāo)記的車位或者輸入車位智能尋車。
信息采集端的功能主要有:
1) 顯示與客戶端一致,并且比例大小相同的地圖。
2) 手動(dòng)生成路徑的關(guān)鍵節(jié)點(diǎn)。
3) 通過(guò)路徑關(guān)鍵點(diǎn)生成路徑并生成步伐信息。
4) 通過(guò)指南針?lè)较騻鞲衅魃陕窂骄€的方向。
5) 輸出以上獲取的數(shù)據(jù)信息用于路徑導(dǎo)航。
停車場(chǎng)找車應(yīng)用可分為供用戶使用的客戶端和供后臺(tái)使用的信息采集端。客戶端主要包括:為用戶提供完整的詳細(xì)的停車場(chǎng)地圖、用戶可通過(guò)輸入標(biāo)記自己的車位信息留作提醒,防止遺忘、提供從當(dāng)前位置尋找最近的電梯、樓梯出口路徑導(dǎo)航、用戶在返回尋車是可通過(guò)已標(biāo)記的車位或者輸入車位智能尋車。后臺(tái)使用的信息采集端主要功能包括:顯示與客戶端一致,并且比例大小相同的地圖、手動(dòng)生成路徑的關(guān)鍵節(jié)點(diǎn)、通過(guò)路徑關(guān)鍵節(jié)點(diǎn)生成路徑和步伐信息、通過(guò)指南針傳感器生成路徑線的方向信息、輸出已獲取的數(shù)據(jù)信息用于路徑導(dǎo)航。
2.2 應(yīng)用的可行性分析
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展和智能手機(jī)用戶的增加,傳統(tǒng)的功能性應(yīng)用擴(kuò)散到移動(dòng)手持設(shè)備是一個(gè)必然的趨勢(shì)。大部分PC應(yīng)用和Web應(yīng)用都擴(kuò)散到了主流的移動(dòng)設(shè)備操作系統(tǒng)如Andirod,iOS,WindowsPhone。
進(jìn)行可執(zhí)行性的分析是在開(kāi)發(fā)應(yīng)用程序之前對(duì)詞項(xiàng)目進(jìn)行衡量的重要過(guò)程,經(jīng)過(guò)最初的設(shè)計(jì)目標(biāo)和概念性的市場(chǎng)調(diào)查得出以下四點(diǎn)的可行性分析:
1) 經(jīng)濟(jì)可行性:該應(yīng)用設(shè)計(jì)有一定的市場(chǎng)價(jià)值,能夠獲得經(jīng)濟(jì)效益。
2) 技術(shù)可行性:iOS開(kāi)發(fā)技術(shù)已成熟。
3) 運(yùn)行可行性:應(yīng)用的部署需要OSX、iOS設(shè)備以及授權(quán)證書,部署之后在小范圍的已授權(quán)設(shè)備中可正常運(yùn)行。
通過(guò)以上的可行性分析,可以采用iOS開(kāi)發(fā)相關(guān)技術(shù)對(duì)應(yīng)用進(jìn)行開(kāi)發(fā)設(shè)計(jì)。
2.3 系統(tǒng)的主要技術(shù)
2.3.1 Objctive-C概述
Objctive-C語(yǔ)言是在C語(yǔ)言基礎(chǔ)上進(jìn)行擴(kuò)充的面向?qū)ο蟮木幊陶Z(yǔ)言,是開(kāi)發(fā)OSX和iOS系統(tǒng)應(yīng)用的首選語(yǔ)言。Objective-C近年迅猛的增長(zhǎng)勢(shì)頭當(dāng)歸功于iPhone及iPad設(shè)備巨大的市場(chǎng)份額。Objective-C是非常輕量級(jí)的語(yǔ)言,它的運(yùn)行庫(kù)體積非常小,所以O(shè)bjective-C寫成的程序通常不會(huì)比其原始碼大很多。
2.3.2 Xcode開(kāi)發(fā)工具
Xcode是開(kāi)發(fā)蘋果應(yīng)用程序的必備開(kāi)發(fā)環(huán)境, 它以其優(yōu)秀的編譯效率和用戶體驗(yàn)得到了廣大開(kāi)發(fā)者的好評(píng)。iOS設(shè)備在開(kāi)發(fā)者賬號(hào)的支持下可讓Xcode把應(yīng)用程序部署到iOS設(shè)備上,并且我們也可以在iPhone模擬器上進(jìn)行調(diào)試。Xcode提供了圖形化編輯工具,可以快速的進(jìn)行界面布置與代碼編寫。
2.3.3 SVG可縮放的矢量圖形
SVG(可放縮的矢量圖形)是W3C在2000年8月制定的一種新的二維矢量圖形格式。關(guān)于SVG的開(kāi)發(fā)工作都是一些知名廠商帶頭推動(dòng)的, 如Adobe、蘋果、AutoDesk、BitFlash、Corel、惠普、IBM、ILOG、INSO、Macromedia、微軟、Netscape、OASIS、Open Text、Quark、RAL(CCLRC)、Sun、ViSi0、施樂(lè)等,SVG是一項(xiàng)開(kāi)源的項(xiàng)目,在眾多有開(kāi)源精神的開(kāi)發(fā)者的支持下,SVG技術(shù)得到了有效的推廣和高速的發(fā)展。
使用SVG圖形格式有以下幾項(xiàng)有點(diǎn)。
1) 放縮比例任意控制。
2) 文本與圖形相互獨(dú)立。
3) 文件體積小已于傳輸與存儲(chǔ)。
4) 卓越的顯示效果。
5) 極強(qiáng)的顏色控制。
6) 交互性和智能化。
3 系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)原理
本應(yīng)用的開(kāi)發(fā)是基于目前智能手機(jī)上的傳感器,結(jié)合相關(guān)的數(shù)據(jù)支持和算法,利用人在行走是產(chǎn)生的加速度以此來(lái)計(jì)算并獲取用戶的位置信息。
當(dāng)人在行走時(shí),會(huì)產(chǎn)生一個(gè)向前的加速度,我們可以結(jié)合當(dāng)前手機(jī)鎖獲取的方向信息來(lái)判斷用戶在實(shí)際的空間環(huán)境中是向哪一個(gè)方向行走。模擬人體行走的波形圖,如圖1所示。
從人體行走的特點(diǎn)上來(lái)看,當(dāng)步伐達(dá)到一個(gè)最高點(diǎn)之后,腳步動(dòng)作將往下移動(dòng)。在這個(gè)最高點(diǎn)的時(shí)刻,人體將有一個(gè)近似等于當(dāng)?shù)氐闹亓铀俚囊粋€(gè)加速度值。如果我們以時(shí)間為x軸,人體的加速度為y軸建立坐標(biāo)系。那么反映在圖標(biāo)上的信息將使一種類似三角函數(shù)的圖形,為了方便我們?nèi)ビ?jì)算,我們可以將其轉(zhuǎn)化為方波的形,這樣在視覺(jué)上將顯得更加直觀。假設(shè)我們以通用的0.5m為人邁出一步的距離。在生成數(shù)據(jù)時(shí),將每條路徑線按照實(shí)際長(zhǎng)度比美0.5m為一個(gè)步伐點(diǎn)。當(dāng)通過(guò)步伐感知獲取到用戶已經(jīng)邁出一步,并且通過(guò)方向傳感器可以知道用戶是朝著哪個(gè)方向前進(jìn)的。這樣我么就可以將用戶的位置反映在地圖上。以此來(lái)進(jìn)行定位與導(dǎo)航。
3.2 用戶操作流程圖
本應(yīng)用其主要功能的用戶操作程序流程圖,如圖2所示:
用戶在開(kāi)啟應(yīng)用后將自動(dòng)的切換到服務(wù)區(qū)域內(nèi)最近的停車場(chǎng)。當(dāng)用戶不在服務(wù)區(qū)域時(shí),將切換到默認(rèn)的演示停車場(chǎng)。用戶在進(jìn)行車位標(biāo)記時(shí),應(yīng)用會(huì)根據(jù)用戶輸入的車位更新標(biāo)識(shí)信息。在進(jìn)行尋車、出口導(dǎo)航時(shí),若用戶未進(jìn)行輸入,將提示用戶進(jìn)行車位輸入,若用戶已輸入目標(biāo)車位或者起始點(diǎn)車位,將直接進(jìn)行路徑規(guī)劃并開(kāi)啟導(dǎo)航。導(dǎo)航過(guò)程中,用戶可手動(dòng)關(guān)閉導(dǎo)航或者當(dāng)用戶抵達(dá)目的地時(shí),完成業(yè)務(wù)邏輯將退出導(dǎo)航。
3.3 應(yīng)用的總體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)所要完成的工作是確定系統(tǒng)的各個(gè)功能模塊的組成,以及它們?cè)谔幚硐到y(tǒng)業(yè)務(wù)邏輯的相互關(guān)系。合理的處理各個(gè)模塊之間的信息交換方式和參數(shù)傳遞,正確的為用戶顯示有效信息是系統(tǒng)的關(guān)鍵。
3.3.1 客戶端詳細(xì)功能描述
1) 為用戶提供完整的詳細(xì)的停車場(chǎng)地圖。
2) 用戶可通過(guò)輸入標(biāo)記自己的車位信息留作提醒,防止遺忘。
3) 提供從當(dāng)前位置尋找最近的電梯、樓梯出口路徑導(dǎo)航。
4) 用戶在返回尋車是可通過(guò)已標(biāo)記的車位或者輸入車位智能尋車。
3.3.2 采集端詳細(xì)功能描述
1) 顯示與客戶端一致,并且比例大小相同的地圖。
2) 手動(dòng)生成路徑的關(guān)鍵節(jié)點(diǎn)。
3) 通過(guò)路徑關(guān)鍵點(diǎn)生成路徑并生成步伐信息。
4) 通過(guò)指南針?lè)较騻鞲衅魃陕窂骄€的方向。
5) 輸出以上獲取的數(shù)據(jù)信息用于路徑導(dǎo)航。
4 系統(tǒng)實(shí)現(xiàn)
4.1 步伐感知算法的實(shí)現(xiàn)
在本應(yīng)用中所采用的步伐感知算法的思路是:
對(duì)于我們每個(gè)人來(lái)說(shuō),步頻和步幅是不一樣的,對(duì)于步幅我們可以用一個(gè)粗略的平均值來(lái)計(jì)算。對(duì)于頻率,在本應(yīng)用中我所采用的方案是:在用戶初次使用本應(yīng)用時(shí)會(huì)有一個(gè)2秒的采樣時(shí)間,我們?cè)谶@初始時(shí)間內(nèi)對(duì)該用戶的行走頻率進(jìn)行計(jì)算,獲取這個(gè)用戶的行走頻率,并以此作為衡量該用戶在后續(xù)使用本應(yīng)用的過(guò)程中的步伐的衡量標(biāo)尺。有可能在這兩秒的采樣過(guò)程中所反映出的數(shù)據(jù)并不是完全符合用戶的真實(shí)數(shù)據(jù)。所以在用戶接下來(lái)行走的每一步中我們所獲取的數(shù)據(jù)都會(huì)于之前所獲取的數(shù)據(jù)進(jìn)行累計(jì)并重新衡量,做到用戶在使用改應(yīng)用的過(guò)程中,應(yīng)用中內(nèi)置的記步功能將會(huì)越來(lái)越準(zhǔn)確。這也同目前市面上的大部分的運(yùn)動(dòng)類的應(yīng)用在用戶使用之前需要用戶填寫一系列的身體特征信息這一做法不謀而合,真正的做到為用戶私人定制。