亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種室內(nèi)跨樓層路徑導(dǎo)航的方法與流程

文檔序號(hào):12444568閱讀:2322來(lái)源:國(guó)知局
一種室內(nèi)跨樓層路徑導(dǎo)航的方法與流程

本發(fā)明涉及一種路徑導(dǎo)航方法,尤其涉及一種室內(nèi)跨樓層路徑導(dǎo)航的方法。



背景技術(shù):

對(duì)于室內(nèi)地圖的路徑規(guī)劃,基本都是在一張地圖上進(jìn)行最短路徑計(jì)算,其基本原理就是通過(guò)調(diào)用復(fù)雜的路徑拓?fù)鋽?shù)據(jù)庫(kù),在同一張地圖的平面出發(fā)點(diǎn)和目標(biāo)點(diǎn)之間通過(guò)路徑尋優(yōu)方法搜索出總代價(jià)最低的路徑。

隨著室內(nèi)地圖服務(wù)系統(tǒng)的出現(xiàn),開(kāi)始出現(xiàn)對(duì)多樓層地圖之間進(jìn)行路徑導(dǎo)航的需求。室內(nèi)地圖通常是具有多個(gè)樓層地圖,并在不同的樓層地圖之間存在連接關(guān)系,這需要在不同樓層地圖的出發(fā)點(diǎn)和目標(biāo)點(diǎn)之間進(jìn)行跨地圖的路徑計(jì)算,而傳統(tǒng)地圖的路徑規(guī)劃已無(wú)法適應(yīng)這種室內(nèi)地圖服務(wù)系統(tǒng)。

現(xiàn)有技術(shù)中室內(nèi)路徑的搜索算法有Dijkstra、A*等,所需時(shí)間較慢,這對(duì)于需要頻繁查詢(xún)路徑的場(chǎng)合,將造成較大的延時(shí),大大影響使用的效果,因此市場(chǎng)亟需一種可支持室內(nèi)跨樓層地圖路徑導(dǎo)航的方法來(lái)滿足用戶(hù)使用需求,達(dá)到較好的用戶(hù)體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

為了解決現(xiàn)有技術(shù)中存在的問(wèn)題及不足,本發(fā)明提供了一種室內(nèi)跨樓層路徑導(dǎo)航的方法,利用改進(jìn)的Floyd-Warshall算法將端點(diǎn)集合和路線集合轉(zhuǎn)換為關(guān)系矩陣,同樓層1ms、跨樓層5ms左右,速度具有較大優(yōu)勢(shì)。

一種室內(nèi)跨樓層路徑導(dǎo)航的方法,步驟包括:

1)根據(jù)樓層地圖數(shù)據(jù),將每層的端點(diǎn)建立一個(gè)端點(diǎn)集合,以端點(diǎn)繪制出所有路徑,路徑以線段形式保存下來(lái),建立每層的線段集合;

將每層樓的跨樓層建筑作為端點(diǎn)放進(jìn)端點(diǎn)集合中,跨樓層建筑包括電梯、樓梯、扶梯;

2)接收到出發(fā)點(diǎn)、目標(biāo)點(diǎn)路徑導(dǎo)航需求后,將樓層的所有線段將其轉(zhuǎn)換成圖算法的鄰接矩陣,根據(jù)時(shí)間復(fù)雜度遞歸計(jì)算出同樓層的最短路徑;

在圖算法過(guò)程中由于需要求完整路徑,所以存儲(chǔ)的不止是路徑長(zhǎng)度,還有前驅(qū)端點(diǎn)在端點(diǎn)集合中的下標(biāo);

3)將不同樓層的端點(diǎn)進(jìn)行矩陣連接,將多樓層的貫通配置信息抽象出來(lái),然后將同一個(gè)垂直方向上的相關(guān)聯(lián)的點(diǎn)合并到一個(gè)集合中,將跨樓層數(shù)據(jù)輸入后,初始化時(shí)按照類(lèi)型賦予不同的權(quán)重,同樓層間點(diǎn)的距離可以通過(guò)查詢(xún)對(duì)應(yīng)樓層的鄰接矩陣獲得,最后根據(jù)這些初始數(shù)據(jù)使用圖算法求出跨樓層的鄰接矩陣。

