亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        室內(nèi)離散格網(wǎng)空間Dijkstra最短路徑算法優(yōu)化

        2018-12-03 03:11:46張愛國(guó)鄔群勇欒海軍陳潤(rùn)靜
        關(guān)鍵詞:格網(wǎng)起點(diǎn)網(wǎng)格

        張愛國(guó),鄔群勇,鄧 健,欒海軍,陳潤(rùn)靜

        (1.廈門理工學(xué)院計(jì)算機(jī)與信息工程學(xué)院,福建 廈門 361024;2.福州大學(xué)福建省空間信息工程研究中心,福建 福州 350003)

        近年來,城市中涌現(xiàn)了越來越多的城市綜合體,其活動(dòng)空間大都為室內(nèi)環(huán)境,比如萬達(dá)廣場(chǎng)、火車站地下商場(chǎng)等。這些巨大的商業(yè)綜合體給人們帶來購物樂趣和生活方便的同時(shí),也為顧客尋找商家、查找車位和尋找走失的家人朋友帶來了困難。同時(shí),在此種情境下,當(dāng)有災(zāi)難發(fā)生時(shí),大多數(shù)顧客往往難于快速找到安全出口,從而錯(cuò)過逃離的最佳時(shí)間段。綜合體在為顧客提供享受生活樂趣平臺(tái)的同時(shí),也需要保障顧客的安全,因此,有必要提供一個(gè)容易獲取的特定點(diǎn)之間的最短路徑指引。綜合起來看,手機(jī)APP是一個(gè)很好的途徑。目前,各類智能傳感器已逐漸成為了手機(jī)的標(biāo)配,比如Wi-Fi、加速度器和GNSS芯片等,這些都為手機(jī)實(shí)現(xiàn)室內(nèi)定位與導(dǎo)航提供了基礎(chǔ)[1-5]。

        由于室內(nèi)環(huán)境復(fù)雜,其路徑規(guī)劃問題也逐漸引起了許多國(guó)內(nèi)外學(xué)者的重視,包括Dijkstra最短路徑算法、蟻群算法、深度優(yōu)先算法和人工蜂群算法等[6-11]。其中最常見的處理方式為:將室內(nèi)建筑結(jié)構(gòu)繪制成平面圖,建立地圖數(shù)據(jù)的空間拓?fù)潢P(guān)系,然后,直接采用Dijkstra算法,計(jì)算一條最短路徑,并展示該導(dǎo)航地圖。由于未對(duì)Dijkstra算法做優(yōu)化改進(jìn),當(dāng)建筑物較為復(fù)雜時(shí),其處理的網(wǎng)絡(luò)節(jié)點(diǎn)、連接邊等的數(shù)據(jù)量十分巨大。在計(jì)算最短路徑時(shí),也耗費(fèi)內(nèi)存,降低了效率。針對(duì)這些問題,有學(xué)者嘗試在網(wǎng)絡(luò)節(jié)點(diǎn)屬性、幾何數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等方面做調(diào)整,取得了一定的優(yōu)化效果,但在數(shù)據(jù)存儲(chǔ)、計(jì)算復(fù)雜度等方面還有提高的空間[12-13]。

        室內(nèi)最短路徑導(dǎo)航設(shè)計(jì)的通常是在室內(nèi)地圖環(huán)境下,使用者依據(jù)室內(nèi)實(shí)時(shí)定位成果到達(dá)目標(biāo)地理位置的最短路徑,為此,實(shí)時(shí)定位數(shù)據(jù)的獲取與地理位置的地圖展示是前提。近年來,隨著Wi-Fi網(wǎng)絡(luò)的廣泛使用,也促使了Wi-Fi室內(nèi)定位的快速發(fā)展,其中基于離散格網(wǎng)的Wi-Fi RSSI(received signal strength indicator,接收信號(hào)強(qiáng)度指示)定位技術(shù)得到較多的重視[14-19]。以離散格網(wǎng)展示地圖和顯示路徑導(dǎo)航的方式,可實(shí)現(xiàn)該地圖導(dǎo)航成果與基于離散網(wǎng)絡(luò)的Wi-Fi RSSI定位的無縫連接。為此,本文針對(duì)室內(nèi)場(chǎng)所的路徑尋址,在室內(nèi)離散格網(wǎng)空間環(huán)境下對(duì)Dijkstra 算法進(jìn)行分析與改進(jìn),提出一種優(yōu)化的Dijkstra最短路徑算法。

        1 Dijkstra最短路徑算法的優(yōu)化

        Dijkstra算法是典型的圖最短路徑算法,用于計(jì)算圖中一個(gè)節(jié)點(diǎn)到其他所有節(jié)點(diǎn)的最短路徑[15]。目前經(jīng)過眾多計(jì)算機(jī)專家對(duì)17種比較具有代表性的最短路徑算法進(jìn)行測(cè)試評(píng)估,Dijkstra算法被認(rèn)為是解決非負(fù)權(quán)值圖中兩點(diǎn)間最短路徑路徑搜索最合適的的算法之一。然而,在離散格網(wǎng)空間條件下,直接使用Dijkstra算法,將要存儲(chǔ)每個(gè)網(wǎng)格的位置數(shù)據(jù),則產(chǎn)生較大的數(shù)據(jù)冗余。為此,本文分析并優(yōu)化設(shè)計(jì)了離散格網(wǎng)環(huán)境下Dijkstra最短路徑算法。優(yōu)化過程主要包括將次區(qū)域間與區(qū)域內(nèi)最短路徑分開處理,在起終點(diǎn)次區(qū)域內(nèi)尋找其與最短路徑的交點(diǎn),并用之代替次區(qū)域內(nèi)的網(wǎng)絡(luò)節(jié)點(diǎn)。

        1.1 次區(qū)域內(nèi)網(wǎng)絡(luò)節(jié)點(diǎn)到起終點(diǎn)最短路徑的確定

        次區(qū)域中有唯一的網(wǎng)絡(luò)節(jié)點(diǎn),起終點(diǎn)分別所在的次區(qū)域之間的最短路徑計(jì)算即轉(zhuǎn)化為兩個(gè)次區(qū)域網(wǎng)絡(luò)節(jié)點(diǎn)之間的最短路徑運(yùn)算。所有的網(wǎng)絡(luò)節(jié)點(diǎn)都存儲(chǔ)在空間數(shù)據(jù)庫中,為此,可以直接運(yùn)用Dijkstra算法得到他們之間的最短路徑及路徑長(zhǎng)度。

        面向區(qū)域的最短路徑首尾兩條邊分別會(huì)與包含起終點(diǎn)的次區(qū)域相交,假設(shè)交點(diǎn)分別為PZS、PZT,則包含起點(diǎn)或終點(diǎn)次區(qū)域的最短路徑如圖1所示。依據(jù)次區(qū)域的創(chuàng)建法則,區(qū)域內(nèi)任意兩點(diǎn)存在直連或1次轉(zhuǎn)折后的連接,為此,在以區(qū)域網(wǎng)絡(luò)節(jié)點(diǎn)Z0101、起點(diǎn)S和PZS構(gòu)成的三角形中,三角邊起點(diǎn)S-PZS的邊長(zhǎng)總會(huì)小于另外兩條邊長(zhǎng)之和,所以,起點(diǎn)區(qū)域內(nèi)的最短路徑為起點(diǎn)S-PZS的邊。因此,該最短路徑邊的計(jì)算為直接對(duì)應(yīng)行列相減,并取絕對(duì)值后相加。假設(shè)次區(qū)域與面向區(qū)域的最短路徑的交點(diǎn)坐標(biāo)為PZS(XPZS,YPZS),起點(diǎn)坐標(biāo)為S(XS,YS),則最短路徑長(zhǎng)度用公式表示為:D=|XPZS-XS|+|YPZS-YS|,最短路徑為: (XS,YS) → (XPZS,YS) → (XPZS,YPZS)。該處理過程也適合終點(diǎn)T對(duì)應(yīng)的區(qū)域最短路徑情況。

        圖1 包含起點(diǎn)或終點(diǎn)次區(qū)域的最短路徑

        綜合以上3部分的最短路徑,從起點(diǎn)S至終點(diǎn)T的最短路徑可以歸結(jié)為首尾次區(qū)域內(nèi)起終點(diǎn)到其相應(yīng)交點(diǎn)的路徑的兩部分,再加上兩個(gè)交點(diǎn)之間的最短路徑,用上圖圖形表示為:起點(diǎn)S→PZS→PSVS→PSVT→PZT→終點(diǎn)T,有了最短路徑,則可以根據(jù)網(wǎng)格數(shù)目得到其最短路徑長(zhǎng)度。

        1.2 優(yōu)化后的Dijkstra算法流程

        在給定起終點(diǎn)的位置,通常為行列編碼后,將首先確定起點(diǎn)、終點(diǎn)所在的次區(qū)域,然后以兩個(gè)次區(qū)域內(nèi)的關(guān)鍵節(jié)點(diǎn)為面向區(qū)域的起、終網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行Dijkstra最短路徑計(jì)算,并得到相應(yīng)的路徑和路徑長(zhǎng)度,接著,在起、終點(diǎn)區(qū)域內(nèi)計(jì)算各自到其次區(qū)域內(nèi)關(guān)鍵節(jié)點(diǎn)的最短路徑,3段路徑的綜合即為最終的最短路徑規(guī)劃結(jié)果,為此,室內(nèi)離散格網(wǎng)空間Dijkstra算法流程如圖2所示。

        圖2 優(yōu)化后的室內(nèi)離散格網(wǎng)空間Dijkstra算法流程圖

        2 實(shí)驗(yàn)結(jié)果與分析

        采用PostgreSQL+PostGIS+pgRouting的空間數(shù)據(jù)庫工具,并用離散格網(wǎng)環(huán)境下的實(shí)驗(yàn)數(shù)據(jù)分別測(cè)試了優(yōu)化的Dijkstra算法、原生的Dijkstra算法以及A*算法在最短路徑規(guī)劃運(yùn)算中的數(shù)據(jù)存儲(chǔ)和運(yùn)算復(fù)雜度等方面的效率。

        2.1 實(shí)驗(yàn)區(qū)室內(nèi)離散格網(wǎng)空間地理編碼

        對(duì)空間地理編碼的方式有矩形行列編碼、坐標(biāo)位置編碼等[20-21],考慮到室內(nèi)區(qū)域特征,采用容易理解的矩形行列編碼。根據(jù)不同用途,室內(nèi)空間通常劃分為不同的次區(qū)域,為此最短路徑導(dǎo)航的室內(nèi)空間建模必須依據(jù)室內(nèi)布局進(jìn)行關(guān)鍵節(jié)點(diǎn)的合理選取,以及節(jié)點(diǎn)控制區(qū)域的劃分,并對(duì)它們有效編碼。整個(gè)室內(nèi)空間由連續(xù)的大小相等的柵格組成,柵格的面積為1 m2,柵格行列編碼的起點(diǎn)為左下角(1,1),行數(shù)由下至上、列數(shù)由左至右依次遞增,柵格布滿整個(gè)導(dǎo)航區(qū)域。同時(shí),該編碼方式,只要給定左下角的地理坐標(biāo)以及地圖比例尺,可以按比例投影得到所有網(wǎng)格點(diǎn)的地理坐標(biāo),從而與室外的地圖建立無縫連接。

        2.1.1 路徑網(wǎng)絡(luò)節(jié)點(diǎn)選取及編碼

        探討室內(nèi)離散格網(wǎng)空間任意兩個(gè)網(wǎng)格點(diǎn)之間的最短路徑規(guī)劃,屬于室內(nèi)精密導(dǎo)航。路徑規(guī)劃中,網(wǎng)絡(luò)節(jié)點(diǎn)的選取直接影響算法運(yùn)行的效率和路徑的精度。為此,網(wǎng)絡(luò)節(jié)點(diǎn)的選取既要權(quán)衡布置的密度,也要盡量均勻分布。在保證密度小,提高計(jì)算效率的情況下,確保所有的網(wǎng)格點(diǎn)之間能夠通過網(wǎng)絡(luò)節(jié)點(diǎn)的串聯(lián)建立起通行路線。室內(nèi)格網(wǎng)空間往往結(jié)構(gòu)復(fù)雜,存在墻體、門、走廊和各類障礙物等。為此,網(wǎng)絡(luò)節(jié)點(diǎn)的選取也必須從室內(nèi)結(jié)構(gòu)出發(fā),對(duì)于類似辦公室的小空間的門位置處必須設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn),走廊的交叉或分支處必須設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn),具有障礙物的拐角處必須設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn)。比如某室內(nèi)格網(wǎng)空間包括隔間、走廊和障礙物的。藍(lán)顏色的網(wǎng)格點(diǎn)均為選取的網(wǎng)絡(luò)節(jié)點(diǎn),藍(lán)色方塊包括所有的門位置的A、B、C、D、F、G、K、L、M、N、Q、R,走廊的Z0901、Z1401、Z4001,以及各墻體分開的次區(qū)域的Z0101、Z0201、Z0301、…、Z4001。所有的這些網(wǎng)絡(luò)節(jié)點(diǎn),依據(jù)是否影響次區(qū)域的劃分,又可歸為兩類。其中以字母Z開頭的網(wǎng)絡(luò)節(jié)點(diǎn)決定后續(xù)的次區(qū)域劃分,并且Z字母后面的數(shù)字表示了次區(qū)域的編號(hào)和次區(qū)域中網(wǎng)絡(luò)節(jié)點(diǎn)的編號(hào)。其余字母開頭的網(wǎng)絡(luò)節(jié)點(diǎn)則不影響次區(qū)域的劃分,但占用區(qū)域內(nèi)的一個(gè)網(wǎng)格。網(wǎng)絡(luò)節(jié)點(diǎn)的地理編碼采用行列號(hào)表示,所有的網(wǎng)絡(luò)節(jié)點(diǎn)都可以通過行列號(hào)在室內(nèi)圖中唯一確定。依據(jù)該規(guī)定其路徑網(wǎng)絡(luò)節(jié)點(diǎn)的選取如圖3所示。

        圖3 節(jié)點(diǎn)選擇圖

        2.1.2 室內(nèi)離散格網(wǎng)空間劃分及編碼

        有了任意位置的地理編碼,就可以方便地進(jìn)行室內(nèi)區(qū)域的空間劃分,這也是本室內(nèi)最短路徑算法設(shè)計(jì)的重要基礎(chǔ)之一。

        室內(nèi)格網(wǎng)空間在功能分割后的次區(qū)域之間往往通過門、走廊等進(jìn)行連接,為此,在空間劃分時(shí),必須考慮墻體和各類障礙物對(duì)通行阻隔的影響。更重要的是,每個(gè)區(qū)域需顧及關(guān)鍵節(jié)點(diǎn)的位置,使得控制區(qū)域內(nèi)的任意一點(diǎn)都能通過行或列的1~2次的直連到控制區(qū)域內(nèi)的唯一關(guān)鍵節(jié)點(diǎn),如圖4所示。

        圖4 次區(qū)域劃分規(guī)則

        圖4中,綠顏色虛線將該部分格網(wǎng)空間分成了Z01、Z02、Z03、Z04的4個(gè)矩形次區(qū)域,任意選取的S1、T1網(wǎng)格點(diǎn)均能通過直線或僅有一次彎曲的折線直連到相應(yīng)次區(qū)域的唯一網(wǎng)絡(luò)節(jié)點(diǎn)Z0301、Z0201。次區(qū)域中允許包含一定的障礙物,但該障礙物必須貼近次區(qū)域的邊界,正如圖4中的墻壁處和中間均有電腦桌,為此,劃分了4個(gè)次區(qū)域。

        為了不遺漏任意的網(wǎng)格點(diǎn),將整個(gè)室內(nèi)格網(wǎng)空間劃分成包括矩形、線形等的次區(qū)域,次區(qū)域之間不允許重疊。同時(shí),任何的次區(qū)域內(nèi)都不能有具有完全阻斷通行的墻體,如圖1所示。圖1中的綠色虛線把整個(gè)導(dǎo)航格網(wǎng)空間劃分成了多個(gè)次區(qū)域,次區(qū)域圖形大多數(shù)為矩形,也有線形和集合圖形,比如Z14為兩個(gè)矩形構(gòu)成的復(fù)合幾何圖形、Z15為線形。次區(qū)域幾何圖形的編碼遵循開放地理空間聯(lián)盟(OGC)的簡(jiǎn)單要素規(guī)范,并用WKT(well known text)格式進(jìn)行表示。WKT是一種文本標(biāo)記語言,用于表示矢量幾何對(duì)象、空間參照系統(tǒng)及空間參照系統(tǒng)之間的轉(zhuǎn)換。它的二進(jìn)制表示方式WKB(Well Known Binary)則用于在數(shù)據(jù)庫中存儲(chǔ)相同的信息。WKT格式由OGC制定。

        2.2 路徑節(jié)點(diǎn)數(shù)據(jù)組織與存儲(chǔ)

        室內(nèi)離散格網(wǎng)空間最短路徑導(dǎo)航涉及到網(wǎng)絡(luò)節(jié)點(diǎn)、次區(qū)域等空間數(shù)據(jù)的運(yùn)用,為此,數(shù)據(jù)的組織與存儲(chǔ)直接影響到路徑規(guī)劃的效率與效果。需要組織存儲(chǔ)的數(shù)據(jù)類型包括:區(qū)域空間幾何數(shù)據(jù)、網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)、直連節(jié)點(diǎn)邊數(shù)據(jù)等。

        2.2.1 數(shù)據(jù)的組織與存儲(chǔ)框架

        室內(nèi)最短路徑空間數(shù)據(jù)庫是路徑計(jì)算的基礎(chǔ),根據(jù)組織存儲(chǔ)的數(shù)據(jù)類型特點(diǎn),面向?qū)ο蟮目臻g數(shù)據(jù)庫是最佳的數(shù)據(jù)組織存儲(chǔ)方式。在設(shè)計(jì)路徑節(jié)點(diǎn)的空間數(shù)據(jù)模型時(shí),需結(jié)合Dijkstra和A*最短路徑算法原理,為此,室內(nèi)格網(wǎng)空間路徑節(jié)點(diǎn)數(shù)據(jù)表結(jié)構(gòu)按照數(shù)據(jù)用途,存儲(chǔ)為3類數(shù)據(jù):次區(qū)域數(shù)據(jù)、網(wǎng)絡(luò)節(jié)點(diǎn)信息數(shù)據(jù)和直連邊信息數(shù)據(jù),其具體包括的屬性結(jié)構(gòu)和類型結(jié)構(gòu)如表1所示。

        表1 數(shù)據(jù)表字段設(shè)計(jì)

        表1中,WKT格式中包括了幾何對(duì)象的坐標(biāo)數(shù)據(jù),并遵循OGC的簡(jiǎn)單幾何要素規(guī)范。x、y坐標(biāo)分別用網(wǎng)格點(diǎn)的行號(hào)、列號(hào)表示。cost直連邊邊長(zhǎng)的量取為起點(diǎn)至終點(diǎn)需經(jīng)過的網(wǎng)格數(shù)量,也可理解為距離或權(quán)重,如圖2所示,起點(diǎn)S1至終點(diǎn)Z0301的cost值為12,起點(diǎn)T1至終點(diǎn)Z0201的cost值為5。

        2.2.2 路徑節(jié)點(diǎn)數(shù)據(jù)的查詢管理

        為了提高最短路徑規(guī)劃的計(jì)算效率,初始路徑查找為面向起終點(diǎn)對(duì)應(yīng)區(qū)域的最短路徑規(guī)劃,為此,必須先由網(wǎng)格點(diǎn)確定相應(yīng)的次區(qū)域,這就涉及到網(wǎng)絡(luò)節(jié)點(diǎn)與區(qū)域的查詢管理。一般來說,空間數(shù)據(jù)庫管理系統(tǒng)提供了豐富的幾何對(duì)象之間的關(guān)系查詢函數(shù),比如PostGIS數(shù)據(jù)庫管理系統(tǒng)的包含關(guān)系、空間索引創(chuàng)建功能等。為此,可根據(jù)vertexinfo數(shù)據(jù)表的controlzone字段,按照R樹索引建立最短路徑規(guī)劃的索引關(guān)系。從而在每次最短路徑計(jì)算中,先根據(jù)起、終點(diǎn)分別確定其對(duì)應(yīng)的controlzone區(qū)域,然后,圍繞區(qū)域的關(guān)鍵節(jié)點(diǎn)進(jìn)行最短路徑計(jì)算。

        在起終點(diǎn)區(qū)域內(nèi)部的最短路徑數(shù)據(jù)查詢,則只需依據(jù)行列號(hào)對(duì)應(yīng)連接即可。

        2.3 實(shí)驗(yàn)過程及結(jié)果

        實(shí)驗(yàn)區(qū)域?yàn)槟承@建筑的第二層樓,室內(nèi)地圖構(gòu)造如圖3所示。為了表達(dá)該圖形,并能用于后續(xù)實(shí)驗(yàn),構(gòu)建了3種類型的數(shù)據(jù)表數(shù)據(jù):節(jié)點(diǎn)表、連接線表和次區(qū)域表。其中,節(jié)點(diǎn)表和次區(qū)域表均有40條記錄,另外為了分別試驗(yàn)Dijkstra和A*算法,建立了兩個(gè)連接線表,即Dijkstra連接線表的153條記錄和A*連接線表的1 818條記錄。主要的實(shí)驗(yàn)步驟及結(jié)果如下。

        2.3.1 實(shí)驗(yàn)數(shù)據(jù)構(gòu)建

        (1)非空間屬性數(shù)據(jù)存入數(shù)據(jù)庫表:屬性數(shù)據(jù)通過xsl電子表格,轉(zhuǎn)存為csv格式,最后通過PostgreSQL數(shù)據(jù)庫的import方式導(dǎo)入。

        (2)空間數(shù)據(jù)采用PostGIS的空間操作更新函數(shù)存入數(shù)據(jù)庫表。

        SQL語句:UPDATEedgeinfo SET geom = st—makeline(st—point(x1,y1),st—point(x2,y2));

        (3)為了能夠進(jìn)行最短路徑計(jì)算,必須用pgRouting的拓?fù)浜瘮?shù)創(chuàng)建拓?fù)潢P(guān)系。

        SQL語句:SELECT pgr—createTopology(’edgeinfo’,0.001);

        2.3.2 Dijkstra最短路徑優(yōu)化算法實(shí)現(xiàn)

        (1)給定任意起始點(diǎn)(15,5)和終點(diǎn)(5,35),首先判斷它們分別所在的初始區(qū)域、結(jié)束區(qū)域。

        SQL語句:select name from controlzone where st—covers(shape,st—makepoint(15,5));

        結(jié)果:Z37

        SQL語句:select name from controlzone where st—covers(shape,st—makepoint(5,35));

        結(jié)果:Z13

        (2)確定包含起點(diǎn)的次區(qū)域的初始節(jié)點(diǎn)和包含終點(diǎn)的次區(qū)域的結(jié)束節(jié)點(diǎn)

        SQL語句:select id from vertexinfo where controlzone =’Z37’;

        結(jié)果:1204或 (12,04)

        SQL語句:select id from vertexinfo where controlzone =’Z13’;

        結(jié)果:335或(3,35)

        (3)初始節(jié)點(diǎn)與結(jié)束節(jié)點(diǎn)之間最短路徑(輔助路徑)的Dijkstra算法實(shí)現(xiàn)

        SQL語句:SELECT* FROM pgr—dijkstra(’SELECT id,source,target,cost,reversecost FROM edgeinfo’,1204,335,FALSE);

        輔助路徑要素結(jié)果如表2所示。

        表2 輔助路徑要素結(jié)果

        (4)確定起終點(diǎn)區(qū)域與輔助路徑的交點(diǎn)

        起點(diǎn)所在的區(qū)域?yàn)閆37,與起點(diǎn)對(duì)應(yīng)的連接線id為116;終點(diǎn)所在的區(qū)域?yàn)閆13,與終點(diǎn)對(duì)應(yīng)的連接線id為37。同時(shí),多邊形與線相交,結(jié)果會(huì)出現(xiàn)3種情況:(1)POINT,交點(diǎn)為正確結(jié)果;(2) MULTIPOINT,包含兩個(gè)交點(diǎn),除去起終點(diǎn)的另一個(gè)結(jié)果;(3)LINGSTRING,一條線段,線段的開始結(jié)束點(diǎn)中除去起終點(diǎn)的另一個(gè)點(diǎn)。

        SQL語句:select ST—AsText(ST—Intersection(ST—Intersection(e.geom,c.shape),ST—Difference(e.geom,c.shape))) from controlzone as c,edgeinfo as e where c.name=’Z37’ and e.id=116;

        結(jié)果:POINT (15 4)

        SQL語句:select ST—AsText(ST—Intersection(e.geom,ST—Boundary(c.shape) )) from controlzone as c,edgeinfo as ewhere c.name=’Z13’ and e.id=37;

        結(jié)果:MULTIPOINT (1 34,3 35)

        (5)最終得到1 505起點(diǎn)和535終點(diǎn)之間最短路徑結(jié)果,用WKT表示為L(zhǎng)INESTRING (15 5,15 4,19 4,19 8,9 08,9 33,1 33,1 35,5 35)。其結(jié)果如表3和圖5所示。

        表3 起點(diǎn)與終點(diǎn)之間的最短路徑結(jié)果

        2.3.3 A*算法與未優(yōu)化的Dijkstra算法的最短路徑實(shí)現(xiàn)

        (1)未優(yōu)化的Dijkstra算法最短路徑結(jié)果如圖5所示。

        SQL語句:SELECT* FROM pgr—dijkstra (’SELECT id,source,target,cost,reversecost FROM edgeinfoall’,1505,535,FALSE)。

        (2)A*算法的最短路徑結(jié)果如圖5所示。

        圖5 3種算法的最短路徑結(jié)果

        SQL語句:SELECT* FROM pgr—astar (’SELECT id,source,target,cost,reversecost,x1,y1,x2,y2 FROM edgeinfoall’,1505,535,directed:= false,heuristic:=2)。

        在選定相同的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)、直連邊數(shù)條件下,Dijkstra優(yōu)化算法能夠靈活地得到精確的離散網(wǎng)格點(diǎn)之間的最短路徑,A*和原生的Dijkstra算法只能找到起終點(diǎn)對(duì)應(yīng)區(qū)域的網(wǎng)絡(luò)節(jié)點(diǎn)間的最短路徑,路徑規(guī)劃的位置精度有限。若要使得A*和原生的Dijkstra算法得到起終網(wǎng)格點(diǎn)之間的最短路徑,則必須在其對(duì)應(yīng)的起終點(diǎn)區(qū)域建立起所有鄰接網(wǎng)格的直連邊數(shù)據(jù)。由于起終點(diǎn)所處區(qū)域的不確定性,為此,實(shí)際上必須存儲(chǔ)整個(gè)定位區(qū)域的鄰接網(wǎng)格直連邊數(shù)據(jù),這必將增加較大的數(shù)據(jù)量,這也極大地加大了存儲(chǔ)、增加耗時(shí)和最短路徑的計(jì)算復(fù)雜度,如表4所示。表中V為節(jié)點(diǎn)數(shù),E為連接邊數(shù)。

        表4 不同算法的計(jì)算復(fù)雜度表

        從實(shí)驗(yàn)結(jié)果可以看出,在用Dell Inspiron 13 7000 Series電腦計(jì)算條件下,相對(duì)于未優(yōu)化的Dijkstra算法與A*算法,優(yōu)化Dijkstra算法在室內(nèi)離散空間環(huán)境下對(duì)數(shù)據(jù)存儲(chǔ)和運(yùn)算效率方面都有約90%的提升。

        3 結(jié)語

        近年來,室內(nèi)應(yīng)用越來越廣泛,相應(yīng)地,室內(nèi)定位與導(dǎo)航也愈發(fā)重要。本文針對(duì)室內(nèi)離散格網(wǎng)環(huán)境下的最短路徑規(guī)劃問題,依據(jù)室內(nèi)空間布局和障礙物分布,對(duì)定位區(qū)域進(jìn)行次區(qū)域的劃分和地理編碼、網(wǎng)絡(luò)節(jié)點(diǎn)選擇等。通過對(duì)這些區(qū)域、節(jié)點(diǎn)等空間數(shù)據(jù)的有效組織管理,針對(duì)室內(nèi)離散格網(wǎng)空間環(huán)境下Dijkstra最短路徑算法進(jìn)行了優(yōu)化設(shè)計(jì)。將次區(qū)域間與區(qū)域內(nèi)最短路徑分開處理,特別是起終點(diǎn)次區(qū)域內(nèi)尋找其與最短路徑的交點(diǎn)來代替次區(qū)域內(nèi)的網(wǎng)絡(luò)節(jié)點(diǎn),最終得到一條綜合最優(yōu)的最短路徑。通過實(shí)驗(yàn)數(shù)據(jù)顯示,優(yōu)化后的方法不僅可以得出正確的結(jié)果,而且還在空間數(shù)據(jù)存儲(chǔ)與計(jì)算復(fù)雜度方面有約90%的效率提升。由于現(xiàn)在還沒有辦法做到節(jié)點(diǎn)的自動(dòng)識(shí)別提取,所以預(yù)設(shè)的環(huán)境比較規(guī)則,網(wǎng)絡(luò)節(jié)點(diǎn)的自動(dòng)識(shí)別提取是后續(xù)努力探索的方向。

        猜你喜歡
        格網(wǎng)起點(diǎn)網(wǎng)格
        用全等三角形破解網(wǎng)格題
        實(shí)時(shí)電離層格網(wǎng)數(shù)據(jù)精度評(píng)估
        反射的橢圓隨機(jī)偏微分方程的網(wǎng)格逼近
        弄清楚“起點(diǎn)”前面有多少
        起點(diǎn)
        重疊網(wǎng)格裝配中的一種改進(jìn)ADT搜索方法
        我的“新”起點(diǎn)
        基于曲面展開的自由曲面網(wǎng)格劃分
        基于空間信息格網(wǎng)與BP神經(jīng)網(wǎng)絡(luò)的災(zāi)損快速評(píng)估系統(tǒng)
        新年的起點(diǎn)
        欧美在线成人午夜网站| 午夜精品久久久久久久99老熟妇 | 亚洲一区二区三区成人| 亚洲福利第一页在线观看| 国产精品成人av大片| 中文无码一区二区三区在线观看| 亚洲人成网7777777国产| 国产精品亚洲ΑV天堂无码| 男女啪啪动态视频在线观看| 妺妺窝人体色www婷婷| 久久乐国产精品亚洲综合| 91精品国产91热久久p| 精品国产亚洲av高清日韩专区| 欧美激情一区二区三区成人| 性一乱一搞一交一伦一性| 亚洲成精品动漫久久精久| 一区二区高清视频免费在线观看| 亚洲高清乱码午夜电影网| 亚洲av永久无码精品秋霞电影影院| 国产乱人伦AⅤ在线麻豆A| 与最丰满美女老师爱爱视频| 亚洲精品成人av在线| 中文字幕第七页| 尤物成av人片在线观看| 国产成人综合久久久久久| 亚洲av无码一区二区三区四区| 亚洲va在线va天堂va四虎| 亚洲国产精品激情综合色婷婷| av免费网址在线观看| 亚洲av乱码中文一区二区三区| 美腿丝袜一区二区三区| 日本一区二区在线高清观看| 伊人久久精品久久亚洲一区| 国产成人精品日本亚洲专区6| 成人爽a毛片免费网站中国 | 精品久久一区二区三区av制服 | 国产精品自产拍在线18禁| 欧美性xxxx极品高清| 国产中文制服丝袜另类| 91久久精品一二三区色| 风韵少妇性饥渴推油按摩视频|