本公開涉及計算機技術(shù)領(lǐng)域,更具體地,涉及用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的方法和裝置以及計算機設(shè)備。
背景技術(shù):
反向地理編碼服務是將地球表面的地址坐標轉(zhuǎn)換為標準地址的過程。反向地理編碼提供坐標定位引擎來幫助用戶通過地面某個地物坐標值反向查詢得到該地物所在的行政區(qū)、街道以及最匹配的標準地址信息。通過豐富的標準地址庫中的數(shù)據(jù),可以幫助用戶在進行查詢、分析、規(guī)劃等領(lǐng)域創(chuàng)造無限價值。例如,可以通過坐標(113.123,37.123)得到地址(北京市通州區(qū)科創(chuàng)十一街18號院)。在現(xiàn)有反向地理編碼實現(xiàn)過程中有多種實現(xiàn)方法,最常見的有兩種方案。第一種方案是通過搜索技術(shù)實現(xiàn)反向地理編碼。即,設(shè)計并實現(xiàn)搜索最近目標位置算法;找出多個符合半徑范圍內(nèi)的位置(過濾出來的目標位置會比較多);設(shè)計一套過濾算法;在找出的多個目標位置之后,通過過濾算法,找出距離目標最近的位置;以及返回與找出的最近位置對應的文本地址。第一種實現(xiàn)方案能夠適應在互聯(lián)網(wǎng)環(huán)境下多用戶同時訪問;并且可以較好地平均用戶每次訪問的處理時間。第二種實現(xiàn)方案是通過傳統(tǒng)gis相關(guān)技術(shù)實現(xiàn)反向地理編碼。即,建立集合數(shù)據(jù)庫;使用幾何算法或者數(shù)據(jù)庫查詢;查詢距離目標最近的位置;以及返回找出的最近位置對應的文本地址。然而,在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:第一種實現(xiàn)方案的準確性和可信度欠佳;并且第二種實現(xiàn)方案應用在互聯(lián)網(wǎng)環(huán)境下,太過專業(yè),無法適應所有的業(yè)務環(huán)境;當針對多用戶訪問時,響應速度受限;并且要求數(shù)據(jù)源較多。
技術(shù)實現(xiàn)要素:
鑒于此,本發(fā)明實施例提出了用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的方法和裝置以及計算機設(shè)備。
本發(fā)明實施例提出了一種用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的方法,包括:
確定所述目標在所述特定區(qū)域中所在的末級矩形x,其中基于所述四叉樹結(jié)構(gòu)將所述特定區(qū)域劃分為多級矩形并且對所述矩形進行四叉樹編碼,每一級矩形包括一個或多個矩形,并且每一個矩形內(nèi)包含至少一個參考位置點;
根據(jù)所述末級矩形x的編碼值來確定所述末級矩形x的多個相鄰矩形;以及
計算所述目標與所述末級矩形和所述多個相鄰矩形中的參考位置點之間的距離,并將與最小距離相對應的參考位置點的地理位置確定為所述目標的地理位置。
優(yōu)選地,根據(jù)所述末級矩形x的編碼值來確定所述末級矩形x的多個相鄰矩形包括:
步驟s710:將所述末級矩形x作為當前末級矩形;
步驟s720:根據(jù)所述當前末級矩形的編碼值的最末2個二進制位來確定所述當前末級矩形的相鄰候選矩形的最末2個二進制位,并且通過將所述當前末級矩形的編碼值中位于最末2個二進制位之前的二進制位與所確定的相鄰候選矩形的最末2個二進制位進行組合來確定所述當前末級矩形的待判定級別相鄰候選矩形集合;
步驟s730:確定存儲器中是否存在與所述待判定級別相鄰候選矩形集合中的相鄰候選矩形相對應的與非空矩形相關(guān)聯(lián)的編碼值:
如果存在,則執(zhí)行候選矩形距離判斷:根據(jù)所述目標到相應候選矩形中心點的距離與預定閾值的比較從所述待判定級別相鄰候選矩形集合中排除一個或多個候選矩形,然后針對所述待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行候選矩形劃分判斷:確定該相鄰候選矩形是否被繼續(xù)劃分,如果沒有,則將所述相鄰候選矩形確定為末級相鄰矩形,存儲所述末級相鄰矩形,并繼續(xù)步驟s740,如果所述候選矩形被繼續(xù)劃分,則確定劃分后的相鄰候選矩形中距所述目標最近的預定數(shù)量的矩形,將所述最近的預定數(shù)量的矩形組合作為新的待判定級別相鄰候選矩形集合,針對待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行所述候選矩形劃分判斷,直到到達末級矩形為止,存儲所述末級相鄰矩形,并繼續(xù)步驟s740;
如果不存在,則繼續(xù)步驟s740;
步驟s740:確定所述當前末級矩形的編碼值的位數(shù)是否大于2:
如果是,則執(zhí)行步驟s750:將所述當前末級矩形的具有所述當前末級矩形的最末2個二進制位之前的二進制位的上一級矩形作為當前末級矩形,執(zhí)行步驟s720;以及
如果否,則所述方法結(jié)束。
優(yōu)選地,當所述當前末級矩形是所述末級矩形x時,不執(zhí)行所述候選矩形距離判斷。
優(yōu)選地,每一個末級矩形中包括1000個參考位置點。
優(yōu)選地,所述預定數(shù)量為一個或兩個。
優(yōu)選地,所述特定區(qū)域是基于如下方式利用四叉樹進行劃分和編碼的:
步驟s310:將包含所述特定區(qū)域中的所有參考位置點的最小矩形確定為目標矩形,并且將所述目標矩形的編碼確定為空;
步驟s320:確定所述目標矩形中的參考位置點的數(shù)量是否大于預定數(shù)量,如果是,則執(zhí)行步驟s330;
步驟s330:將所述目標矩形劃分為四個矩形,當所述目標矩形的編碼為空時,將所述四個矩形編碼為00、01、10和11并將所述編碼值與所述矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中,并且當所述目標矩形的編碼不為空時,將所述四個矩形分別編碼為所述目標矩形的編碼后接00、01、10和11,并將所述編碼值與所述矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中;
步驟s340:針對所述四個矩形中的每一個,將該矩形確定為目標矩形,并且返回執(zhí)行步驟s320,直到所述目標矩形中的參考位置點的數(shù)量小于預定數(shù)量為止。
優(yōu)選地,所述矩形的范圍與所述編碼值、所述矩形中的參考位置點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲。
優(yōu)選地,確定所述目標在所述特定區(qū)域中所在的末級矩形x還包括:
根據(jù)所述矩形的范圍來確定包含所述目標的矩形中的最末級矩形x。
本發(fā)明實施例提出了一種用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的裝置,包括:
第一確定模塊,被配置為確定所述目標在所述特定區(qū)域中所在的末級矩形x,其中基于所述四叉樹結(jié)構(gòu)將所述特定區(qū)域劃分為多級矩形并且對所述矩形進行四叉樹編碼,每一級矩形包括一個或多個矩形,并且每一個矩形內(nèi)包含至少一個參考位置點;
第二確定模塊,被配置為根據(jù)所述末級矩形x的編碼值來確定所述末級矩形x的多個相鄰矩形;以及
計算模塊,被配置為計算所述目標與所述末級矩形和所述多個相鄰矩形中的參考位置點之間的距離,并將與最小距離相對應的參考位置點的地理位置確定為所述目標的地理位置。
優(yōu)選地,所述第二確定模塊被進一步配置為:
執(zhí)行步驟s710:將所述末級矩形x作為當前末級矩形;
執(zhí)行步驟s720:根據(jù)所述當前末級矩形的編碼值的最末2個二進制位來確定所述當前末級矩形的相鄰候選矩形的最末2個二進制位,并且通過將所述當前末級矩形的編碼值中位于最末2個二進制位之前的二進制位與所確定的相鄰候選矩形的最末2個二進制位進行組合來確定所述當前末級矩形的待判定級別相鄰候選矩形集合;
執(zhí)行步驟s730:確定存儲器中是否存在與所述待判定級別相鄰候選矩形集合中的相鄰候選矩形相對應的與非空矩形相關(guān)聯(lián)的編碼值:
如果存在,則執(zhí)行候選矩形距離判斷:根據(jù)所述目標到相應候選矩形中心點的距離與預定閾值的比較從所述待判定級別相鄰候選矩形集合中排除一個或多個候選矩形,然后針對所述待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行候選矩形劃分判斷:確定該相鄰候選矩形是否被繼續(xù)劃分,如果沒有,則將所述相鄰候選矩形確定為末級相鄰矩形,存儲所述末級相鄰矩形,并繼續(xù)步驟s740,如果所述候選矩形被繼續(xù)劃分,則確定劃分后的相鄰候選矩形中距所述目標最近的預定數(shù)量的矩形,將所述最近的預定數(shù)量的矩形組合作為新的待判定級別相鄰候選矩形集合,針對待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行所述候選矩形劃分判斷,直到到達末級矩形為止,存儲所述末級相鄰矩形,并繼續(xù)步驟s740;
如果不存在,則繼續(xù)執(zhí)行步驟s740:確定所述當前末級矩形的編碼值的位數(shù)是否大于2:
如果是,則執(zhí)行步驟s750:將所述當前末級矩形的具有所述當前末級矩形的最末2個二進制位之前的二進制位的上一級矩形作為當前末級矩形,執(zhí)行步驟s720;以及
如果否,則所述方法結(jié)束。
優(yōu)選地,當所述當前末級矩形是所述末級矩形x時,不執(zhí)行所述候選矩形距離判斷。
優(yōu)選地,每一個末級矩形中包括1000個參考位置點。
優(yōu)選地,所述預定數(shù)量為一個或兩個。
優(yōu)選地,所述特定區(qū)域是基于如下方式利用四叉樹進行劃分和編碼的:
步驟s310:將包含所述特定區(qū)域中的所有參考位置點的最小矩形確定為目標矩形,并且將所述目標矩形的編碼確定為空;
步驟s320:確定所述目標矩形中的參考位置點的數(shù)量是否大于預定數(shù)量,如果是,則執(zhí)行步驟s330;
步驟s330:將所述目標矩形劃分為四個矩形,當所述目標矩形的編碼為空時,將所述四個矩形編碼為00、01、10和11并將所述編碼值與所述矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中,并且當所述目標矩形的編碼不為空時,將所述四個矩形分別編碼為所述目標矩形的編碼后接00、01、10和11,并將所述編碼值與所述矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中;
步驟s340:針對所述四個矩形中的每一個,將該矩形確定為目標矩形,并且返回執(zhí)行步驟s320,直到所述目標矩形中的參考位置點的數(shù)量小于預定數(shù)量為止。
優(yōu)選地,所述矩形的范圍與所述編碼值、所述矩形中的參考位置點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲。
優(yōu)選地,所述第二確定模塊被進一步配置為:
根據(jù)所述矩形的范圍來確定包含所述目標的矩形中的最末級矩形x。
本發(fā)明實施例提出了一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:
確定所述目標在所述特定區(qū)域中所在的末級矩形x,其中基于所述四叉樹結(jié)構(gòu)將所述特定區(qū)域劃分為多級矩形并且對所述矩形進行四叉樹編碼,每一級矩形包括一個或多個矩形,并且每一個矩形內(nèi)包含至少一個參考位置點;
根據(jù)所述末級矩形x的編碼值來確定所述末級矩形x的多個相鄰矩形;以及
計算所述目標與所述末級矩形和所述多個相鄰矩形中的參考位置點之間的距離,并將與最小距離相對應的參考位置點的地理位置確定為所述目標的地理位置。
優(yōu)選地,根據(jù)所述末級矩形x的編碼值來確定所述末級矩形x的多個相鄰矩形包括:
步驟s710:將所述末級矩形x作為當前末級矩形;
步驟s720:根據(jù)所述當前末級矩形的編碼值的最末2個二進制位來確定所述當前末級矩形的相鄰候選矩形的最末2個二進制位,并且通過將所述當前末級矩形的編碼值中位于最末2個二進制位之前的二進制位與所確定的相鄰候選矩形的最末2個二進制位進行組合來確定所述當前末級矩形的待判定級別相鄰候選矩形集合;
步驟s730:確定存儲器中是否存在與所述待判定級別相鄰候選矩形集合中的相鄰候選矩形相對應的與非空矩形相關(guān)聯(lián)的編碼值:
如果存在,則執(zhí)行候選矩形距離判斷:根據(jù)所述目標到相應候選矩形中心點的距離與預定閾值的比較從所述待判定級別相鄰候選矩形集合中排除一個或多個候選矩形,然后針對所述待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行候選矩形劃分判斷:確定該相鄰候選矩形是否被繼續(xù)劃分,如果沒有,則將所述相鄰候選矩形確定為末級相鄰矩形,存儲所述末級相鄰矩形,并繼續(xù)步驟s740,如果所述候選矩形被繼續(xù)劃分,則確定劃分后的相鄰候選矩形中距所述目標最近的預定數(shù)量的矩形,將所述最近的預定數(shù)量的矩形組合作為新的待判定級別相鄰候選矩形集合,針對待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行所述候選矩形劃分判斷,直到到達末級矩形為止,存儲所述末級相鄰矩形,并繼續(xù)步驟s740;
如果不存在,則繼續(xù)步驟s740;
步驟s740:確定所述當前末級矩形的編碼值的位數(shù)是否大于2:
如果是,則執(zhí)行步驟s750:將所述當前末級矩形的具有所述當前末級矩形的最末2個二進制位之前的二進制位的上一級矩形作為當前末級矩形,執(zhí)行步驟s720;以及
如果否,則所述方法結(jié)束。
優(yōu)選地,當所述當前末級矩形是所述末級矩形x時,不執(zhí)行所述候選矩形距離判斷。
優(yōu)選地,每一個末級矩形中包括1000個參考位置點。
優(yōu)選地,所述預定數(shù)量為一個或兩個。
優(yōu)選地,所述特定區(qū)域是基于如下方式利用四叉樹進行劃分和編碼的:
步驟s310:將包含所述特定區(qū)域中的所有參考位置點的最小矩形確定為目標矩形,并且將所述目標矩形的編碼確定為空;
步驟s320:確定所述目標矩形中的參考位置點的數(shù)量是否大于預定數(shù)量,如果是,則執(zhí)行步驟s330;
步驟s330:將所述目標矩形劃分為四個矩形,當所述目標矩形的編碼為空時,將所述四個矩形編碼為00、01、10和11并將所述編碼值與所述矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中,并且當所述目標矩形的編碼不為空時,將所述四個矩形分別編碼為所述目標矩形的編碼后接00、01、10和11,并將所述編碼值與所述矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中;
步驟s340:針對所述四個矩形中的每一個,將該矩形確定為目標矩形,并且返回執(zhí)行步驟s320,直到所述目標矩形中的參考位置點的數(shù)量小于預定數(shù)量為止。
優(yōu)選地,所述矩形的范圍與所述編碼值、所述矩形中的參考位置點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲。
優(yōu)選地,確定所述目標在所述特定區(qū)域中所在的末級矩形x還包括:
根據(jù)所述矩形的范圍來確定包含所述目標的矩形中的最末級矩形x。
由于采用四叉樹編碼的技術(shù)手段,克服了確定地理位置的準確性較低且響應速度較慢等問題,進而達到快速且準確地確定目標的地理位置的技術(shù)效果。
附圖說明
根據(jù)結(jié)合示例性附圖對示例性實施例的以下描述,本公開的其他細節(jié)、方面和優(yōu)點將變得顯而易見,在附圖中:
圖1示意性地示出了根據(jù)本發(fā)明的實施例的用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的方法100的示意圖;
圖2示意性地示出了根據(jù)本發(fā)明的實施例的位置數(shù)據(jù)集的二維分布的示意圖;
圖3示意性地示出了根據(jù)本發(fā)明的實施例的利用四叉樹對特定區(qū)域進行編碼的方法的示意圖;
圖4示意性地示出了根據(jù)本發(fā)明的實施例利用四叉樹編碼通過圖2所示的二維分布得到的編碼結(jié)果的示意圖;
圖5示意性地示出了根據(jù)本發(fā)明的實施例確定目標的末級矩形的方法的示意圖;
圖6示意性地示出了根據(jù)本發(fā)明的實施例確定目標的末級矩形的示意圖;
圖7示意性地示出了根據(jù)本發(fā)明的實施例的根據(jù)末級矩形x的編碼值來確定末級矩形x的多個相鄰矩形的示意圖;
圖8示意性地示出了根據(jù)本發(fā)明的實施例用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的裝置800的示意圖;以及
圖9示意性地示出了根據(jù)本發(fā)明的實施例用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的系統(tǒng)900的示意圖。
附圖沒有對實施例的所有電路或結(jié)構(gòu)進行顯示。貫穿所有附圖相同的附圖標記表示相同或相似的部件或特征。
具體實施方式
下面將詳細描述本發(fā)明的具體實施例,應當注意,這里描述的實施例只用于舉例說明,并不用于限制本發(fā)明。在以下描述中,為了提供對本發(fā)明的透徹理解,闡述了大量特定細節(jié)。然而,對于本領(lǐng)域普通技術(shù)人員顯而易見的是:不必采用這些特定細節(jié)來實行本發(fā)明。在其他實例中,為了避免混淆本發(fā)明,未具體描述公知的電路、材料或方法。
在整個說明書中,對“一個實施例”、“實施例”、“一個示例”或“示例”的提及意味著:結(jié)合該實施例或示例描述的特定特征、結(jié)構(gòu)或特性被包含在本發(fā)明至少一個實施例中。因此,在整個說明書的各個地方出現(xiàn)的短語“在一個實施例中”、“在實施例中”、“一個示例”或“示例”不一定都指同一實施例或示例。此外,可以以任何適當?shù)慕M合和/或子組合將特定的特征、結(jié)構(gòu)或特性組合在一個或多個實施例或示例中。此外,本領(lǐng)域普通技術(shù)人員應當理解,在此提供的附圖都是為了說明的目的,并且附圖不一定是按比例繪制的。這里使用的術(shù)語“和/或”包括一個或多個相關(guān)列出的項目的任何和所有組合。
下面參照圖1描述用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的方法100。在步驟s10,確定目標在特定區(qū)域中所在的末級矩形x,其中基于四叉樹結(jié)構(gòu)將特定區(qū)域劃分為多級矩形并且對矩形進行四叉樹編碼,每一級矩形包括一個或多個矩形,并且每一個矩形內(nèi)包含至少一個參考位置點。
首先,將描述基于四叉樹結(jié)構(gòu)將特定區(qū)域劃分為多級矩形并且對矩形進行四叉樹編碼。例如,在特定區(qū)域中存在如下位置數(shù)據(jù)集:a(20,50),b(35,40),c(50,50),d(60,40),e(65,35),f(70,20),g(60,25),h(45,30),i(10,30),j(20,20),k(30,10),1(50,10),m(70,10),其二維分布如圖2所示。
首先,找出包含所有位置數(shù)據(jù)集的最小矩形a。例如,可以通過以下方式來得到最小矩形a:獲得所有位置數(shù)據(jù)集中位于左下角的位置數(shù)據(jù)作為矩形左下角的坐標;獲得所有位置數(shù)據(jù)集中位于右上角的位置數(shù)據(jù)作為矩形右上角的坐標;以及將這兩個坐標進行組合以得到包含所有位置數(shù)據(jù)集的最小矩形a的范圍。然后,如圖3所示,基于如下方式利用四叉樹對該特定區(qū)域進行劃分和編碼:
步驟s310:將與特定區(qū)域相對應的最小矩形a確定為目標矩形,并且將目標矩形的編碼確定為空;
步驟s320:確定目標矩形中的參考位置點的數(shù)量是否大于預定數(shù)量(這里設(shè)置為1,當然,該預定數(shù)量也可以為其他任意數(shù)值,例如,1000),如果是,則執(zhí)行步驟s330;
步驟s330:將目標矩形劃分為四個矩形,當目標矩形的編碼為空時,將四個矩形編碼為00、01、10和11并將所述編碼值與所述矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中,并且當目標矩形的編碼不為空時,將四個矩形分別編碼為目標矩形的編碼后接00、01、10和11,并將編碼值與矩形中的參考點的標識和所述參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中;
步驟s340:針對四個矩形中的每一個,將該矩形確定為目標矩形,并且返回執(zhí)行步驟s320,直到目標矩形中的參考位置點的數(shù)量小于預定數(shù)量為止。
以圖2所示的位置數(shù)據(jù)集為例,根據(jù)該數(shù)據(jù)集生成的編碼結(jié)果如圖4所示。
應當注意的是,矩形的范圍可以用左下角坐標和右上角坐標的組合來表示,并且可以與該矩形的編碼值、該矩形中的參考位置點的標識和該參考位置點的地理位置相關(guān)聯(lián)地存儲在存儲器中。
當利用四叉樹結(jié)構(gòu)對特定區(qū)域進行了劃分和編碼之后,需要確定目標在特定區(qū)域中所在的末級矩形,即,包含目標的所有矩形中的最小矩形b。例如,如圖5所示,可以通過以下方式來確定目標的末級矩形。
在步驟s510,以與特定區(qū)域相對應的上述最小矩形a作為目標區(qū)域(四個坐標點為(x0,y1),(x1,y1),(x0,y0)和(x1,y0),如圖6所示)。
在步驟s520,確定目標矩形是否被繼續(xù)劃分,如果否,則該目標矩形即為末級矩形,并且該過程結(jié)束,如果是,則執(zhí)行步驟s530。
步驟s530:根據(jù)式1至式4確定目標所在的矩形(具體地,當滿足式1和式3時,目標所在的矩形為左下角的矩形,當滿足式1和式4時,目標所在的矩形為右下角的矩形,當滿足式2和式3時,目標所在的矩形為左上角的矩形,以及當滿足式2和式4時,目標所在的矩形為右上角的矩形),并且將所確定的矩形確定為目標矩形,繼續(xù)執(zhí)行步驟s520,直到目標矩形未被繼續(xù)劃分為止。
|y-y0|≤|y1-y|(式1)
|y-y0|>|y1-y|(式2)
|x-x0|≤|x1-x|(式3)
|x-x0|>|x1-x|(式4)
在步驟s11,根據(jù)末級矩形x的編碼值來確定末級矩形x的多個相鄰矩形。
具體地,如圖7所示,步驟s11可以包括:
步驟s710:將末級矩形x作為當前末級矩形;
步驟s720:根據(jù)當前末級矩形的編碼值的最末2個二進制位來確定當前末級矩形的相鄰候選矩形的最末2個二進制位,并且通過將當前末級矩形的編碼值中位于最末2個二進制位之前的二進制位與所確定的相鄰候選矩形的最末2個二進制位進行組合來確定當前末級矩形的待判定級別相鄰候選矩形集合。
如果當前末級矩形的編碼值的最末2個二進制位是00,則當前末級矩形的相鄰候選矩形的最末2個二進制位可能是01、11和10,如果當前末級矩形的編碼值的最末2個二進制位是01,則當前末級矩形的相鄰候選矩形的最末2個二進制位可能是00、11和10,如果當前末級矩形的編碼值的最末2個二進制位是10,則當前末級矩形的相鄰候選矩形的最末2個二進制位可能是00、01和11,并且如果當前末級矩形的編碼值的最末2個二進制位是11,則當前末級矩形的相鄰候選矩形的最末2個二進制位可能是01、10和00。
步驟s730:確定存儲器中是否存在與待判定級別相鄰候選矩形集合中的相鄰候選矩形相對應的與非空矩形相關(guān)聯(lián)的編碼值:
如果存在,則執(zhí)行候選矩形距離判斷:根據(jù)目標到相應候選矩形中心點的距離與預定閾值的比較從待判定級別相鄰候選矩形集合中排除一個或多個候選矩形,然后針對待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行候選矩形劃分判斷:確定該相鄰候選矩形是否被繼續(xù)劃分,如果沒有,則將相鄰候選矩形確定為末級相鄰矩形,存儲末級相鄰矩形,并繼續(xù)步驟s740,如果候選矩形被繼續(xù)劃分,則確定劃分后的相鄰候選矩形中距目標最近的預定數(shù)量(例如,一個或兩個)的矩形,將最近的預定數(shù)量的矩形組合作為新的待判定級別相鄰候選矩形集合,針對待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行候選矩形劃分判斷,直到到達末級矩形為止,存儲末級相鄰矩形,并繼續(xù)步驟s740;
如果不存在,則繼續(xù)步驟s740;
步驟s740:確定當前末級矩形的編碼值的位數(shù)是否大于2:
如果是,則執(zhí)行步驟s750:將當前末級矩形的具有當前末級矩形的最末2個二進制位之前的二進制位的上一級矩形作為當前末級矩形,執(zhí)行步驟s720;以及
如果否,則方法結(jié)束。
應當清楚的是,候選矩形距離判斷是可選的,可以根本不執(zhí)行該候選矩形距離判斷,或者可以在當前末級矩形是末級矩形x時,不執(zhí)行候選矩形距離判斷。
下面,返回參照圖3來描述根據(jù)本發(fā)明實施例的確定目標所在末級矩形的相鄰矩形。
目標p所處位置如圖4所示??梢源_定當前末級矩形為矩形110010。該末級矩形110010的待判定級別相鄰候選矩形集合為110000、110001和110011。由于110000和110011這兩個矩形是空矩形,且矩形110001未被繼續(xù)劃分,因此該末級矩形110010的相鄰末級矩形為110001。
由于當前末級矩形110010的編碼值的位數(shù)大于2,因此將其上一級矩形1100作為當前末級矩形,繼續(xù)確定該當前末級矩形的待判定級別相鄰候選矩形集合1101、1110和1111。由于1111為空,因此將僅針對1101和1110執(zhí)行候選矩形距離判斷,從而排除矩形1101。針對矩形1110,執(zhí)行候選矩形劃分判斷,確定出的相鄰末級矩形為111001。
由于當前末級矩形1100的編碼值的位數(shù)大于2,因此將其上一級矩形11作為當前末級矩形,繼續(xù)確定該當前末級矩形的待判定級別相鄰候選矩形集合00、10和01。類似地,針對矩形00和01,可以通過候選矩形距離判斷將其排除,針對矩形10,可以確定候選相鄰矩形為1011。
最后,可以確定目標p的相鄰候選矩形為110001、111001和1011。
在步驟s12,計算目標(m1,n1)與所述末級矩形和所述多個相鄰矩形中的參考位置點(xs,ys)之間的距離,如式5所示,并將與最小距離dmin相對應的參考位置點的地理位置確定為所述目標的地理位置。
d=|m1-xs|+|n1-ys|(式5)
本發(fā)明實施例具有以下有益效果:能適應互聯(lián)網(wǎng)環(huán)境下的反向地理編碼應用,并且處理速度快且準確性高。
圖8示意性地示出了根據(jù)本發(fā)明的實施例用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的裝置800的示意圖。裝置800包括第一確定模塊810,第二確定模塊820和計算模塊830。
第一確定模塊810可以被配置為確定所述目標在所述特定區(qū)域中所在的末級矩形x,其中基于所述四叉樹結(jié)構(gòu)將所述特定區(qū)域劃分為多級矩形并且對所述矩形進行四叉樹編碼,每一級矩形包括一個或多個矩形,并且每一個矩形內(nèi)包含至少一個參考位置點。
第二確定模塊820可以被配置為根據(jù)所述末級矩形x的編碼值來確定所述末級矩形x的多個相鄰矩形。
計算模塊830可以被配置為計算所述目標與所述末級矩形和所述多個相鄰矩形中的參考位置點之間的距離,并將與最小距離相對應的參考位置點的地理位置確定為所述目標的地理位置。
所述第二確定模塊820可以被進一步配置為:
執(zhí)行步驟s710:將所述末級矩形x作為當前末級矩形;
執(zhí)行步驟s720:根據(jù)所述當前末級矩形的編碼值的最末2個二進制位來確定所述當前末級矩形的相鄰候選矩形的最末2個二進制位,并且通過將所述當前末級矩形的編碼值中位于最末2個二進制位之前的二進制位與所確定的相鄰候選矩形的最末2個二進制位進行組合來確定所述當前末級矩形的待判定級別相鄰候選矩形集合;
執(zhí)行步驟s730:確定存儲器中是否存在與所述待判定級別相鄰候選矩形集合中的相鄰候選矩形相對應的與非空矩形相關(guān)聯(lián)的編碼值:
如果存在,則執(zhí)行候選矩形距離判斷:根據(jù)所述目標到相應候選矩形中心點的距離與預定閾值的比較從所述待判定級別相鄰候選矩形集合中排除一個或多個候選矩形,然后針對所述待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行候選矩形劃分判斷:確定該相鄰候選矩形是否被繼續(xù)劃分,如果沒有,則將所述相鄰候選矩形確定為末級相鄰矩形,存儲所述末級相鄰矩形,并繼續(xù)步驟s740,如果所述候選矩形被繼續(xù)劃分,則確定劃分后的相鄰候選矩形中距所述目標最近的預定數(shù)量的矩形,將所述最近的預定數(shù)量的矩形組合作為新的待判定級別相鄰候選矩形集合,針對待判定級別相鄰候選矩形集合中的相鄰候選矩形中的每一個,執(zhí)行所述候選矩形劃分判斷,直到到達末級矩形為止,存儲所述末級相鄰矩形,并繼續(xù)步驟s740;
如果不存在,則繼續(xù)執(zhí)行步驟s740:確定所述當前末級矩形的編碼值的位數(shù)是否大于2:
如果是,則執(zhí)行步驟s750:將所述當前末級矩形的具有所述當前末級矩形的最末2個二進制位之前的二進制位的上一級矩形作為當前末級矩形,執(zhí)行步驟s720;以及
如果否,則所述方法結(jié)束。
所述第二確定模塊820可以被進一步配置為:根據(jù)所述矩形的范圍來確定包含所述目標的矩形中的最末級矩形x。
本發(fā)明實施例具有以下有益效果:能適應互聯(lián)網(wǎng)環(huán)境下的反向地理編碼應用,并且處理速度快且準確性高。
圖9示意性地示出了根據(jù)本發(fā)明的實施例用于基于四叉樹結(jié)構(gòu)確定目標在特定區(qū)域中的地理位置的系統(tǒng)900的示意圖。系統(tǒng)900包括處理器910,例如,數(shù)字信號處理器(dsp)。處理器910可以是用于執(zhí)行本文所描述的過程的不同動作的單個裝置或多個裝置。系統(tǒng)900還可以包括輸入/輸出(i/o)裝置930,用于從其他實體接收信號或者向其他實體發(fā)送信號。
此外,系統(tǒng)900包括存儲器920,該存儲器920可以具有以下形式:非易失性或易失性存儲器,例如,電可擦除可編程只讀存儲器(eeprom)、閃存等。存儲器920存儲計算機可讀指令,當處理器910執(zhí)行該計算機可讀指令時,該計算機可讀指令使處理器執(zhí)行本文所述的動作。
本發(fā)明實施例具有以下有益效果:能適應互聯(lián)網(wǎng)環(huán)境下的反向地理編碼應用,并且處理速度快且準確性高。
以上的詳細描述通過使用示意圖、流程圖和/或示例,已經(jīng)闡述了檢查方法和系統(tǒng)的眾多實施例。在這種示意圖、流程圖和/或示例包含一個或多個功能和/或操作的情況下,本領(lǐng)域技術(shù)人員應理解,這種示意圖、流程圖或示例中的每一功能和/或操作可以通過各種結(jié)構(gòu)、硬件、軟件、固件或?qū)嵸|(zhì)上它們的任意組合來單獨和/或共同實現(xiàn)。在一個實施例中,本發(fā)明的實施例所述主題的若干部分可以通過專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、數(shù)字信號處理器(dsp)、或其他集成格式來實現(xiàn)。然而,本領(lǐng)域技術(shù)人員應認識到,這里所公開的實施例的一些方面在整體上或部分地可以等同地實現(xiàn)在集成電路中,實現(xiàn)為在一臺或多臺計算機上運行的一個或多個計算機程序(例如,實現(xiàn)為在一臺或多臺計算機系統(tǒng)上運行的一個或多個程序),實現(xiàn)為在一個或多個處理器上運行的一個或多個程序(例如,實現(xiàn)為在一個或多個微處理器上運行的一個或多個程序),實現(xiàn)為固件,或者實質(zhì)上實現(xiàn)為上述方式的任意組合,并且本領(lǐng)域技術(shù)人員根據(jù)本公開,將具備設(shè)計電路和/或?qū)懭胲浖?或固件代碼的能力。此外,本領(lǐng)域技術(shù)人員將認識到,本公開所述主題的機制能夠作為多種形式的程序產(chǎn)品進行分發(fā),并且無論實際用來執(zhí)行分發(fā)的信號承載介質(zhì)的具體類型如何,本公開所述主題的示例性實施例均適用。信號承載介質(zhì)的示例包括但不限于:可記錄型介質(zhì),如軟盤、硬盤驅(qū)動器、緊致盤(cd)、數(shù)字通用盤(dvd)、數(shù)字磁帶、計算機存儲器等;以及傳輸型介質(zhì),如數(shù)字和/或模擬通信介質(zhì)(例如,光纖光纜、波導、有線通信鏈路、無線通信鏈路等)。
雖然已參照幾個典型實施例描述了本發(fā)明,但應當理解,所用的術(shù)語是說明和示例性、而非限制性的術(shù)語。由于本發(fā)明能夠以多種形式具體實施而不脫離發(fā)明的精神或?qū)嵸|(zhì),所以應當理解,上述實施例不限于任何前述的細節(jié),而應在隨附權(quán)利要求所限定的精神和范圍內(nèi)廣泛地解釋,因此落入權(quán)利要求或其等效范圍內(nèi)的全部變化和改型都應為隨附權(quán)利要求所涵蓋。