專利名稱:定位裝置及其定位方法
技術領域:
本發(fā)明涉及一種定位裝置及其定位方法,特別是涉及一種適用于區(qū)域監(jiān)控的定位裝置及其定位方法。
背景技術:
定位裝置是將全球衛(wèi)星定位GPS技術、現代化的全球移動通訊系統(tǒng)GSM技術、地理信息系統(tǒng)GIS技術、WEB技術和計算機通訊技術相結合,將裝有GPS接收機的移動目標的動態(tài)位置(經度、緯度)、時間、狀態(tài)等信息實時地通過GSM無線通訊網絡傳送至監(jiān)控中心,而后在信息完備的電子地圖上進行移動目標軌跡的顯示,并對目標的位置、速度、運動方向、 監(jiān)控目標狀態(tài)等參數進行監(jiān)控和查詢。由于被監(jiān)控物往往會被限制在一個區(qū)域中運動,所以定位裝置經常需要判斷被監(jiān)控物是否在這一個區(qū)域中,如果被監(jiān)控物位于區(qū)域之外,則定位裝置可以給外部發(fā)出提醒, 在判斷被監(jiān)控物是否在某個區(qū)域時,實際上與判斷一個點是否處于一個2維平面多邊形內是相同的,目前現有的定位裝置中常用的方法有以下兩種I、交點數法
·
該方法以需判別的點為端點向任意方向作射線,然后計算它與多邊形邊界的交點數,當交點數為奇數時,點在多邊形內;若是偶數,則點在多邊形外。2、卷繞數法關于某個點的卷繞數,是一個整數,它表示平面上的閉曲線繞過該點的總次數。卷繞數與曲線的定向有關,如果曲線沿逆時針方向繞過某個點,則卷繞數是正數,反之則為負數。此方法計算多邊形繞過待判點的總次數(即多邊形關于待判點的卷繞數),如果該卷繞數為0,則點在多邊形外;否則,點在多邊形內。如果多邊形比較簡單,那么上述兩種方法對任意點都可以給出相同的判斷結果。 但是當多邊形比較復雜時(例如自相交多邊形),那么對于某些點,這兩種方法可能會給出不同的判斷結果。例如,如圖I所示一個有部分區(qū)域重疊的自相交多邊形,如果待判點在重疊區(qū)域內,則交點數法由于檢測到的交點為偶數,則會認為該點在多邊形外,而卷繞數由于大于零,所以會認定為在多邊形內。此例中,當待判點在重疊區(qū)域中,其卷繞數等于2,可以理解為該待判點在多邊形內2次(上下重疊區(qū)域各I次)。在復雜區(qū)域中來說,卷繞數法得出的結果比交點數法的更準確、更直觀。但是由于卷繞數計算中需要計算大量的角度,從而會涉及大量的浮點數的運算,所以卷繞數法的運算效率比較低,所以交點數法仍然是大家最常使用的方法。顯然,無論哪種方法都有缺陷,交點數法準確性差,卷繞數法運算效率差。
發(fā)明內容
本發(fā)明要解決的技術問題是為了克服現有技術在判斷被監(jiān)控物是否在某個區(qū)域時,交點數法準確性差,卷繞數法運算效率差的缺陷,提供一種定位裝置及其定位方法,提高了定位裝置的運算效率,減少了能耗。本發(fā)明是通過下述技術方案來解決上述技術問題的本發(fā)明提供了一種定位裝置,其特點是所述定位裝置包括一多邊形生成單元,用于讀入地圖數據并生成多邊形的頂點序列以及由所述頂點序列構成的一邊界向量組;一測量位置單元,用于測量并讀入被測物的位置數據;一射線生成單元,用于在所述多邊形構成的平面內,從所述被測物的位置開始向任一方向生成射線;一相交檢測單元,用于檢測所述邊界向量組中的邊界向量是否與所述射線相交;
一卷繞數計算單元,用于檢測所述被測物的位置處于所述與射線相交的邊界向量方向的順時針方向還是逆時針方向,并相應地減少或增加卷繞數。較佳地,所述定位裝置還包括一存儲單元,用于存儲所述卷繞數和頂點序列。較佳地,所述卷繞數計算單元用于計算所述與射線相交的邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘,并依據叉乘結果是小于零還是大于零來相應地減少或增加卷繞數。較佳地,所述射線生成單元用于沿坐標軸的橫軸方向從所述被測物的位置生成射線。較佳地,所述相交檢測單元用于檢測所述被測物的位置是否在所述邊界向量組中一邊界向量的左側并檢測所述射線在坐標軸的縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中。較佳地,所述相交檢測單元計算所述邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘是否大于零。本發(fā)明還提供了一種如上所述的定位裝置的定位方法,其特點是包括以下步驟Sltll、所述多邊形生成單元讀入地圖數據并生成多邊形的頂點序列以及由所述頂點序列構成的一邊界向量組;Sltl2、所述測量位置單元測量并讀入被測物的位置數據;Sltl3、所述射線生成單元在所述多邊形構成的平面內,從所述被測物的位置開始向任一方向生成射線;Sltl4、從所述邊界向量組中選擇一條邊界向量,并且所述相交檢測單元檢測所述射線是否與所述邊界向量相交,若檢測結果為是,則進入步驟Sltl5,否則重復步驟Sltl4 ;Sltl5、所述卷繞數計算單元檢測所述被測物的位置處于所述與射線相交的邊界向量方向的順時針方向還是逆時針方向,并相應地減少或增加卷繞數,并返回步驟S1(l4。較佳地,所述定位裝置還包括一存儲單元,并在步驟Sltl5中還包括以下步驟所述存儲單元存儲所述卷繞數。較佳地,所述定位方法中步驟S皿還包括以下步驟所述存儲單元存儲所述頂點序列。較佳地,所述卷繞數計算單元用于計算所述與射線相交的邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘,并在步驟Sltl5中包括以下步驟Sltl51、計算所述邊界向量的起始頂點到所述被測物的位置的向量;
Sltl52,將所述向量與所述邊界向量叉乘;Sltl53,檢測所述叉乘結果是否大于零,若檢測結果為是,則減少卷繞數,并返回步驟 S104,否則進入步驟Sltl54 ;Sltl54,檢測所述叉乘結果是否小于零,若檢測結果為是,則增加卷繞數,并返回步驟
S104O較佳地,所述射線生成單元用于沿坐標軸的橫軸方向從所述被測物的位置生成射線,并在步驟Sltl3中包括以下步驟所述射線生成單元沿坐標軸的橫軸方向從所述被測物的位置生成射線。較佳地,所述相交檢測單元用于檢測所述被測物的位置是否在所述邊界向量組中一邊界向量的左側并檢測所述射線在坐標軸的縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中,并在步驟Sltl4中包括以下步驟Sltl41、所述相交檢測單元檢測所述被測物的位置是否在所述邊界向量組中一邊界向量的左側; Sltl42、檢測所述射線在縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中,若檢測結果為是,則進入步驟Sltl5,否則重復步驟s1(l41。本發(fā)明的積極進步效果在于本發(fā)明的定位裝置及其定位方法通過采用射線生成單元、相交檢測單元和卷繞數計算單元,在保證了判斷被監(jiān)控物是否在某個區(qū)域的準確性的同時,減少并簡化了計算,從而提高了定位裝置的運算效率,因而提高了定位裝置的反應速度并有效的減少了能源的損耗。
圖I為在重疊區(qū)域包含待判點的自相交多邊形圖。圖2為本發(fā)明的定位裝置的較佳實施例的電路結構框圖。圖3為本發(fā)明的定位方法的較佳實施例的流程圖。
具體實施例方式下面結合附圖給出本發(fā)明較佳實施例,以詳細說明本發(fā)明的技術方案。本發(fā)明的定位裝置包括一多邊形生成單元、一測量位置單元、一射線生成單元、一相交檢測單元和一卷繞數計算單元。其中所述多邊形生成單元用于讀入地圖數據并生成多邊形的頂點序列以及由所述頂點序列構成的一邊界向量組,從而將地圖數據轉化為一多邊形。所述測量位置單元用于測量并讀入被測物的位置數據。從而去頂被測物在地圖上的位置。所述射線生成單元用于在所述多邊形構成的平面內,從所述被測物的位置開始向任一方向生成射線。確定了計算卷繞數的起始軸。所述相交檢測單元用于檢測所述邊界向量組中的邊界向量是否與所述射線相交。 即檢測多邊形經過所述射線確定的起始軸的次數。所述卷繞數計算單元,用于檢測所述被測物的位置處于所述與射線相交的邊界向量方向的順時針方向還是逆時針方向,并相應地減少或增加卷繞數。即確定多邊形每次經過所述射線確定的起始軸的方向,從而確定了卷繞數。本發(fā)明的定位裝置較佳地還包含用于存儲所述卷繞數和頂點序列的一存儲單元。因而本發(fā)明的定位裝置在結合了交點數法運算效率高和卷繞數法準確度高的優(yōu)點的同時,克服了卷繞數法中存在大量關于角度的浮點運算和交點數法不能處理復雜多邊形的缺陷。實施例圖2所示為本發(fā)明的定位裝置的電路結構框圖,其中包括一多邊形生成單元I、一測量位置單元2、一射線生成單元3、一相交檢測單元4、一卷繞數計算單元5和一存儲單元 6。其中本實施例中所述多邊形生成單元I讀入地圖數據并生成如圖I所示的多邊形的頂點序列Arr ay (V0 VIV2 V3 V4V5 V6 V7 V8 V0)以及由所述頂點序列構成的一邊界向量組 Vector_Group [V0V1, V1V2, V2V3, V3V4, V4V5, V5V6, V6V7, V7V8, V8V0]。
所述測量位置單元2測量并讀入被測物的位置數據,即確定所述被測物與所述多邊形的位置關系。所述射線生成單元3在所述多邊形構成的平面內,從所述被測物的位置開始向任一方向生成射線。如圖I所示,在本實施例中所述射線生成單元3沿坐標軸的橫軸方向從所述被測物的位置生成射線。所述相交檢測單元4用于檢測所述邊界向量組Vector_Group中的邊界向量是否與所述射線相交。本實施例中由于射線沿坐標軸的橫軸方向,所以所述相交檢測單元4檢測所述被測物的位置是否在所述邊界向量的左側并檢測所述射線在坐標軸的縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中,從而確定了邊界向量組 Vect0r_Gr0Up中所有與所述射線相交的邊界向量。本實施例中采用上述方式來射線是否與邊界向量相交,此外,還可以根據采用的射線的不同,采用不同的具有其他不同的計算方式的單元來實現上述相交檢測。所述卷繞數計算單元5用于檢測所述被測物的位置處于所述與射線相交的邊界向量方向的順時針方向還是逆時針方向,并相應地減少或增加卷繞數。本實施例中所述卷繞數計算單元計算所述與射線相交的邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘,并依據叉乘結果是小于零還是大于零來相應地減少或增加卷繞數fc。 從而確定了被測物與多邊形的卷繞數ffn。因而確定了被測物與多邊形的關系。本實施例中采用上述方式來檢測邊界向量相對于被測物的位置是順時針向還是逆時針方向,此外用戶還可以根據采用的射線的不同,采用不同的具有其他不同的計算方式的單元來實現相同的計算卷繞數的目的。此外所述存儲單元6用于存儲所述卷繞數Wn和頂點序列Array。本實施例的工作原理如下首先多邊形生成單元I讀入地圖數據并生成多邊形的頂點序列 Array (V0V1V2V3V4V5V6V7V8V0)以及由所述頂點序列構成的一邊界向量組Vector_ Group [V0V1, V1V2, V2V3, V3V4, V4V5, V5V6, V6V7, V7V8, V8V0]。然后所述測量位置單元2測量并讀入被測物的位置數據,并且所述射線生成單元 3沿坐標軸的橫軸方向從所述被測物的位置生成射線。
此后,相交檢測單元4檢測所述被測物的位置是否在所述邊界向量組Vector Group中的邊界向量的左側并檢測所述射線在坐標軸的縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中,從而確定了邊界向量組Vector_Group中所有與所述射線相交的邊界向量。最后,所述卷繞數計算單元5計算所述與射線相交的邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘,并依據叉乘結果是小于零還是大于零來相應地減少或增加卷繞數Wn。圖3為本發(fā)明的定位裝置的定位方法的流程圖,其中包括以下步驟步驟101,所述多邊形生成單元讀入地圖數據并生成多邊形的頂點序列以及由所述頂點序列構成的一邊界向量組,所述存儲單元存儲所述頂點序列。步驟102,所述測量位置單元測量并讀入被測物的位置數據。步驟103,所述射線生成單元在所述多邊形構成的平面內,沿坐標軸的橫軸方向從所述被測物的位置生成射線。步驟104,從所述邊界向量組中選擇一條邊界向量,檢測是否是最后一條邊界向量,若檢測結果為 是,則進入步驟105,否則流程結束。步驟105,相交檢測單元檢測所述被測物的位置是否在所述邊界向量的左側,若檢測結果為是,則進入步驟106,否則重復步驟104。步驟106,檢測所述射線在縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中,若檢測結果為是,則進入步驟107,否則重復步驟104。步驟107,計算所述邊界向量的起始頂點到所述被測物的位置的向量,并將所述向量與所述邊界向量叉乘。步驟108,檢測所述叉乘結果是否大于零,若檢測結果為是,則減少卷繞數,所述存儲單元存儲所述卷繞數,并返回步驟104,否則進入步驟109。步驟109,檢測所述叉乘結果是否小于零,若檢測結果為是,則增加卷繞數,所述存儲單元存儲所述卷繞數,并返回步驟104,否則返回步驟104。通過上述流程后,可以根據最終得到的卷繞數判斷被測物的位置是否在多邊形內,例如,若卷繞數大于零,則被測物的位置在多邊形內,否則被測物的位置不在多邊形內。雖然以上描述了本發(fā)明的具體實施方式
,但是本領域的技術人員應當理解,這些僅是舉例說明,本發(fā)明的保護范圍是由所附權利要求書限定的。本領域的技術人員在不背離本發(fā)明的原理和實質的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護范圍。
權利要求
1.一種定位裝置,其特征在于,所述定位裝置包括 一多邊形生成單元,用于讀入地圖數據并生成多邊形的頂點序列以及由所述頂點序列構成的一邊界向量組; 一測量位置單元,用于測量并讀入被測物的位置數據; 一射線生成單元,用于在所述多邊形構成的平面內,從所述被測物的位置開始向任一方向生成射線; 一相交檢測單元,用于檢測所述邊界向量組中的邊界向量是否與所述射線相交; 一卷繞數計算單元,用于檢測所述被測物的位置處于所述與射線相交的邊界向量方向的順時針方向還是逆時針方向,并相應地減少或增加卷繞數。
2.如權利要求I所述的定位裝置,其特征在于,所述定位裝置還包括一存儲單元,用于存儲所述卷繞數和頂點序列。
3.如權利要求I所述的定位裝置,其特征在于,所述卷繞數計算單元用于計算所述與射線相交的邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘,并依據叉乘結果是小于零還是大于零來相應地減少或增加卷繞數。
4.如權利要求I所述的定位裝置,其特征在于,所述射線生成單元用于沿坐標軸的橫軸方向從所述被測物的位置生成射線。
5.如權利要求4所述的定位裝置,其特征在于,所述相交檢測單元用于檢測所述被測物的位置是否在所述邊界向量組中一邊界向量的左側并檢測所述射線在坐標軸的縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中。
6.如權利要求5所述的定位裝置,其特征在于,所述相交檢測單元計算所述邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘是否大于零。
7.—種如權利要求I所述的定位裝置的定位方法,其特征在于包括以下步驟 Sltll、所述多邊形生成單元讀入地圖數據并生成多邊形的頂點序列以及由所述頂點序列構成的一邊界向量組; Sltl2、所述測量位置單元測量并讀入被測物的位置數據; Sltl3、所述射線生成單元在所述多邊形構成的平面內,從所述被測物的位置開始向任一方向生成射線; Sltl4、從所述邊界向量組中選擇一條邊界向量,并且所述相交檢測單元檢測所述射線是否與所述邊界向量相交,若檢測結果為是,則進入步驟Sltl5,否則重復步驟Sltl4 ; Sltl5、所述卷繞數計算單元檢測所述被測物的位置處于所述與射線相交的邊界向量方向的順時針方向還是逆時針方向,并相應地減少或增加卷繞數,并返回步驟Sltl4t5
8.如權利要求7所述的定位方法,其特征在于,所述定位裝置還包括一存儲單元,并在步驟Sltl5中還包括以下步驟 所述存儲單元存儲所述卷繞數。
9.如權利要求8所述的定位方法,其特征在于,所述定位方法中步驟Sltll還包括以下步驟 所述存儲單元存儲所述頂點序列。
10.如權利要求7所述的定位方法,其特征在于,所述卷繞數計算單元用于計算所述與射線相交的邊界向量與所述邊界向量的起始頂點到所述被測物的位置的向量叉乘,并在步驟Sltl5中包括以下步驟 Sltl51、計算所述邊界向量的起始頂點到所述被測物的位置的向量; Sltl52,將所述向量與所述邊界向量叉乘; S1053,檢測所述叉乘結果是否大于零,若檢測結果為是,則減少卷繞數,并返回步驟Sltl4,否則進入步驟Sltl54 ; S1054,檢測所述叉乘結果是否小于零,若檢測結果為是,則增加卷繞數,并返回步驟s1(l4。
11.如權利要求7所述的定位方法,其特征在于,所述射線生成單元用于沿坐標軸的橫軸方向從所述被測物的位置生成射線,并在步驟Sltl3中包括以下步驟 所述射線生成單元沿坐標軸的橫軸方向從所述被測物的位置生成射線。
12.如權利要求11所述的定位方法,其特征在于,所述相交檢測單元用于檢測所述被測物的位置是否在所述邊界向量組中一邊界向量的左側并檢測所述射線在坐標軸的縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中,并在步驟Sltl4中包括以下步驟 Sltl41、所述相交檢測單元檢測所述被測物的位置是否在所述邊界向量組中一邊界向量的左側; Sltl42、檢測所述射線在縱軸的值是否在所述邊界向量的兩個頂點在所述縱軸的值所構成的范圍中,若檢測結果為是,則進入步驟Sltl5,否則重復步驟S_。
全文摘要
本發(fā)明公開了一種定位裝置及其定位方法,所述定位裝置包括一多邊形生成單元,用于讀入地圖數據并生成多邊形的頂點序列以及由所述頂點序列構成的一邊界向量組;一測量位置單元,用于測量并讀入被測物的位置數據;一射線生成單元,用于在所述多邊形構成的平面內,從所述被測物的位置開始向任一方向生成射線;一相交檢測單元,用于檢測所述邊界向量組中的邊界向量是否與所述射線相交;一卷繞數計算單元,用于檢測所述被測物的位置處于所述與射線相交的邊界向量方向的順時針方向還是逆時針方向,并相應地減少或增加卷繞數。本發(fā)明的定位裝置及其定位方法提高了定位裝置的運算效率和定位裝置的反應速度并有效的減少了能源的損耗。
文檔編號G01S19/42GK102707301SQ20111007585
公開日2012年10月3日 申請日期2011年3月28日 優(yōu)先權日2011年3月28日
發(fā)明者周玨, 宋春華 申請人:上海英迪信息技術有限公司