本發(fā)明涉及道路資源調(diào)取技術(shù)領(lǐng)域,具體而言,涉及一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)等大數(shù)據(jù)技術(shù)的飛速發(fā)展,很多基于地理信息系統(tǒng)(Geographic Information System,簡(jiǎn)稱GIS)作為平臺(tái)的項(xiàng)目中,有很多業(yè)務(wù)功能的需求是按照人、車等目標(biāo)點(diǎn)的行駛軌跡來調(diào)取周邊的設(shè)備資源進(jìn)行分析或者查看。
比如,一個(gè)警衛(wèi)隊(duì)預(yù)設(shè)要從某一條已經(jīng)規(guī)劃好的路徑通過,而在通過前或者通過過程中會(huì)對(duì)周邊的攝像機(jī)資源信息進(jìn)行調(diào)取查看,來確保整條路線上面的安全,以及能夠跟蹤警衛(wèi)隊(duì)的實(shí)時(shí)狀況。因此,需要對(duì)周邊設(shè)備資源按照行駛軌跡進(jìn)行排序,然后按照順序來調(diào)取設(shè)備資源信息,這對(duì)整個(gè)跟蹤過程有很大的幫助。
在一條路線上的設(shè)備資源可能會(huì)很多,如果要對(duì)這些設(shè)備資源進(jìn)行人工排序,會(huì)耗費(fèi)大量的人力和時(shí)間。目前已有的解決方案是,利用雷達(dá)根據(jù)目標(biāo)點(diǎn)(車輛)與周邊資源點(diǎn)位的空間直線距離進(jìn)行排序,但是此種排序方式對(duì)路網(wǎng)信息、實(shí)際路況的考慮較少,計(jì)算出的結(jié)果往往與實(shí)際情況不符。因此,目前仍然沒有一種行之有效的方法,能夠?qū)τ邢蚓€的周邊資源點(diǎn)位進(jìn)行準(zhǔn)確的排序。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法及裝置,能夠?qū)τ邢蚓€的周邊資源點(diǎn)位進(jìn)行準(zhǔn)確的排序。
第一方面,本發(fā)明實(shí)施例提供了一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法,包括:
將有向線分為多條直線段;
利用點(diǎn)到線段的最短距離算法,計(jì)算出所述多條直線段上與每個(gè)周邊點(diǎn)位的最小距離點(diǎn);
根據(jù)所述有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序;
根據(jù)最小距離點(diǎn)的順序,對(duì)每個(gè)最小距離點(diǎn)相對(duì)應(yīng)的周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中,當(dāng)一個(gè)最小距離點(diǎn)對(duì)應(yīng)多個(gè)周邊點(diǎn)位時(shí),根據(jù)周邊點(diǎn)位與該最小距離點(diǎn)的間距,對(duì)所述多個(gè)周邊點(diǎn)位進(jìn)行排序。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中,根據(jù)所述有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序,具體為:
在每條所述直線段上,按一定間距標(biāo)記出多個(gè)拆分點(diǎn);
根據(jù)所述有向線的方向,對(duì)所有的拆分點(diǎn)進(jìn)行排序,獲得拆分點(diǎn)的順序;
根據(jù)拆分點(diǎn)的順序,遍歷與每個(gè)拆分點(diǎn)最近的最小距離點(diǎn),獲得最小距離點(diǎn)的順序。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,其中,所述拆分點(diǎn)的總數(shù)大于所述最小距離點(diǎn)的總數(shù)。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第四種可能的實(shí)施方式,其中,根據(jù)所述有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序,具體為:
在所述有向線上的動(dòng)點(diǎn)沿所述有向線運(yùn)動(dòng)的過程中,計(jì)算與所述動(dòng)點(diǎn)最近的最小距離點(diǎn)的先后順序,獲得最小距離點(diǎn)的順序。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第五種可能的實(shí)施方式,其中,所述有向線上的動(dòng)點(diǎn),具體為:
當(dāng)移動(dòng)的目標(biāo)點(diǎn)在有向線上時(shí),所述目標(biāo)點(diǎn)為有向線上的動(dòng)點(diǎn);
當(dāng)移動(dòng)的目標(biāo)點(diǎn)不在有向線上時(shí),有向線上距離所述目標(biāo)點(diǎn)的最近點(diǎn)為有向線上的動(dòng)點(diǎn)。
第二方面,本發(fā)明實(shí)施例還提供一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序裝置,包括:
分割模塊,用于將有向線分為多條直線段;
距離計(jì)算模塊,用于利用點(diǎn)到線段的最短距離算法,計(jì)算出所述多條直線段上與每個(gè)周邊點(diǎn)位的最小距離點(diǎn);
第一排序模塊,用于根據(jù)所述有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序;
第二排序模塊,用于根據(jù)最小距離點(diǎn)的順序,對(duì)每個(gè)最小距離點(diǎn)相對(duì)應(yīng)的周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中,所述第二排序模塊還用于:當(dāng)一個(gè)最小距離點(diǎn)對(duì)應(yīng)多個(gè)周邊點(diǎn)位時(shí),根據(jù)周邊點(diǎn)位與該最小距離點(diǎn)的間距,對(duì)所述多個(gè)周邊點(diǎn)位進(jìn)行排序。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第二種可能的實(shí)施方式,其中,所述第一排序模塊具體用于:
在每條所述直線段上,按一定間距標(biāo)記出多個(gè)拆分點(diǎn);
根據(jù)所述有向線的方向,對(duì)所有的拆分點(diǎn)進(jìn)行排序,獲得拆分點(diǎn)的順序;
根據(jù)拆分點(diǎn)的順序,遍歷與每個(gè)拆分點(diǎn)最近的最小距離點(diǎn),獲得最小距離點(diǎn)的順序。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第三種可能的實(shí)施方式,其中,所述第一排序模塊具體用于:
在所述有向線上的動(dòng)點(diǎn)沿所述有向線運(yùn)動(dòng)的過程中,計(jì)算與所述動(dòng)點(diǎn)最近的最小距離點(diǎn)的先后順序,獲得最小距離點(diǎn)的順序。
本發(fā)明實(shí)施例帶來了以下有益效果:本發(fā)明實(shí)施例提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法及裝置中,首先將有向線劃分為多條直線段,并利用點(diǎn)到線段的最短距離算法,計(jì)算出與每個(gè)周邊點(diǎn)位距離最近的直線段,以及每個(gè)周邊點(diǎn)位在直線段上的最小距離點(diǎn)。然后根據(jù)有向線的方向,對(duì)有向線(各條直線段)上的最小距離點(diǎn)進(jìn)行排序,獲得有向線上的最小距離點(diǎn)的順序。再根據(jù)所獲得的最小距離點(diǎn)的順序,利用最小距離點(diǎn)與周邊點(diǎn)位的對(duì)應(yīng)關(guān)系,對(duì)周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。因此,采用本發(fā)明實(shí)施例提供的技術(shù)方案,能夠?qū)τ邢蚓€的周邊資源點(diǎn)位進(jìn)行準(zhǔn)確的排序。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了本發(fā)明實(shí)施例一所提供的一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法的流程圖;
圖2示出了本發(fā)明實(shí)施例一所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法中的數(shù)據(jù)流示意圖;
圖3示出了本發(fā)明實(shí)施例所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法中直線段的示意圖;
圖4示出了本發(fā)明實(shí)施例所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法中最小距離點(diǎn)的示意圖;
圖5示出了本發(fā)明實(shí)施例所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法中拆分點(diǎn)的示意圖;
圖6示出了本發(fā)明實(shí)施例所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序裝置的示意圖;
圖7示出了本發(fā)明實(shí)施例二所提供的一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法的流程圖;
圖8示出了本發(fā)明實(shí)施例二所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法中的數(shù)據(jù)流示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
目前,尚沒有一種行之有效的方法,能夠?qū)τ邢蚓€的周邊資源點(diǎn)位進(jìn)行準(zhǔn)確的排序,基于此,本發(fā)明實(shí)施例提供的一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法及裝置,能夠?qū)τ邢蚓€的周邊資源點(diǎn)位進(jìn)行準(zhǔn)確的排序。
實(shí)施例一:
如圖1和圖2所示,本發(fā)明實(shí)施例提供一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法,主要包括以下步驟:
S11:將有向線分為多條直線段。
如圖3所示,有向線也就是目標(biāo)點(diǎn)預(yù)定的行駛路線,標(biāo)記有向線的原點(diǎn)數(shù)組oldPointArray[n],遍歷點(diǎn)位數(shù)組,按數(shù)組存儲(chǔ)點(diǎn)位的順序兩兩取值。如oldPointArray[i]、oldPointArray[i+1],將兩個(gè)點(diǎn)組成一個(gè)直線段。以此類推,將有向線分為多條直線段。
S12:利用點(diǎn)到線段的最短距離算法,計(jì)算出多條直線段上與每個(gè)周邊點(diǎn)位的最小距離點(diǎn)。
如圖4所示,標(biāo)記周邊點(diǎn)位數(shù)組為resourceArray[m]。首先利用點(diǎn)到線段的最短距離算法,計(jì)算出一個(gè)周邊點(diǎn)位resourceArray[j]到每一條直線段上的最小距離點(diǎn),然后通過比較得出與該周邊點(diǎn)位距離最近的直線段,并將該直線段上的最小距離點(diǎn)作為該周邊點(diǎn)位相對(duì)應(yīng)的最終的最小距離點(diǎn)resourceShortestPoint[j]。
按照相同的方法計(jì)算出每個(gè)周邊點(diǎn)位的最小距離點(diǎn),最終求出與周邊點(diǎn)位數(shù)組對(duì)應(yīng)的最小距離點(diǎn)數(shù)組resourceShortestPoint[m],并保存每一個(gè)最小距離點(diǎn)對(duì)應(yīng)的周邊點(diǎn)位。此時(shí),該resourceShortestPoint[m]中的最小距離點(diǎn)是無序的。
其中,有可能出現(xiàn)兩個(gè)周邊點(diǎn)位對(duì)應(yīng)同一個(gè)最小距離點(diǎn)的情況,例如圖4中的周邊點(diǎn)位resourceArray[j+1]和resourceArray[j+2]對(duì)應(yīng)同一個(gè)最小距離點(diǎn)resourceShortestPoint[j+1]。
S13:根據(jù)有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序。具體包括:
S131:在每條直線段上,按一定間距標(biāo)記出多個(gè)拆分點(diǎn)。
如圖5所示,將有向線的各條直線段按照一定的間隔值interval進(jìn)行拆分,標(biāo)記出多個(gè)拆分點(diǎn)。
求出步驟S11劃分的每條直線段的長(zhǎng)度length,然后求出每條直線段被拆分的拆分點(diǎn)數(shù)total=length/interval,接下來根據(jù)下式計(jì)算出每條直線段上的各個(gè)拆分點(diǎn)的坐標(biāo):
newPointArray[k].x=(oldPointArray[i+1].x-oldPointArray[i].x)*k/total+oldPointArray[i].x
newPointArray[k].y=(oldPointArray[i+1].y-oldPointArray[i].y)*k/total+oldPointArray[i].y
S132:根據(jù)有向線的方向,對(duì)所有的拆分點(diǎn)進(jìn)行排序,獲得拆分點(diǎn)的順序。
將每一個(gè)直線段的拆分點(diǎn)的坐標(biāo),按有向線的順序依次取出,添加到拆分點(diǎn)數(shù)組newPointArray[q]中,且newPointArray[q]中的拆分點(diǎn)是已經(jīng)排好順序的。
應(yīng)當(dāng)說明的是,為了使之后的排序結(jié)果更加準(zhǔn)確,拆分點(diǎn)的密集度應(yīng)當(dāng)高于步驟S12中最小距離點(diǎn)的密集度,至少應(yīng)當(dāng)保證拆分點(diǎn)的總數(shù)大于最小距離點(diǎn)的總數(shù)。
S133:根據(jù)拆分點(diǎn)的順序,遍歷與每個(gè)拆分點(diǎn)最近的最小距離點(diǎn),獲得最小距離點(diǎn)的順序。
根據(jù)newPointArray[q]中拆分點(diǎn)的順序,遍歷與每個(gè)拆分點(diǎn)最近的最小距離點(diǎn),即距離newPointArray[k]最近的resourceShortestPoint[m]中的resourceShortestPoint[j],從而實(shí)現(xiàn)對(duì)resourceShortestPoint[m]中的最小距離點(diǎn)進(jìn)行排序,并存儲(chǔ)到有序的新數(shù)組newResourceShortestPoint[m]中。
S14:根據(jù)最小距離點(diǎn)的順序,對(duì)每個(gè)最小距離點(diǎn)相對(duì)應(yīng)的周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。
因?yàn)槊總€(gè)周邊點(diǎn)位resourceArray[j]都與newResourceShortestPoint[m]中的一個(gè)最小距離點(diǎn)resourceShortestPoint[j]相對(duì)應(yīng),所以按順序遍歷最小距離點(diǎn),即可實(shí)現(xiàn)對(duì)周邊點(diǎn)位數(shù)組resourceArray[m]中的周邊點(diǎn)位進(jìn)行排序。然后將排好順序的周邊點(diǎn)位追加保存到新的數(shù)組newResourceArray[j]中,就得到了最終排序后的結(jié)果數(shù)組。
其中,有可能會(huì)出現(xiàn)一個(gè)最小距離點(diǎn)對(duì)應(yīng)多個(gè)周邊點(diǎn)位的情況,例如圖4中的兩個(gè)周邊點(diǎn)位resourceArray[j+1]和resourceArray[j+2]對(duì)應(yīng)的同一個(gè)最小距離點(diǎn)resourceShortestPoint[j+1]。
對(duì)于此種情況,可以根據(jù)每個(gè)周邊點(diǎn)位與該最小距離點(diǎn)的間距,對(duì)該多個(gè)周邊點(diǎn)位進(jìn)行排序。根據(jù)不同的實(shí)際需求,既可以選擇將越靠近最小距離點(diǎn)的周邊點(diǎn)位排在前面,也可以選擇將越遠(yuǎn)離最小距離點(diǎn)的周邊點(diǎn)位排在前面。
或者,也可以將該多個(gè)周邊點(diǎn)位置于同等地位,在調(diào)取周邊點(diǎn)位上的設(shè)備資源時(shí),可以同時(shí)調(diào)取該多個(gè)設(shè)備資源。
如圖6所示,本發(fā)明實(shí)施例還提供一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序裝置,包括分割模塊1、距離計(jì)算模塊2、第一排序模塊3和第二排序模塊4。
分割模塊1用于將有向線分為多條直線段,也就是將目標(biāo)點(diǎn)預(yù)定的行駛路線劃分為多條直線段。
距離計(jì)算模塊2用于利用點(diǎn)到線段的最短距離算法,計(jì)算出多條直線段上與每個(gè)周邊點(diǎn)位的最小距離點(diǎn),得到與周邊點(diǎn)位數(shù)組對(duì)應(yīng)的最小距離點(diǎn)數(shù)組,并保存每一個(gè)最小距離點(diǎn)對(duì)應(yīng)的周邊點(diǎn)位。
第一排序模塊3用于根據(jù)有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序。
具體的,首先在每條直線段上,按一定間距標(biāo)記出多個(gè)拆分點(diǎn),并計(jì)算出各個(gè)拆分點(diǎn)的坐標(biāo)。然后根據(jù)有向線的方向,對(duì)所有的拆分點(diǎn)進(jìn)行排序,獲得拆分點(diǎn)的順序,即得到有序的拆分點(diǎn)數(shù)組。最后根據(jù)拆分點(diǎn)的順序,遍歷與每個(gè)拆分點(diǎn)最近的最小距離點(diǎn),獲得最小距離點(diǎn)的順序,實(shí)現(xiàn)對(duì)最小距離點(diǎn)數(shù)組的排序。
第二排序模塊4用于根據(jù)最小距離點(diǎn)的順序,對(duì)每個(gè)最小距離點(diǎn)相對(duì)應(yīng)的周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。
當(dāng)一個(gè)最小距離點(diǎn)對(duì)應(yīng)多個(gè)周邊點(diǎn)位時(shí),第二排序模塊還用于根據(jù)周邊點(diǎn)位與該最小距離點(diǎn)的間距,對(duì)多個(gè)周邊點(diǎn)位進(jìn)行排序。
本發(fā)明實(shí)施例所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序裝置為計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行本實(shí)施例中所述的排序方法,具體實(shí)現(xiàn)方式可參見方法實(shí)施例,在此不再贅述。
本發(fā)明實(shí)施例提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法及裝置中,首先將有向線劃分為多條直線段,并利用點(diǎn)到線段的最短距離算法,計(jì)算出與每個(gè)周邊點(diǎn)位距離最近的直線段,以及每個(gè)周邊點(diǎn)位在直線段上的最小距離點(diǎn)。然后在有向線上標(biāo)記出多個(gè)有序的拆分點(diǎn),并利用拆分點(diǎn)對(duì)最小距離點(diǎn)進(jìn)行排序,獲得有向線上的最小距離點(diǎn)的順序。再根據(jù)所獲得的最小距離點(diǎn)的順序,利用最小距離點(diǎn)與周邊點(diǎn)位的對(duì)應(yīng)關(guān)系,對(duì)周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。因此,采用本發(fā)明實(shí)施例提供的技術(shù)方案,能夠?qū)τ邢蚓€的周邊資源點(diǎn)位進(jìn)行準(zhǔn)確的排序,以便于按順序調(diào)取目標(biāo)點(diǎn)行進(jìn)路線周邊的設(shè)備資源。
實(shí)施例二:
如圖7和圖8所示,本發(fā)明實(shí)施例提供一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法,主要包括以下步驟:
S21:將有向線分為多條直線段。
S22:利用點(diǎn)到線段的最短距離算法,計(jì)算出多條直線段上與每個(gè)周邊點(diǎn)位的最小距離點(diǎn)。
本實(shí)施例中的以上步驟S21、S22與實(shí)施例一中的步驟S11、S12的具體實(shí)現(xiàn)方式相同,在此不再贅述。
S23:根據(jù)有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序。具體為:在有向線上的動(dòng)點(diǎn)沿有向線運(yùn)動(dòng)的過程中,計(jì)算與動(dòng)點(diǎn)最近的最小距離點(diǎn)的先后順序,獲得最小距離點(diǎn)的順序。
其中,有向線上的動(dòng)點(diǎn)即代表在預(yù)定路線上行進(jìn)的目標(biāo)點(diǎn)。例如圖4所示的情況,當(dāng)動(dòng)點(diǎn)剛剛從有向線的起點(diǎn)出發(fā)時(shí),距離動(dòng)點(diǎn)最近的最小距離點(diǎn)為resourceShortestPoint[j];隨著動(dòng)點(diǎn)持續(xù)行進(jìn),動(dòng)點(diǎn)會(huì)經(jīng)過并不斷遠(yuǎn)離resourceShortestPoint[j],同時(shí)不斷靠近resourceShortestPoint[j+1],那么一段時(shí)間之后,距動(dòng)點(diǎn)最近的最小距離點(diǎn)變?yōu)閞esourceShortestPoint[j+1]。以此類推,即可獲得最小距離點(diǎn)的順序。
S24:根據(jù)最小距離點(diǎn)的順序,對(duì)每個(gè)最小距離點(diǎn)相對(duì)應(yīng)的周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。
本步驟也是在動(dòng)點(diǎn)沿有向線行進(jìn)的過程中進(jìn)行的,所以本步驟與步驟S23是同步進(jìn)行的。在步驟S23獲得最小距離點(diǎn)的順序的同時(shí),本步驟也獲得了相應(yīng)的周邊點(diǎn)位的順序。并且,實(shí)時(shí)調(diào)取距離動(dòng)點(diǎn)最近的最小距離點(diǎn)所對(duì)應(yīng)的周邊點(diǎn)位處的設(shè)備資源。
其中,有可能會(huì)出現(xiàn)一個(gè)最小距離點(diǎn)對(duì)應(yīng)多個(gè)周邊點(diǎn)位的情況,例如圖4中的兩個(gè)周邊點(diǎn)位resourceArray[j+1]和resourceArray[j+2]對(duì)應(yīng)的同一個(gè)最小距離點(diǎn)resourceShortestPoint[j+1]。
對(duì)于此種情況,可以根據(jù)每個(gè)周邊點(diǎn)位與該最小距離點(diǎn)的間距,對(duì)該多個(gè)周邊點(diǎn)位進(jìn)行排序。根據(jù)不同的實(shí)際需求,既可以選擇將越靠近最小距離點(diǎn)的周邊點(diǎn)位排在前面,也可以選擇將越遠(yuǎn)離最小距離點(diǎn)的周邊點(diǎn)位排在前面。
或者,因?yàn)楸緦?shí)施例中是隨著目標(biāo)點(diǎn)的行進(jìn)實(shí)時(shí)調(diào)取設(shè)備資源,所以可根據(jù)該多個(gè)周邊點(diǎn)位實(shí)際的功能(比如攝像頭的不同的視角范圍),確定當(dāng)前調(diào)取哪個(gè)設(shè)備資源,或同時(shí)調(diào)取該多個(gè)設(shè)備資源。
另一方面,在現(xiàn)有技術(shù)中,目標(biāo)點(diǎn)的位置都是利用全球定位系統(tǒng)(Global Positioning System,簡(jiǎn)稱GPS),通過推送的實(shí)時(shí)GPS數(shù)據(jù)坐標(biāo)來確定的。但是目前GPS數(shù)據(jù)推送經(jīng)常存在偏移情況,使得某些時(shí)間段內(nèi),距目標(biāo)點(diǎn)最近的最小距離點(diǎn)的計(jì)算結(jié)果與實(shí)際情況不符,這將導(dǎo)致在該時(shí)間段內(nèi)調(diào)取了距離目標(biāo)點(diǎn)較遠(yuǎn)的設(shè)備資源。
針對(duì)上述問題,本發(fā)明實(shí)施例中利用有向線上的動(dòng)點(diǎn)代表目標(biāo)點(diǎn),以克服GPS數(shù)據(jù)的偏移。具體方法如下:
當(dāng)移動(dòng)的目標(biāo)點(diǎn)的GPS坐標(biāo)P(x,y)在有向線上時(shí),則表示此時(shí)的GPS數(shù)據(jù)是準(zhǔn)確的,所以目標(biāo)點(diǎn)即為有向線上的動(dòng)點(diǎn)
當(dāng)移動(dòng)的目標(biāo)點(diǎn)的GPS坐標(biāo)P(x,y)不在有向線上時(shí),則表示此時(shí)的GPS數(shù)據(jù)是有所偏差的,出現(xiàn)了目標(biāo)點(diǎn)不在道路上的錯(cuò)誤數(shù)據(jù)??梢岳命c(diǎn)到線段的最短距離算法,計(jì)算出有向線上距離目標(biāo)點(diǎn)的最近點(diǎn)P0(x,y),并將該最近點(diǎn)作為有向線上的動(dòng)點(diǎn)。
本發(fā)明實(shí)施例還提供一種基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序裝置。如圖6所示,本實(shí)施例中的排序裝置與實(shí)施例一提供的排序裝置基本相同,也包括分割模塊1、距離計(jì)算模塊2、第一排序模塊3和第二排序模塊4。
分割模塊1用于將有向線分為多條直線段,也就是將目標(biāo)點(diǎn)預(yù)定的行駛路線劃分為多條直線段。
距離計(jì)算模塊2用于利用點(diǎn)到線段的最短距離算法,計(jì)算出多條直線段上與每個(gè)周邊點(diǎn)位的最小距離點(diǎn),得到與周邊點(diǎn)位數(shù)組對(duì)應(yīng)的最小距離點(diǎn)數(shù)組,并保存每一個(gè)最小距離點(diǎn)對(duì)應(yīng)的周邊點(diǎn)位。
第一排序模塊3用于根據(jù)有向線的方向,對(duì)最小距離點(diǎn)進(jìn)行排序,獲得最小距離點(diǎn)的順序。具體為:在有向線上的動(dòng)點(diǎn)沿有向線運(yùn)動(dòng)的過程中,計(jì)算與動(dòng)點(diǎn)最近的最小距離點(diǎn)的先后順序,獲得最小距離點(diǎn)的順序。
第二排序模塊4用于根據(jù)最小距離點(diǎn)的順序,對(duì)每個(gè)最小距離點(diǎn)相對(duì)應(yīng)的周邊點(diǎn)位進(jìn)行排序,獲得周邊點(diǎn)位的順序。
當(dāng)一個(gè)最小距離點(diǎn)對(duì)應(yīng)多個(gè)周邊點(diǎn)位時(shí),第二排序模塊還用于根據(jù)周邊點(diǎn)位與該最小距離點(diǎn)的間距,對(duì)多個(gè)周邊點(diǎn)位進(jìn)行排序。
本發(fā)明實(shí)施例所提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序裝置為計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行本實(shí)施例中所述的排序方法,具體實(shí)現(xiàn)方式可參見方法實(shí)施例,在此不再贅述。
本發(fā)明實(shí)施例提供的基于大數(shù)據(jù)的有向線的周邊點(diǎn)位的排序方法及裝置中,首先將有向線劃分為多條直線段,并利用點(diǎn)到線段的最短距離算法,計(jì)算出與每個(gè)周邊點(diǎn)位距離最近的直線段,以及每個(gè)周邊點(diǎn)位在直線段上的最小距離點(diǎn)。然后隨著目標(biāo)點(diǎn)的行進(jìn),實(shí)時(shí)調(diào)取距離目標(biāo)點(diǎn)最近的設(shè)備資源,因此能夠?qū)τ邢蚓€的周邊資源點(diǎn)位進(jìn)行準(zhǔn)確的排序及實(shí)時(shí)調(diào)取。
此外,本發(fā)明實(shí)施例中還利用點(diǎn)到線段的最短距離算法,以有向線上的動(dòng)點(diǎn)代表目標(biāo)點(diǎn),從而實(shí)現(xiàn)了對(duì)GPS數(shù)據(jù)的糾偏處理,保證了設(shè)備資源調(diào)取的準(zhǔn)確性。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)和裝置的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。