所述步驟2)中如果出發(fā)點(diǎn)和目標(biāo)點(diǎn)不在線段上,則將出發(fā)點(diǎn)和目標(biāo)點(diǎn)投影到線段上,再進(jìn)行計(jì)算。

所述步驟2)中的時(shí)間復(fù)雜度按O(1)計(jì)算。

在收到出發(fā)點(diǎn)和目標(biāo)點(diǎn)路徑導(dǎo)航需求后,需要先判斷出發(fā)點(diǎn)和目標(biāo)點(diǎn)是否在同一層,如果在同一層,則采用時(shí)間復(fù)雜度O(1)進(jìn)行路徑的計(jì)算;如果出發(fā)點(diǎn)和目標(biāo)點(diǎn)在不同樓層,則將不同樓層的端點(diǎn)進(jìn)行貫通連接,計(jì)算每層的時(shí)間復(fù)雜度,得出每層的路徑規(guī)劃,再將每層路徑進(jìn)行合并,完成總的時(shí)間復(fù)雜度的計(jì)算,完成整個(gè)路徑的規(guī)劃。

本發(fā)明采用改進(jìn)的Floyd-Warshall算法將端點(diǎn)集合和路線集合轉(zhuǎn)換為關(guān)系矩陣,使用n^2的空間來(lái)?yè)Q取時(shí)間效率,n為端點(diǎn)個(gè)數(shù),一個(gè)樓層一般不超過(guò)100,在需要頻繁查詢(xún)路徑距離的時(shí)候具有巨大優(yōu)勢(shì);利用本方法查詢(xún)周?chē)罱墓步ㄖ驅(qū)χ車(chē)赇伨嚯x進(jìn)行排序,而且查詢(xún)的是精確的路線距離而非簡(jiǎn)單的歐式距離,比起一般的室內(nèi)路徑搜索算法快50ms左右,采用本發(fā)明消耗時(shí)間在同樓層1ms、跨樓層5ms左右,速度具有較大優(yōu)勢(shì),將各樓層分別求矩陣是為了減少空間浪費(fèi),而且各樓層可以通過(guò)樓層間矩陣連接到一起,跨樓層路徑查詢(xún)速度也較為理想。

附圖說(shuō)明

下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明進(jìn)一步進(jìn)行描述

圖1為本發(fā)明的流程圖;

圖2為本發(fā)明同一樓層最短路徑一實(shí)施例示意圖。

具體實(shí)施方式

如圖1所示,實(shí)施例1:本發(fā)明一種室內(nèi)跨樓層路徑導(dǎo)航的方法的跨層路徑導(dǎo)航步驟包括:

1)根據(jù)樓層地圖數(shù)據(jù),將每層的端點(diǎn)建立一個(gè)端點(diǎn)集合,以端點(diǎn)繪制出所有路徑,路徑以線段形式保存下來(lái),建立每層的線段集合;

將每層樓的跨樓層建筑作為端點(diǎn)放進(jìn)端點(diǎn)集合中,跨樓層建筑包括電梯、樓梯、扶梯;

2)接收到出發(fā)點(diǎn)、目標(biāo)點(diǎn)路徑導(dǎo)航需求后,將樓層的所有線段將其轉(zhuǎn)換成圖算法的鄰接矩陣,根據(jù)時(shí)間復(fù)雜度遞歸計(jì)算出同樓層的最短路徑;

在圖算法過(guò)程中由于需要求完整路徑,所以存儲(chǔ)的不止是路徑長(zhǎng)度,還有前驅(qū)端點(diǎn)在端點(diǎn)集合中的下標(biāo);

