min,把最小值所在的di行和dj列記錄下來并在矩陣J中取出(di,dj)的元素值, 并用變量W記錄,如果第W行沒有被標(biāo)記則去標(biāo)記判斷矩陣D j對應(yīng)的W行,同時把Cl1賦值給 Flag(W),同時在矩陣J中去查找對應(yīng)W行的值為Cl1的元素,并用心和心記錄下該元素所在的 行和列,把判斷矩陣D j中剛剛被標(biāo)記的行中的每一個元素值都給加上mindist并把Dj中對應(yīng) 的(CU,山)與(Γι,r j)設(shè)置為m,接著跳轉(zhuǎn)到步驟3;
[0045] 步驟5,知道移動終端設(shè)備當(dāng)前位置起點S和目標(biāo)興趣點終點D,從終點D開始沿著 被標(biāo)記的Flag的分量向前查詢,得到的mindist即為最短路徑。 【【附圖說明】】
[0046] 圖1為本發(fā)明的方法流程;
[0047]圖2為本發(fā)明的系統(tǒng)結(jié)構(gòu)。 【【具體實施方式】】
[0048]為了使本領(lǐng)域技術(shù)人員更好的理解本發(fā)明技術(shù)方案,下面結(jié)合【具體實施方式】對本 發(fā)明作進一步的詳細(xì)說明。
[0049] 如圖1所示為本發(fā)明的一種基于移動終端定位搜尋的物品租借方法,包括如下步 驟:
[0050] 移動終端設(shè)備通過無線通信模塊和GPS定位模塊獲取當(dāng)前位置信息;
[0051 ]將所述當(dāng)前位置信息發(fā)送到服務(wù)器端設(shè)備;
[0052] 服務(wù)器端設(shè)備根據(jù)接收到的所述位置信息確定所述移動終端在電子地圖中的位 置;
[0053] 獲取移動終端當(dāng)前位置的一定范圍內(nèi)的興趣點位置供用戶選擇;
[0054]根據(jù)用戶選擇的興趣點和當(dāng)前位置進行路徑規(guī)劃和導(dǎo)航;
[0055] 用戶到達興趣點之后,完成物品的租借或歸還。
[0056] 如圖2所示為本發(fā)明的一種基于移動終端定位搜尋的物品租借系統(tǒng),包括移動終 端設(shè)備和服務(wù)器端設(shè)備,其中:
[0057] 移動終端設(shè)備包括:
[0058]無線通信模塊:用于移動終端設(shè)備與基站之間進行無線通信;
[0059]界面顯示模塊:用于顯示移動終端的位置信息、推送興趣點信息、導(dǎo)航路徑信息、 及各種應(yīng)用界面;
[0060]定位信息收發(fā)模塊:通過無線通信模塊向移動通信基站發(fā)送請求,獲取終端所在 移動小區(qū)的Cell-ID,并將所述Cell-ID傳輸給服務(wù)器端設(shè)備;從服務(wù)器端設(shè)備接收與移動 終端參考位置相關(guān)的GPS輔助信息;
[0061 ] GPS定位模塊:根據(jù)GPS輔助信息確定連接的定位衛(wèi)星,接收GPS原始信號后解調(diào)該 信號,計算移動終端設(shè)備到定位衛(wèi)星的GPS偽距信息,根據(jù)GPS偽距信息和參考站數(shù)據(jù)進行 定位計算,得到移動終端的經(jīng)煒度位置信息,并將所述經(jīng)煒度位置信息發(fā)送到服務(wù)器端以 進行地圖定位;
[0062] 無線定位模塊:用于根據(jù)基站信息來對移動終端進行定位,具體方式如下;
,其中,(Xi,Yi)為基站i的經(jīng)煒度坐 標(biāo),(Xj,Yj)為基站j的經(jīng)煒度坐標(biāo),(X,Y)為移動終端的經(jīng)煒度坐標(biāo),Tij為測出的移動終端 發(fā)射的信號到達基站i和基站j的時間差,C為無線電波的傳播速度;
[0063] 判斷模塊:判斷移動終端是否能夠接收到GPS信號,如果能夠接收到GPS信號則采 用GPS定位模塊來對移動終端進行定位,如果無法接收到GPS信號則采用無線定位模塊根據(jù) 基站信息來對移動終端進行定位;
[0064]路徑跟蹤及導(dǎo)航模塊:從服務(wù)器端設(shè)備接收地圖信息及導(dǎo)航路徑信息,通過界面 顯示模塊顯示在移動終端上,為用戶進行導(dǎo)航;根據(jù)用戶位置的變化實時從服務(wù)器接收更 新的地圖信息及導(dǎo)航路徑信息;
[0065]租借管理模塊:用于對物品的租借過程進行管理,具體包括賬戶管理模塊,用于對 注冊用戶的個人信息、賬戶余額信息進行管理;充值模塊,用于對用戶的賬戶進行電子充 值;繳費模塊,用于對用戶的繳費信息進行管理,滿足預(yù)定條件時自動進行扣款操作;歸還 提醒模塊,對物品租借時間超過預(yù)定閾值的用戶發(fā)送提示信息;消息推送模塊,用于使出租 方推送與租借相關(guān)的優(yōu)惠信息;
[0066]服務(wù)器端設(shè)備包括:
[0067]輔助定位模塊:根據(jù)接收到的移動終端設(shè)備所在移動小區(qū)的Cel I-ID,查詢并獲取 預(yù)先存儲的該移動小區(qū)所在的地理位置,作為移動終端設(shè)備的參考位置;并將該參考位置 相關(guān)的GPS輔助信息發(fā)送給移動終端設(shè)備,所述GPS輔助信息包括GPS星歷和方位俯仰角; [0068] GIS引擎模塊:包括移動終端操作和查詢地理空間數(shù)據(jù)的接口,用于提供包括地圖 平移、縮放、坐標(biāo)轉(zhuǎn)換、訪問數(shù)據(jù)層中各個地理數(shù)據(jù)文件的多種功能;
[0069] 地圖定位模塊:根據(jù)計算得到的經(jīng)煒度位置信息,確定所述移動終端在電子地圖 中的位置點;具體定位方法如下:根據(jù)移動終端的經(jīng)煒度位置信息找到電子地圖中該位置 點附近的若干條路段,將移動終端的位置點向這些路段上依次進行投影,得到多個投影距 離,其中投影距離最小的路段作為候選路段;再根據(jù)GPS的實時定位跟蹤移動終端的移動軌 跡曲線,將該移動軌跡與電子地圖中候選路段的連線進行匹配,如果誤差小于預(yù)定閾值,則 移動終端位于電子地圖的該路段上;
[0070] 地圖管理模塊:管理地圖數(shù)據(jù),所述地圖數(shù)據(jù)包括已布置租借網(wǎng)點所在的場館室 內(nèi)地圖路徑數(shù)據(jù);
[0071] 網(wǎng)點推送模塊:興趣點推送,顯示一定范圍內(nèi)的興趣點信息,供用戶選擇;根據(jù)用 戶的選擇進行導(dǎo)航;具體過程如下:
[0072] A1、獲取移動終端設(shè)備所在六:點的經(jīng)煒度坐標(biāo),并通過GIS引擎模塊獲取A1點周邊 目標(biāo)興趣點C k的信息,其中k=l、2、……、n;
[0073] A2、經(jīng)過一段時間t后,再次獲取移動終端設(shè)備所在知點的經(jīng)煒度坐標(biāo);
[0074] A3、計算A1點和A2點之間以及各目標(biāo)興趣點(^與六:點和A2點之間的距離,計算公式 為:
[0076]其中,Lab為參與計算的兩點之間的距離,Latl、Lat2為參與計算的兩點的煒度值,a = Latl_Lat2為兩點韓度之差,b = Lungl_Lung2為兩點經(jīng)度之差;
[0077] A4、判斷目標(biāo)興趣點Ck是否為移動終端設(shè)備移動前向路徑上的點,若是,則保留該 點,若否,則排除該點,具體為:
[0078]
計算ZCkA2A1的值,其中 A1A21為線段A1A2的長度、|A2Ck|為線段A2Ck的長度、|AiCk|為線段AiCk的長度;判斷ZCkA2Ai是 否大于90°,若是,則該目標(biāo)興趣點Ck為移動終端設(shè)備移動前向路徑上的點,保留該點;若 否,則該目標(biāo)興趣點C k不是移動終端設(shè)備移動前向路徑上的點,去掉該點;更新周邊目標(biāo)興 趣點Ck的信息;
[0079] A5、用戶選擇前向路徑上的興趣點,將用戶選擇目標(biāo)興趣點發(fā)送給路徑規(guī)劃模塊 進行路徑計算;
[0080] 路徑規(guī)劃模塊:根據(jù)用戶選擇的目標(biāo)興趣點(終點D)和移動終端設(shè)備當(dāng)前所在的 位置(起點S)進行路徑規(guī)劃,具體包括如下步驟:
[0081] Bl、首先加載道路地圖網(wǎng)絡(luò)數(shù)據(jù),得到地圖數(shù)據(jù)中所有節(jié)點的序列號;
[0082] B2、獲取地圖網(wǎng)絡(luò)數(shù)據(jù)的最大鄰接節(jié)點數(shù)值maxnum;
[0083] B3、構(gòu)造并初始化鄰接節(jié)點矩陣J,其中每一行的節(jié)點序列號可以任意放置,參照 矩陣J的元素來構(gòu)造判斷矩陣Dj;完成矩陣J和Dj的構(gòu)造后,按照下述步驟規(guī)劃目標(biāo)興趣點D 和移動終端設(shè)備所在位置S之間的路徑:
[0084] 步驟1,用向量Flag(i)來作為初始標(biāo)記,F(xiàn)lag(i) =-1 且(i = l,2, · · ·,maxnum);
[0085] 步驟2,以移動終端設(shè)備當(dāng)前所在位置S為基礎(chǔ)初始化判斷矩陣Dj第S行的元素值, 其中Flag(i) = 0,并且以mindist = 0來標(biāo)記為最短路徑;
[0086] 步驟3,以用戶選擇的目標(biāo)興趣點D為判斷依據(jù),判斷是否已經(jīng)標(biāo)注Dj的第d行,如 果沒有標(biāo)注則繼續(xù)進行下去,否則跳轉(zhuǎn)到步驟5;
[0087]步驟4,在判斷矩陣Dj中那些已經(jīng)被標(biāo)記過的行中,把每一元素的最小值求出并用 Lmin表示,如果Lmin = %則說明不存在最短距離,則退出計算,否則就是存在最短距離 mindist = Lmin,把最小值所在的di行和dj列記錄下來并在矩陣J中取出(di,dj)的元素值, 并用變量W記錄,如果第W行沒有被標(biāo)記則去標(biāo)記判斷矩陣D j對應(yīng)的W行,同時把Cl1賦值給 Flag(W),同時在矩陣J中去查找對應(yīng)W行的值為Cl1的元素,并用心和心記錄下該元素所在的 行和列,把判斷矩陣D j中剛剛被標(biāo)記的行中的每一個元素值都給加上mindist并把Dj中對應(yīng) 的(Cl1,山)與( ri,r」)設(shè)置為~,接著跳轉(zhuǎn)到步驟3;
[0088] 步驟5,知道移動終端設(shè)備當(dāng)前位置起點S和目標(biāo)興趣點終點D,從終點D開始沿著 被標(biāo)記的Flag的分量向前查詢,得到的mindist即為最短路徑。
[0089] 本領(lǐng)域?qū)I(yè)人員應(yīng)該還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各