湯文兵 田忠彬
摘要:許多車主在陌生的大型停車場中經常會遇到找不著愛車、不知道方向的尷尬問題,既耽誤時間,也影響出行的心情。人們的生活節奏加快,激增了對效率類移動應用的需求。因此,停車場找車應用具有一定的實用價值。在該文中,筆者闡述了車主可能面臨的困境,及針對具體問題的解決方案。有針對性的對該應用進行了需求分析,并總結出車位標記、目的地導航、智能尋車等三大用戶需求。詳細描述了應用的框架體系和數據組織結構,包括。各數據模型的設計方案,數據層與展示層的數據交換方式,應用間各模塊的消息通信機制。并預期了應用后期的功能拓展。
關鍵詞:停車場;智能尋車;定位;導航;效率
中圖分類號:TP311 文獻標識碼:A 文章編號: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 背景
隨著人們生活水平的提高,日常生活的節奏日趨加快。人們更加渴望得到自己精確的位置信息。在此巨大需求的推動下,定位導航技術的水平有了極大的提高。現階段的室外定位技術已成熟并且得到了大范圍的推廣應用,然而用戶的需求早已擴大。人們對于自己所處室內位置實時信息的需求性越來越高。智能手機的普及為我們提供了一種全新的技術解決方案,在高性能的硬件支持下,我們可以將從前只能在PC端進行的運算裝載到手持設備為我們服務。基于iOS的停車場找車應用,在特定的停車場環境下為用戶解決了記憶難,找車難等諸多問題,讓科技為我們服務,為我們提供了更加便捷的生活方式。
2 系統分析
2.1 系統的需求分析
基于iOS的停車場找車應用分為客戶端功能和信息采集端功能:
客戶端功能的主要有:
1) 為用戶提供完整的詳細的停車場地圖。
2) 用戶可通過輸入標記自己的車位信息留作提醒,防止遺忘。
3) 提供從當前位置尋找最近的電梯、樓梯出口路徑導航。
4) 用戶在返回尋車是可通過已標記的車位或者輸入車位智能尋車。
信息采集端的功能主要有:
1) 顯示與客戶端一致,并且比例大小相同的地圖。
2) 手動生成路徑的關鍵節點。
3) 通過路徑關鍵點生成路徑并生成步伐信息。
4) 通過指南針方向傳感器生成路徑線的方向。
5) 輸出以上獲取的數據信息用于路徑導航。
停車場找車應用可分為供用戶使用的客戶端和供后臺使用的信息采集端。客戶端主要包括:為用戶提供完整的詳細的停車場地圖、用戶可通過輸入標記自己的車位信息留作提醒,防止遺忘、提供從當前位置尋找最近的電梯、樓梯出口路徑導航、用戶在返回尋車是可通過已標記的車位或者輸入車位智能尋車。后臺使用的信息采集端主要功能包括:顯示與客戶端一致,并且比例大小相同的地圖、手動生成路徑的關鍵節點、通過路徑關鍵節點生成路徑和步伐信息、通過指南針傳感器生成路徑線的方向信息、輸出已獲取的數據信息用于路徑導航。
2.2 應用的可行性分析
隨著移動互聯網的發展和智能手機用戶的增加,傳統的功能性應用擴散到移動手持設備是一個必然的趨勢。大部分PC應用和Web應用都擴散到了主流的移動設備操作系統如Andirod,iOS,WindowsPhone。
進行可執行性的分析是在開發應用程序之前對詞項目進行衡量的重要過程,經過最初的設計目標和概念性的市場調查得出以下四點的可行性分析:
1) 經濟可行性:該應用設計有一定的市場價值,能夠獲得經濟效益。
2) 技術可行性:iOS開發技術已成熟。
3) 運行可行性:應用的部署需要OSX、iOS設備以及授權證書,部署之后在小范圍的已授權設備中可正常運行。
通過以上的可行性分析,可以采用iOS開發相關技術對應用進行開發設計。
2.3 系統的主要技術
2.3.1 Objctive-C概述
Objctive-C語言是在C語言基礎上進行擴充的面向對象的編程語言,是開發OSX和iOS系統應用的首選語言。Objective-C近年迅猛的增長勢頭當歸功于iPhone及iPad設備巨大的市場份額。Objective-C是非常輕量級的語言,它的運行庫體積非常小,所以Objective-C寫成的程序通常不會比其原始碼大很多。
2.3.2 Xcode開發工具
Xcode是開發蘋果應用程序的必備開發環境, 它以其優秀的編譯效率和用戶體驗得到了廣大開發者的好評。iOS設備在開發者賬號的支持下可讓Xcode把應用程序部署到iOS設備上,并且我們也可以在iPhone模擬器上進行調試。Xcode提供了圖形化編輯工具,可以快速的進行界面布置與代碼編寫。
2.3.3 SVG可縮放的矢量圖形
SVG(可放縮的矢量圖形)是W3C在2000年8月制定的一種新的二維矢量圖形格式。關于SVG的開發工作都是一些知名廠商帶頭推動的, 如Adobe、蘋果、AutoDesk、BitFlash、Corel、惠普、IBM、ILOG、INSO、Macromedia、微軟、Netscape、OASIS、Open Text、Quark、RAL(CCLRC)、Sun、ViSi0、施樂等,SVG是一項開源的項目,在眾多有開源精神的開發者的支持下,SVG技術得到了有效的推廣和高速的發展。
使用SVG圖形格式有以下幾項有點。
1) 放縮比例任意控制。
2) 文本與圖形相互獨立。
3) 文件體積小已于傳輸與存儲。
4) 卓越的顯示效果。
5) 極強的顏色控制。
6) 交互性和智能化。
3 系統設計
3.1 系統原理
本應用的開發是基于目前智能手機上的傳感器,結合相關的數據支持和算法,利用人在行走是產生的加速度以此來計算并獲取用戶的位置信息。
當人在行走時,會產生一個向前的加速度,我們可以結合當前手機鎖獲取的方向信息來判斷用戶在實際的空間環境中是向哪一個方向行走。模擬人體行走的波形圖,如圖1所示。
從人體行走的特點上來看,當步伐達到一個最高點之后,腳步動作將往下移動。在這個最高點的時刻,人體將有一個近似等于當地的重力加速的一個加速度值。如果我們以時間為x軸,人體的加速度為y軸建立坐標系。那么反映在圖標上的信息將使一種類似三角函數的圖形,為了方便我們去計算,我們可以將其轉化為方波的形,這樣在視覺上將顯得更加直觀。假設我們以通用的0.5m為人邁出一步的距離。在生成數據時,將每條路徑線按照實際長度比美0.5m為一個步伐點。當通過步伐感知獲取到用戶已經邁出一步,并且通過方向傳感器可以知道用戶是朝著哪個方向前進的。這樣我么就可以將用戶的位置反映在地圖上。以此來進行定位與導航。
3.2 用戶操作流程圖
本應用其主要功能的用戶操作程序流程圖,如圖2所示:
用戶在開啟應用后將自動的切換到服務區域內最近的停車場。當用戶不在服務區域時,將切換到默認的演示停車場。用戶在進行車位標記時,應用會根據用戶輸入的車位更新標識信息。在進行尋車、出口導航時,若用戶未進行輸入,將提示用戶進行車位輸入,若用戶已輸入目標車位或者起始點車位,將直接進行路徑規劃并開啟導航。導航過程中,用戶可手動關閉導航或者當用戶抵達目的地時,完成業務邏輯將退出導航。
3.3 應用的總體結構設計
系統的總體結構設計所要完成的工作是確定系統的各個功能模塊的組成,以及它們在處理系統業務邏輯的相互關系。合理的處理各個模塊之間的信息交換方式和參數傳遞,正確的為用戶顯示有效信息是系統的關鍵。
3.3.1 客戶端詳細功能描述
1) 為用戶提供完整的詳細的停車場地圖。
2) 用戶可通過輸入標記自己的車位信息留作提醒,防止遺忘。
3) 提供從當前位置尋找最近的電梯、樓梯出口路徑導航。
4) 用戶在返回尋車是可通過已標記的車位或者輸入車位智能尋車。
3.3.2 采集端詳細功能描述
1) 顯示與客戶端一致,并且比例大小相同的地圖。
2) 手動生成路徑的關鍵節點。
3) 通過路徑關鍵點生成路徑并生成步伐信息。
4) 通過指南針方向傳感器生成路徑線的方向。
5) 輸出以上獲取的數據信息用于路徑導航。
4 系統實現
4.1 步伐感知算法的實現
在本應用中所采用的步伐感知算法的思路是:
對于我們每個人來說,步頻和步幅是不一樣的,對于步幅我們可以用一個粗略的平均值來計算。對于頻率,在本應用中我所采用的方案是:在用戶初次使用本應用時會有一個2秒的采樣時間,我們在這初始時間內對該用戶的行走頻率進行計算,獲取這個用戶的行走頻率,并以此作為衡量該用戶在后續使用本應用的過程中的步伐的衡量標尺。有可能在這兩秒的采樣過程中所反映出的數據并不是完全符合用戶的真實數據。所以在用戶接下來行走的每一步中我們所獲取的數據都會于之前所獲取的數據進行累計并重新衡量,做到用戶在使用改應用的過程中,應用中內置的記步功能將會越來越準確。這也同目前市面上的大部分的運動類的應用在用戶使用之前需要用戶填寫一系列的身體特征信息這一做法不謀而合,真正的做到為用戶私人定制。