本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及管線空間碰撞檢測方法和裝置。
背景技術(shù):
城市地下綜合管線是城市市政工程的重要組成部分,鑒于現(xiàn)有的地下管線種類繁多、復(fù)雜,且在地下布設(shè)呈立體交叉網(wǎng)狀分布。現(xiàn)階段,地下管線數(shù)據(jù)往往利用gis技術(shù)轉(zhuǎn)換為空間數(shù)據(jù)再進(jìn)行數(shù)據(jù)入庫與管理,因此地下管線空間邏輯關(guān)系的正確性是評(píng)判地下管線數(shù)據(jù)質(zhì)量好壞的重要標(biāo)準(zhǔn),也直接影響到后續(xù)地下管線信息應(yīng)用的可靠性與社會(huì)經(jīng)濟(jì)價(jià)值。地下綜合管線空間邏輯檢查問題一直是地下管線檢查的一個(gè)難點(diǎn),也是有效避免地下管線空間邏輯錯(cuò)誤、提高地下管線數(shù)據(jù)使用效益的重要保證。
地下綜合管線空間邏輯檢查最重要就是管線碰撞檢測。管線碰撞檢測,即利用gis空間分析,通過碰撞分析,檢查一定范圍內(nèi)任意兩類管線之間在三維空間中的距離是否符合安全要求,不存在交叉碰管的現(xiàn)象。
目前關(guān)于地下綜合管線的三維空間碰撞檢測研究還存在較多問題,比如多數(shù)地下管線信息系統(tǒng)中涵蓋的空間分析功能并不全面、分析功能沒有從實(shí)際檢查層面出發(fā)、檢查功能復(fù)用性差、結(jié)果準(zhǔn)確性不高、檢查效率受到限制等,不能較好的適用于地下管線的三維空間預(yù)測。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供管線空間碰撞檢測方法和裝置,旨在改善上述問題。
本發(fā)明提供的一種管線空間碰撞檢測方法,所述方法包括:獲取第一管線在二維平面的第一坐標(biāo)和第二管線在所述二維平面的第二坐標(biāo),根據(jù)所述第一坐標(biāo)和所述第二坐標(biāo)判斷所述第一管線和所述第二管線是否發(fā)生平面碰撞。如果所述第一管線和所述第二管線發(fā)生平面碰撞,判斷所述第一管線和所述第二管線是否滿足空間碰撞條件,如果所述第一管線和所述第二管線滿足空間碰撞條件,則判定所述第一管線和所述第二管線發(fā)生空間碰撞;如果所述第一管線與所述第二管線沒有發(fā)生平面碰撞,則判定所述第一管線和所述第二管線沒有發(fā)生空間碰撞。
本發(fā)明提供的一種管線空間碰撞檢測裝置,所述裝置包括:平面坐標(biāo)獲取模塊,用于獲取第一管線在二維平面的第一坐標(biāo)和第二管線在所述二維平面的第二坐標(biāo)。平面碰撞判斷模塊,用于根據(jù)所述第一坐標(biāo)和所述第二坐標(biāo)判斷所述第一管線和所述第二管線是否發(fā)生平面碰撞??臻g碰撞判斷模塊,用于如果所述第一管線和所述第二管線發(fā)生平面碰撞,判斷所述第一管線和所述第二管線是否滿足空間碰撞條件,如果所述第一管線和所述第二管線滿足空間碰撞條件,則判定所述第一管線和所述第二管線發(fā)生空間碰撞。以及如果所述第一管線與所述第二管線沒有發(fā)生平面碰撞,則判定所述第一管線和所述第二管線沒有發(fā)生空間碰撞。
上述本發(fā)明實(shí)施例提供的管線空間碰撞檢測方法,應(yīng)用于本發(fā)明提供的管線空間碰撞檢測裝置。所述方法包括:首先獲取參與檢測的兩條管線在二維平面的坐標(biāo),判斷兩管線在二維平面是否發(fā)生平面碰撞,如果未發(fā)生平面碰撞則可以推斷兩條管線也不會(huì)發(fā)生空間碰撞。如果檢測到兩條管線發(fā)生平面碰撞,再根據(jù)預(yù)設(shè)的空間碰撞條件判斷兩條管線是否發(fā)生空間碰撞??梢詫?duì)空間中任意兩條管線進(jìn)行碰撞檢測,首先通過二維平面坐標(biāo)判斷碰撞的可能性,對(duì)發(fā)生平面碰撞的管線再進(jìn)行進(jìn)一步的空間碰撞檢測,可以節(jié)省更多的檢查流程,提高管線空間碰撞檢測的準(zhǔn)確率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明實(shí)施例提供的管線空間碰撞檢測方法所應(yīng)用的計(jì)算機(jī)的方框示意圖;
圖2為本發(fā)明第一實(shí)施例提供的管線空間碰撞檢測方法的步驟流程圖;
圖3為本發(fā)明第一實(shí)施例提供的管線空間碰撞檢測方法的平面碰撞檢測示意圖;
圖4為本發(fā)明第一實(shí)施例提供的管線空間碰撞檢測方法的步驟s202的子步驟流程圖;
圖5為本發(fā)明第二實(shí)施例提供的管線空間碰撞檢測方法的步驟流程圖;
圖6為本發(fā)明第二實(shí)施例提供的步驟s501的子步驟流程圖;
圖7為本發(fā)明第二實(shí)施例提供的管線空間相交檢測示意圖;
圖8為本發(fā)明第三實(shí)施例提供的管線空間碰撞檢測裝置的功能模塊圖。
具體實(shí)施方式
本領(lǐng)域技術(shù)人員長期以來一直在尋求一種改善該問題的工具或方法。
鑒于此,本發(fā)明的設(shè)計(jì)者通過長期的探索和嘗試,以及多次的實(shí)驗(yàn)和努力,不斷的改革創(chuàng)新,得出本方案所示的較佳掃描圖像的折痕檢測方法和裝置。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參見圖1,是本發(fā)明實(shí)施例提供的管線空間碰撞檢測方法所應(yīng)用的計(jì)算機(jī)100的方框示意圖。所述計(jì)算機(jī)100包括管線空間碰撞檢測裝置、顯示單元等101、存儲(chǔ)器102、存儲(chǔ)控制器103、處理器104、外設(shè)接口105、輸入輸出單元106。
顯示單元101、所述存儲(chǔ)器102、存儲(chǔ)控制器103、處理器104、外設(shè)接口105、輸入輸出單元106等各元件相互之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號(hào)線實(shí)現(xiàn)電性連接。所述管線空間碰撞檢測裝置包括至少一個(gè)可以軟件或固件(firmware)的形式存儲(chǔ)于所述存儲(chǔ)器中或固化在所述計(jì)算機(jī)100的操作系統(tǒng)(operatingsystem,os)中的軟件功能模塊。所述處理器104用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的可執(zhí)行模塊,例如所述管線空間碰撞檢測裝置包括的軟件功能模塊或計(jì)算機(jī)程序。
其中,存儲(chǔ)器102可以是,但不限于,隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram),只讀存儲(chǔ)器(readonlymemory,rom),可編程只讀存儲(chǔ)器(programmableread-onlymemory,prom),可擦除只讀存儲(chǔ)器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲(chǔ)器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存儲(chǔ)器102用于存儲(chǔ)程序,所述處理器104在接收到執(zhí)行指令后,執(zhí)行所述程序,后述本發(fā)明實(shí)施例中任一實(shí)施例揭示的過程定義的服務(wù)器所執(zhí)行的方法可以應(yīng)用于處理器104中,或者由處理器104實(shí)現(xiàn)。
處理器104可能是一種集成電路芯片,具有信號(hào)的處理能力。上述的處理器104可以是通用處理器,包括中央處理器(centralprocessingunit,簡稱cpu)、網(wǎng)絡(luò)處理器(networkprocessor,簡稱np)等;還可以是數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件,以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器,該處理器也可以是任何常規(guī)的處理器等。
所述外設(shè)接口105將各種輸入輸出單元耦合至處理器104以及存儲(chǔ)器102。在一些實(shí)施例中,外設(shè)接口105、處理器104以及存儲(chǔ)控制器103可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
輸入輸出單元106用于提供給用戶輸入數(shù)據(jù)實(shí)現(xiàn)用戶與所述服務(wù)器的交互。所述輸入輸出單元106可以是,但不限于,鼠標(biāo)和鍵盤等。
顯示單元101在所述服務(wù)器與用戶之間提供一個(gè)交互界面,例如用戶操作界面,或用于顯示圖像數(shù)據(jù)給用戶參考。在本實(shí)施例中,所述顯示單元101可以是液晶顯示器或觸控顯示器。若為觸控顯示器,其可為支持單點(diǎn)和多點(diǎn)觸控操作的電容式觸控屏或電阻式觸控屏等。支持單點(diǎn)和多點(diǎn)觸控操作是指觸控顯示器能感應(yīng)到來自該觸控顯示器上一個(gè)或多個(gè)位置處同時(shí)產(chǎn)生的觸控操作,并將該感應(yīng)到的觸控操作交由處理器進(jìn)行計(jì)算和處理。
請(qǐng)參見圖2,示出了本發(fā)明第一實(shí)施例提供的管線空間碰撞檢測方法的步驟流程圖,下面將對(duì)圖2所示的步驟進(jìn)行具體解釋。
步驟s201,獲取第一管線在二維平面的第一坐標(biāo)和第二管線在所述二維平面的第二坐標(biāo)。
依據(jù)管線所在空間建立空間坐標(biāo)系,將參與檢測的第一管線和第二管線放置到所述空間坐標(biāo)系,獲取所述第一管線和所述第二管線的空間坐標(biāo)。優(yōu)選地,可以以絕對(duì)基面為二維平面,以世界標(biāo)準(zhǔn)坐標(biāo)系建立所述三維空間坐標(biāo)系。所述絕對(duì)基面(absolutedatum),是指以某一海濱地點(diǎn)平均海水平面高程定位零的水準(zhǔn)基面。
所述空間坐標(biāo)系包括作為基準(zhǔn)的二維平面和垂直于所述二維平面的垂直平面。首先,以所述二維平面作為投影平面,將所述第一管線和所述第二管線均投影到所述二維平面,獲取所述第一管線在所述二維平面的第一坐標(biāo),以及所述第二管線在所述二維平面的第二坐標(biāo)。
如圖3所示,為參與檢測的空間中的第一管線(即為圖中l(wèi)1所示)和所述第二管線(即為圖中l(wèi)2所示)在二維平面的投影示意圖。所述第一管線在所述二維平面內(nèi)的第一坐標(biāo)包括:第一起點(diǎn)s1坐標(biāo)(498772.361,3327499.313),第一終點(diǎn)e1坐標(biāo)(498761.502,3327605.724),所述第二管線在二維平面內(nèi)的第二坐標(biāo)為:第二起點(diǎn)坐標(biāo)s2(498775.069,3327618.190),第二終點(diǎn)坐標(biāo)e1(498745.037,3327571.048)。
步驟s202,根據(jù)所述第一坐標(biāo)和所述第二坐標(biāo)判斷所述第一管線和所述第二管線是否發(fā)生平面碰撞。
如果所述第一管線和所述第二管線沒有發(fā)生平面碰撞,則執(zhí)行步驟s203:判定所述第一管線和所述第二管線沒有發(fā)生空間碰撞。
如果所述第一管線和所述第二管線發(fā)生平面碰撞,則執(zhí)行步驟s204。
依據(jù)上述步驟獲取所述第一管線在所述二維平面的第一坐標(biāo),以及所述第二管線在所述二維平面在所述二維平面的第二坐標(biāo)之后,判斷所述第一管線和所述第二管線是否發(fā)生平面碰撞,即為判斷所述第一管線和所述第二管線在所述二維平面內(nèi)是否相交。判斷所述第一管線和所述第二管線是否在所述二維平面內(nèi)發(fā)生平面碰撞的方式可以參見圖4,下面將對(duì)圖4所示的過程進(jìn)行具體描述。
步驟s401,根據(jù)所述第一管線的第一坐標(biāo)和預(yù)設(shè)的包絡(luò)函數(shù)建立第一包絡(luò)圖形。
所述管線空間碰撞檢測裝置內(nèi)預(yù)設(shè)有用于判斷管線平面相交性的包絡(luò)函數(shù),用于根據(jù)所述第一管線的第一坐標(biāo)將第一管線的多個(gè)約束條件轉(zhuǎn)化為一個(gè)或者少數(shù)幾個(gè)約束,以一定的包絡(luò)圖形表示第一管線的約束范圍??紤]到實(shí)際管線的投影形狀多為矩形,因此優(yōu)選根據(jù)所述預(yù)設(shè)的包絡(luò)函數(shù)建立對(duì)應(yīng)所述第一管線的第一包絡(luò)圖形為所述二維平面內(nèi)的矩形,也可以解釋為包含所述第一管線投影的最小外界矩形。
步驟s402,根據(jù)所述第二管線的第二坐標(biāo)和所述預(yù)設(shè)的包絡(luò)函數(shù)建立第二包絡(luò)圖形。
依據(jù)上述的所述管線空間碰撞檢測裝置內(nèi)預(yù)設(shè)的包絡(luò)函數(shù),建立在所述二維平面對(duì)應(yīng)所述第二管線的矩形的第二包絡(luò)圖形。
請(qǐng)繼續(xù)參見圖3,如上述實(shí)施例所提供的第一管線和所述第二管線的坐標(biāo)數(shù)據(jù),根據(jù)所述第一管線的起止點(diǎn)坐標(biāo)和預(yù)設(shè)的包絡(luò)函數(shù)建立所述第一包絡(luò)圖形(即為圖中en1所示)和所示第二包絡(luò)圖形(即為圖形en2所示)。
步驟s403,判斷所述第一包絡(luò)圖形和所述第二包絡(luò)圖形是否相交。
如果所述第一包絡(luò)圖形和所述第二包絡(luò)圖形相交,則執(zhí)行步驟s404,判定所述第一管線和所述第二管線發(fā)生平面碰撞。
如果所述第一包絡(luò)圖形和所述第二包絡(luò)圖形不想交,則執(zhí)行步驟s405,判定所述第一管線和所述第二管線未發(fā)生平面碰撞。
依據(jù)上述步驟獲取所述第一管線對(duì)應(yīng)的二維平面的第一包絡(luò)圖形以及所述第二管線對(duì)應(yīng)的二維平面的第二包絡(luò)圖形后,利用幾何交集運(yùn)算判斷所述第一包絡(luò)圖形和所述第二包絡(luò)圖形是否相交。
如果所述第一包絡(luò)圖形與所述第二包絡(luò)圖形沒有發(fā)生相交,則表示所述第一管線與所述第二管線沒有發(fā)生平面碰撞。由于空間中發(fā)生碰撞的兩管線在二維平面的投影也會(huì)顯示相應(yīng)的碰撞點(diǎn)或者交點(diǎn),因此可以推斷在二維平面內(nèi)沒有發(fā)生平面碰撞的第一管線和所述第二管線在所述空間坐標(biāo)系中也沒有發(fā)生空間判斷。推斷參與檢測的兩管線未發(fā)生空間碰撞,不用再進(jìn)行后續(xù)的空間碰撞的檢測。
如果所述第一包絡(luò)圖形與所述第二包絡(luò)圖形發(fā)生相交,則表示所述第一管線與所述第二管線發(fā)生平面碰撞。投影到二維平面上時(shí)發(fā)生平面碰撞的兩個(gè)管線,存在發(fā)生空間碰撞的可能性,但是不能推斷一定會(huì)發(fā)生空間碰撞,因此還需要下一步的空間碰撞狀態(tài)的計(jì)算過程。
請(qǐng)繼續(xù)參見圖3,所述第一管線對(duì)應(yīng)的第一包絡(luò)圖形(即為圖中en1所示的區(qū)域)與所述第二包絡(luò)圖形(即為圖中en2所示的區(qū)域)存在交集(即為圖中en3所示的陰影區(qū)域),可以推斷所述第一管線與所述第二管線發(fā)生平面碰撞。
步驟s204,判斷所述第一管線和所述第二管線是否滿足空間碰撞條件。如果所述第一管線和所述第二管線滿足空間碰撞條件,則執(zhí)行步驟s205,判定所述第一管線和所述第二管線發(fā)生空間碰撞。
如果所述第一管線和所述第二管線不滿足空間碰撞條件,則執(zhí)行步驟s206,判定所述第一管線和所述第二管線未發(fā)生空間碰撞。
判斷發(fā)生平面碰撞的第一管線和所述第二管線是否發(fā)生空間碰撞,可以根據(jù)所述第一管線和所述第二管線在空間坐標(biāo)系中的坐標(biāo)計(jì)算出相應(yīng)的判斷量,根據(jù)所獲取的判斷量計(jì)算是否滿足預(yù)設(shè)的空間碰撞條件,以判斷是否發(fā)生空間碰撞。所述空間碰撞條件可以為:坐標(biāo)相同、包絡(luò)圖形相交、兩管線的三維凈距小于預(yù)設(shè)的安全距離等。若計(jì)算得出所述第一管線和所述第二管線滿足空間碰撞條件,則判定所述第一管線和所述第二管線發(fā)生空間碰撞。如果計(jì)算得出所述第一管線和所述第二管線不滿足空間碰撞條件,則可以判定所述第一管線和所述第二管線未發(fā)生空間碰撞。
上述本發(fā)明實(shí)施例提供的管線空間碰撞檢測方法,首先通過參與檢測的兩條管線在二維平面的坐標(biāo)判斷兩條管線在二維平面內(nèi)是否發(fā)生平面碰撞,未發(fā)生平面碰撞的兩條管線可以直接判定為未發(fā)生空間碰撞,不必在進(jìn)行后續(xù)的計(jì)算和判斷操作,而發(fā)生平面碰撞的兩條管線則需要通過預(yù)設(shè)的空間碰撞條件計(jì)算判斷是否存在空間碰撞點(diǎn)。極大程度地提高了空間坐標(biāo)系中任意兩條管線的空間碰撞檢測的效率和準(zhǔn)確率。
請(qǐng)參見圖5,是本發(fā)明第二實(shí)施例提供的管線空間碰撞檢測方法的步驟流程圖,實(shí)現(xiàn)了通過兩條管線的三維凈距與預(yù)設(shè)的兩管線之間的綜合安全距離的比較,判斷兩條管線是否發(fā)生空間碰撞的目的。下面將對(duì)圖5所示的過程進(jìn)行具體描述。
步驟s501,獲取所述第一管線和所述第二管線的三維凈距。
兩物體之間的凈距,可以解釋為兩物體之間剩余的純距離,兩管線之間的凈距,可以理解為兩管線的表面之間的最近距離。可以通過計(jì)算所述第一管線和第二管線的三維凈距來表征所述第一管線和所述第二管線之間的最短距離。三維凈距的計(jì)算過程可參見圖6,下面將對(duì)圖6所示的過程進(jìn)行具體描述。
步驟s601,判斷所述第一管線和所述第二管線在空間是否相交。
如果所述第一管線和所述第二管線在空間相交,執(zhí)行步驟s602。
如果所述第一管線和所述第二管線在空間不相交,執(zhí)行步驟s603。
利用空間拓?fù)溥\(yùn)算計(jì)算所述第一管線和所述第二管線在空間中是否存在交集,計(jì)算過程可以包括:利用空間拓?fù)溥\(yùn)算分別遍歷所述第一管線和所述第二管線的所有節(jié)點(diǎn),查找所述第一管線和所述第二管線是否存在共點(diǎn)的節(jié)點(diǎn)。
如果所述第一管線和所述第二管線存在共點(diǎn)的節(jié)點(diǎn),則可以推斷所述第一管線和所述第二管線在空間相交,為交叉碰撞情況。如果所述第一管線和所述第二管線不存在共點(diǎn)的節(jié)點(diǎn),則可以推斷所述第一管線和所述第二管線在空間不相交,為非交叉碰撞情況。
步驟s602,獲取所述第一管線和所述第二管線的空間相交點(diǎn),根據(jù)高程計(jì)算公式計(jì)算所述第一管線在所述空間相交點(diǎn)處的第一高程和所述第二管線在所述空間相交點(diǎn)處的第二高程,根據(jù)所述第一高程和所述第二高程計(jì)算所述第二管線的垂直凈距,將所述垂直凈距作為所述第一管線和所述第二管線的三維凈距。
在上述第一管線和第二管線的空間相交狀態(tài)的判斷過程中,將所獲取的所述第一管線和所述第二管線共點(diǎn)的節(jié)點(diǎn)作為所述第一管線和所述第二管線的空間相交點(diǎn),獲取所述空間相交點(diǎn)的坐標(biāo)信息。
依據(jù)已知的第一管線的第一起點(diǎn)和第一終點(diǎn)的坐標(biāo)信息,獲取所述第一管線的第一起點(diǎn)的高程和第一管線的第一終點(diǎn)的高程。再根據(jù)高程計(jì)算公式計(jì)算所述第一管線在所述空間相交點(diǎn)處的第一高程。
依據(jù)已知的第二管線的第二起點(diǎn)和所述第二終點(diǎn)的坐標(biāo)信息,獲取所述第二管線的第二起點(diǎn)的高程和所述第二管線的第二起點(diǎn)的高程。再根據(jù)高程計(jì)算公式計(jì)算所述第二管線在所述空間相交點(diǎn)處的第二高程。
獲取所述第一管線在所述空間相交點(diǎn)處的第一高程和所述第二管線在所述空間相交點(diǎn)處的第二高程后,將所述第一高程和所述第二高程作差,即可計(jì)算得到所述第一管線和所述第二管線的垂直凈距。由于所述第一管線和所述第二管線為交叉碰撞情況,因此所述第一管線和所述第二管線的水平凈距取零,則所述第一管線和所述第二管線的三維凈距即為所述第二管線的垂直凈距。
步驟s603,獲取所述第一管線和所述第二管線的空間最短距離對(duì)應(yīng)的最短距離線段與所述第一管線的第一交點(diǎn)和所述最短距離線段與所述第二管線的第二交點(diǎn)。
在上述第一管線和第二管線的空間相交狀態(tài)的判斷過程中,遍歷所述第一管線和所述第二管線的所有節(jié)點(diǎn),計(jì)算兩管線上的任意兩節(jié)點(diǎn)之間的直線距離,獲取所述第一管線上的節(jié)點(diǎn)與所述第一管線的節(jié)點(diǎn)的直線距離中的最小值,將該最小值作為所述第一管線和所述第二管線的最短距離,將該最短距離時(shí)對(duì)應(yīng)的線段設(shè)為最短距離線段。將所述最短距離線段與所述第一管線的交點(diǎn)設(shè)為第一交點(diǎn),將所述最短距離線段與所述第二管線的交點(diǎn)設(shè)為第二交點(diǎn),獲取所述第一交點(diǎn)和所述第二交點(diǎn)的坐標(biāo)信息。
步驟s604,根據(jù)高程計(jì)算公式獲取所述第一管線在所述第一交點(diǎn)處的第一高程和所述第二管線在所述第二交點(diǎn)處的第二高程,根據(jù)所述第一高程和所述第二高程計(jì)算所述第一管線和所述第二管線的所述垂直凈距。獲取所述第一管線和所述第二管線在所述二維平面內(nèi)的最短距離作為所述第一管線和第二管線的水平凈距,根據(jù)所述垂直凈距和所述水平凈距計(jì)算所述三維凈距。
依據(jù)已知的第一管線的第一起點(diǎn)和第一終點(diǎn)的坐標(biāo)信息,獲取所述第一管線的第一起點(diǎn)的高程和所述第一管線的第一終點(diǎn)的高程。再根據(jù)高程計(jì)算公式計(jì)算所述第一管線在所述第一交點(diǎn)處的第一高程。
依據(jù)已知的第二管線的第二起點(diǎn)和第二終點(diǎn)的坐標(biāo)信息,獲取所述第二管線的第二起點(diǎn)的高程和所述第二管線的第二終點(diǎn)的高程,在根據(jù)高程計(jì)算公式計(jì)算所述第二管線在所述第二交點(diǎn)處的第二高程。
預(yù)設(shè)的高程計(jì)算公式可以為::
獲取所述第一管線在所述空間相交點(diǎn)處的第一高程和所述第二管線在所述空間相交點(diǎn)處的第二高程后,將所述第一高程和所述第二高程作差,即可計(jì)算得到所述第一管線和所述第二管線的垂直凈距。
獲取所述第一管線和所述第二管線的水平凈距,即為所述第一管線和所述第二管線在所述二維平面內(nèi)的最短距離??梢员闅v所述第一管線和所述第二管線在所述二維平面內(nèi)的節(jié)點(diǎn),將所述第一管線上的節(jié)點(diǎn)中離所述第二管線上的節(jié)點(diǎn)最近的距離作為所述第一管線和所述第二管線的最短距離,即為所述第一管線和所述第二管線的水平凈距。
獲取所述第一管線和所述第二管線的水平凈距和垂直凈距后,計(jì)算獲得所述第一管線和所述第二管線的三維凈距。其計(jì)算過程可以為,將所述水平凈距和垂直凈距分別作為直角三角形的兩直角邊,獲取斜邊長度即為所述第一管線和所述第二管線的三維凈距。
請(qǐng)參見圖3和圖7,根據(jù)上述實(shí)施例提供的第一管線和所述第二管線的坐標(biāo)信息,對(duì)所述第一管線和所述第二管線進(jìn)行幾何交集運(yùn)算得到兩管線相交,則可以判定所述第一管線與所述第二管線為交叉碰撞情況。通過空間拓?fù)溥\(yùn)算可以計(jì)算得到所述第一管線和所述第二管線的空間相交點(diǎn)s3的第三坐標(biāo)為(498765.590,3327603.310)。
依據(jù)所述第一管線和所述第二管線的起止點(diǎn)坐標(biāo)獲取所述第一管線的起點(diǎn)高程為412.040,終點(diǎn)高程為412.094,以及所述第二管線的起點(diǎn)高程為413.306,終點(diǎn)高程為412.999。將所獲取的第一管線的起止點(diǎn)的坐標(biāo)信息代入所述高程計(jì)算公式,獲取所述第一管線在所述空間相交點(diǎn)處的第一高程為412.072,所述第二管線在所述空間相交點(diǎn)處的第二高程為413.209。將所述第一高程和所述第二高程作差可以得到所述第一管線和所述第二管線的垂直凈距為1.137,也就是所述第一管線和所述第二管線的三維凈距為1.137。
步驟s502,獲取所述第一管線和所述第二管線的綜合安全距離。
根據(jù)第一管線和第二管線的參數(shù),設(shè)定所述第一管線和所述第二管線的綜合安全距離,即為所述第一管線和所述第二管線在三維空間中不相交也視為相交的距離。以所述第一管線的第一中心線為第一起點(diǎn),以所述第一管線的幾何半徑為緩沖距離,建立所述第一緩沖區(qū)。以所述第二管線的第二中心線為第二起點(diǎn),以所述第二管線的幾何半徑為緩沖距離,建立第二緩沖區(qū)。將所述第一緩沖區(qū)和所述第二緩沖區(qū)的集合作為所述第一管線和所述第二管線的綜合安全距離。所述幾何半徑,可以解釋為垂直于管線的長度方向的橫截面的幾何半徑,例如,圓形截面的半徑或者方形截面的外接圓半徑等。
在其它實(shí)施方式中,考慮到兩個(gè)管線之間一般要保留最小限制凈距,作為安全間隔距離,因此優(yōu)選根據(jù)所述第一管線和所述第二管線之間的最小限制凈距建立第三緩沖區(qū)。所述最小限制凈距與管線的類別、材質(zhì)等確定,在此不做限定。將所述第一緩沖區(qū)、所述第二緩沖區(qū)和所述第三緩沖區(qū)的集合作為所述第一管線和所述第二管線的綜合安全距離。
例如,所述第一管線的幾何半徑為r1,所述第二管線的幾何半徑為r2,所述第一管線和所述第二管線的最小限制凈距為dmin,則所述綜合安全距離為l=r1+r2+dmin。
步驟s503,判斷所述三維凈距是否小于所述第一管線和所述第二管線的綜合安全距離。
如果所述三維凈距小于所述第一管線和所述第二管線的綜合安全距離,則執(zhí)行步驟s504,判定所述第一管線和第二管線發(fā)生空間碰撞。
如果所述三維凈距不小于所述第一管線和所述第二管線的綜合安全距離,則執(zhí)行步驟s505,判定所述第一管線和所述第二管線未發(fā)生空間碰撞。
依據(jù)上述步驟獲取發(fā)生平面碰撞的第一管線和所述第二管線的三維凈距d后,判斷所述第一管線和所述第二管線的三維凈距d是否小于所述第一管線和所述第二管線的綜合安全距離l。如果所述三維凈距d小于所述第一管線和所述第二管線的綜合安全距離l,則判定所述第一管線和第二管線空間碰撞。
如上述實(shí)施例中,所述第一管線的幾何半徑為1.5,所述第二管線的幾何半徑為1,所述最小限制凈距為0.5,則可以獲得所述第一管線和所述第二管線的綜合安全距離為3。所述第一管線和所述第二管線的三維凈距為1.137,小于所述第一管線和所述第二管線之間的綜合安全距離,則可以判定所述第一管線和所述第二管線為空間碰撞。
上述實(shí)施例中所提供的參數(shù)的單位為統(tǒng)一限定,具體單位數(shù)量級(jí)不做具體限定。
上述本發(fā)明實(shí)施例提供的管線空間碰撞檢測方法,將判定為平面碰撞的第一管線和第二管線進(jìn)行空間相交性判斷,將空間相交的第一管線和第二管線的垂直凈距作為三維凈距與預(yù)設(shè)的綜合安全距離進(jìn)行判斷,將未發(fā)生空間相交的第一管線的垂直凈距和水平凈距求解三維凈距,再利用求解的三維凈距與預(yù)設(shè)的綜合安全距離進(jìn)行判斷,進(jìn)一步提高了第一管線和第二管線的空間碰撞檢測的效率。
請(qǐng)參見圖8,為本發(fā)明第三實(shí)施例提供的管線碰撞檢測裝置的功能模塊圖。所述管線碰撞檢測裝置包括:平面坐標(biāo)獲取模塊810、平面碰撞判斷模塊820、空間碰撞判斷模塊830。
所述平面坐標(biāo)獲取模塊810,用于獲取第一管線在二維平面的第一坐標(biāo)和第二管線在所述二維平面的第二坐標(biāo);
平面碰撞判斷模塊820,用于根據(jù)所述第一坐標(biāo)和所述第二坐標(biāo)判斷所述第一管線和所述第二管線是否發(fā)生平面碰撞;
空間碰撞判斷模塊830,用于如果所述第一管線和所述第二管線發(fā)生平面碰撞,判斷所述第一管線和所述第二管線是否滿足空間碰撞條件,如果所述第一管線和所述第二管線滿足空間碰撞條件,則判定所述第一管線和所述第二管線發(fā)生空間碰撞;以及
如果所述第一管線與所述第二管線沒有發(fā)生平面碰撞,則判定所述第一管線和所述第二管線沒有發(fā)生空間碰撞。
在上述實(shí)施例的基礎(chǔ)上,所述空間碰撞判斷模塊830包括:三維凈距獲取子模塊831、綜合安全距離獲取子模塊832和三維凈距判斷子模塊833。
三維凈距獲取子模塊831,用于獲取所述第一管線和所述第二管線的三維凈距;
綜合安全距離獲取子模塊832,用于獲取所述第一管線和所述第二管線的綜合安全距離;
三維凈距判斷子模塊833,用于判斷所述三維凈距是否小于所述第一管線和所述第二管線的綜合安全距離,如果所述三維凈距小于所述第一管線和所述第二管線的綜合安全距離,判定所述第二管線空間碰撞。
本發(fā)明實(shí)施例提供的管線空間碰撞檢測裝置,首先通過參與檢測的兩條管線在二維平面的坐標(biāo)判斷兩條管線在二維平面內(nèi)是否發(fā)生平面碰撞,未發(fā)生平面碰撞的兩條管線可以直接判定為未發(fā)生空間碰撞,不必在進(jìn)行后續(xù)的計(jì)算和判斷操作,而發(fā)生平面碰撞的兩條管線則需要通過預(yù)設(shè)的空間碰撞條件計(jì)算判斷是否存在空間碰撞點(diǎn)。將判定為平面碰撞的第一管線和第二管線進(jìn)行空間相交性判斷,將空間相交的第一管線和第二管線的垂直凈距作為三維凈距與預(yù)設(shè)的綜合安全距離進(jìn)行判斷。將未發(fā)生空間相交的第一管線的垂直凈距和水平凈距求解三維凈距,再利用求解的三維凈距與預(yù)設(shè)的綜合安全距離進(jìn)行判斷,極大程度地提高了空間坐標(biāo)系中任意兩條管線的空間碰撞檢測的效率和準(zhǔn)確率。本實(shí)施例提供的管線空間碰撞檢測裝置的具體實(shí)施過程可參照上述方法實(shí)施例,在此不再一一贅述。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。