3)將不同樓層的端點(diǎn)進(jìn)行矩陣連接,將多樓層的貫通配置信息抽象出來(lái),然后將同一個(gè)垂直方向上的相關(guān)聯(lián)的點(diǎn)合并到一個(gè)集合中,將跨樓層數(shù)據(jù)輸入后,初始化時(shí)按照類(lèi)型賦予不同的權(quán)重,同樓層間點(diǎn)的距離可以通過(guò)查詢(xún)對(duì)應(yīng)樓層的鄰接矩陣獲得,最后根據(jù)這些初始數(shù)據(jù)使用圖算法求出跨樓層的鄰接矩陣。

所述步驟2)中如果出發(fā)點(diǎn)和目標(biāo)點(diǎn)不在線段上,則將出發(fā)點(diǎn)和目標(biāo)點(diǎn)投影到線段上,再進(jìn)行計(jì)算。

所述步驟2)中的時(shí)間復(fù)雜度按O(1)計(jì)算。

在收到出發(fā)點(diǎn)和目標(biāo)點(diǎn)路徑導(dǎo)航需求后,需要先判斷出發(fā)點(diǎn)和目標(biāo)點(diǎn)是否在同一層,如果在同一層,則采用時(shí)間復(fù)雜度O(1)進(jìn)行路徑的計(jì)算;如果出發(fā)點(diǎn)和目標(biāo)點(diǎn)在不同樓層,則將不同樓層的端點(diǎn)進(jìn)行矩陣連接,計(jì)算每層的時(shí)間復(fù)雜度,得出每層的路徑規(guī)劃,再將每層路徑進(jìn)行合并,完成總的時(shí)間復(fù)雜度的計(jì)算,完成整個(gè)路徑的規(guī)劃。

如圖2所示,對(duì)于同樓層的路徑導(dǎo)航,采用以下實(shí)施例進(jìn)行說(shuō)明,對(duì)于同一樓層的兩個(gè)端點(diǎn)s和e進(jìn)行路徑導(dǎo)航,具體流程分解如下:對(duì)于普遍性的起點(diǎn)s到終點(diǎn)e的最短路徑查詢(xún),首先求出s/e離最短路線的投影s’/e’,然后得出s’/e’所在路線的兩個(gè)端點(diǎn)a、b(c、d),然后比較以下4段路線得出最短距離:s’a+ac+ce’、s’a+ad+de’、s’b+bc+ce’、s’b+bd+de’。

其中求距離時(shí)s’a、s’b、ce’、de’直接使用歐式距離時(shí)間復(fù)雜度O(1),ac、ad、bc、bd直接查詢(xún)矩陣數(shù)組即可時(shí)間復(fù)雜度也是O(1),總共只有4種組合總時(shí)間復(fù)雜度O(1),詳細(xì)路徑可以根據(jù)最短距離的路線利用矩陣遞歸求出中間路徑,前后再分別加上ss’、s'a/s'b和ce'/de’、e'e。

本發(fā)明采用改進(jìn)的Floyd-Warshall算法將端點(diǎn)集合和路線集合轉(zhuǎn)換為關(guān)系矩陣,使用n^2的空間來(lái)?yè)Q取時(shí)間效率,n為端點(diǎn)個(gè)數(shù),一個(gè)樓層一般不超過(guò)100,在需要頻繁查詢(xún)路徑距離的時(shí)候具有巨大優(yōu)勢(shì);利用本方法查詢(xún)周?chē)罱墓步ㄖ驅(qū)χ車(chē)赇伨嚯x進(jìn)行排序,而且查詢(xún)的是精確的路線距離而非簡(jiǎn)單的歐式距離,比起一般的室內(nèi)路徑搜索算法快50ms左右,采用本發(fā)明消耗時(shí)間在同樓層1ms、跨樓層5ms左右,速度具有較大優(yōu)勢(shì),將各樓層分別求矩陣是為了減少空間浪費(fèi),而且各樓層可以通過(guò)樓層間矩陣連接到一起,跨樓層路徑查詢(xún)速度也較為理想。

以上實(shí)施例僅用以說(shuō)明本發(fā)明而并非限制本發(fā)明的技術(shù)方案,任何對(duì)本發(fā)明的等同修改或替換均涵蓋在本發(fā)明的權(quán)利要求之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1