专利名称:定位装置及其定位方法
技术领域:
本发明涉及一种定位装置及其定位方法,特别是涉及一种适用于区域监控的定位装置及其定位方法。
背景技术:
定位装置是将全球卫星定位GPS技术、现代化的全球移动通讯系统GSM技术、地理信息系统GIS技术、WEB技术和计算机通讯技术相结合,将装有GPS接收机的移动目标的动态位置(经度、纬度)、时间、状态等信息实时地通过GSM无线通讯网络传送至监控中心,而后在信息完备的电子地图上进行移动目标轨迹的显示,并对目标的位置、速度、运动方向、 监控目标状态等参数进行监控和查询。由于被监控物往往会被限制在一个区域中运动,所以定位装置经常需要判断被监控物是否在这一个区域中,如果被监控物位于区域之外,则定位装置可以给外部发出提醒, 在判断被监控物是否在某个区域时,实际上与判断一个点是否处于一个2维平面多边形内是相同的,目前现有的定位装置中常用的方法有以下两种I、交点数法
·
该方法以需判别的点为端点向任意方向作射线,然后计算它与多边形边界的交点数,当交点数为奇数时,点在多边形内;若是偶数,则点在多边形外。2、卷绕数法关于某个点的卷绕数,是一个整数,它表示平面上的闭曲线绕过该点的总次数。卷绕数与曲线的定向有关,如果曲线沿逆时针方向绕过某个点,则卷绕数是正数,反之则为负数。此方法计算多边形绕过待判点的总次数(即多边形关于待判点的卷绕数),如果该卷绕数为0,则点在多边形外;否则,点在多边形内。如果多边形比较简单,那么上述两种方法对任意点都可以给出相同的判断结果。 但是当多边形比较复杂时(例如自相交多边形),那么对于某些点,这两种方法可能会给出不同的判断结果。例如,如图I所示一个有部分区域重叠的自相交多边形,如果待判点在重叠区域内,则交点数法由于检测到的交点为偶数,则会认为该点在多边形外,而卷绕数由于大于零,所以会认定为在多边形内。此例中,当待判点在重叠区域中,其卷绕数等于2,可以理解为该待判点在多边形内2次(上下重叠区域各I次)。在复杂区域中来说,卷绕数法得出的结果比交点数法的更准确、更直观。但是由于卷绕数计算中需要计算大量的角度,从而会涉及大量的浮点数的运算,所以卷绕数法的运算效率比较低,所以交点数法仍然是大家最常使用的方法。显然,无论哪种方法都有缺陷,交点数法准确性差,卷绕数法运算效率差。
发明内容
本发明要解决的技术问题是为了克服现有技术在判断被监控物是否在某个区域时,交点数法准确性差,卷绕数法运算效率差的缺陷,提供一种定位装置及其定位方法,提高了定位装置的运算效率,减少了能耗。本发明是通过下述技术方案来解决上述技术问题的本发明提供了一种定位装置,其特点是所述定位装置包括一多边形生成单元,用于读入地图数据并生成多边形的顶点序列以及由所述顶点序列构成的一边界向量组;一测量位置单元,用于测量并读入被测物的位置数据;一射线生成单元,用于在所述多边形构成的平面内,从所述被测物的位置开始向任一方向生成射线;一相交检测单元,用于检测所述边界向量组中的边界向量是否与所述射线相交;
一卷绕数计算单元,用于检测所述被测物的位置处于所述与射线相交的边界向量方向的顺时针方向还是逆时针方向,并相应地减少或增加卷绕数。较佳地,所述定位装置还包括一存储单元,用于存储所述卷绕数和顶点序列。较佳地,所述卷绕数计算单元用于计算所述与射线相交的边界向量与所述边界向量的起始顶点到所述被测物的位置的向量叉乘,并依据叉乘结果是小于零还是大于零来相应地减少或增加卷绕数。较佳地,所述射线生成单元用于沿坐标轴的横轴方向从所述被测物的位置生成射线。较佳地,所述相交检测单元用于检测所述被测物的位置是否在所述边界向量组中一边界向量的左侧并检测所述射线在坐标轴的纵轴的值是否在所述边界向量的两个顶点在所述纵轴的值所构成的范围中。较佳地,所述相交检测单元计算所述边界向量与所述边界向量的起始顶点到所述被测物的位置的向量叉乘是否大于零。本发明还提供了一种如上所述的定位装置的定位方法,其特点是包括以下步骤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。本发明的积极进步效果在于本发明的定位装置及其定位方法通过采用射线生成单元、相交检测单元和卷绕数计算单元,在保证了判断被监控物是否在某个区域的准确性的同时,减少并简化了计算,从而提高了定位装置的运算效率,因而提高了定位装置的反应速度并有效的减少了能源的损耗。
图I为在重叠区域包含待判点的自相交多边形图。图2为本发明的定位装置的较佳实施例的电路结构框图。图3为本发明的定位方法的较佳实施例的流程图。
具体实施例方式下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。本发明的定位装置包括一多边形生成单元、一测量位置单元、一射线生成单元、一相交检测单元和一卷绕数计算单元。其中所述多边形生成单元用于读入地图数据并生成多边形的顶点序列以及由所述顶点序列构成的一边界向量组,从而将地图数据转化为一多边形。所述测量位置单元用于测量并读入被测物的位置数据。从而去顶被测物在地图上的位置。所述射线生成单元用于在所述多边形构成的平面内,从所述被测物的位置开始向任一方向生成射线。确定了计算卷绕数的起始轴。所述相交检测单元用于检测所述边界向量组中的边界向量是否与所述射线相交。 即检测多边形经过所述射线确定的起始轴的次数。所述卷绕数计算单元,用于检测所述被测物的位置处于所述与射线相交的边界向量方向的顺时针方向还是逆时针方向,并相应地减少或增加卷绕数。即确定多边形每次经过所述射线确定的起始轴的方向,从而确定了卷绕数。本发明的定位装置较佳地还包含用于存储所述卷绕数和顶点序列的一存储单元。因而本发明的定位装置在结合了交点数法运算效率高和卷绕数法准确度高的优点的同时,克服了卷绕数法中存在大量关于角度的浮点运算和交点数法不能处理复杂多边形的缺陷。实施例图2所示为本发明的定位装置的电路结构框图,其中包括一多边形生成单元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为本发明的定位装置的定位方法的流程图,其中包括以下步骤步骤101,所述多边形生成单元读入地图数据并生成多边形的顶点序列以及由所述顶点序列构成的一边界向量组,所述存储单元存储所述顶点序列。步骤102,所述测量位置单元测量并读入被测物的位置数据。步骤103,所述射线生成单元在所述多边形构成的平面内,沿坐标轴的横轴方向从所述被测物的位置生成射线。步骤104,从所述边界向量组中选择一条边界向量,检测是否是最后一条边界向量,若检测结果为 是,则进入步骤105,否则流程结束。步骤105,相交检测单元检测所述被测物的位置是否在所述边界向量的左侧,若检测结果为是,则进入步骤106,否则重复步骤104。步骤106,检测所述射线在纵轴的值是否在所述边界向量的两个顶点在所述纵轴的值所构成的范围中,若检测结果为是,则进入步骤107,否则重复步骤104。步骤107,计算所述边界向量的起始顶点到所述被测物的位置的向量,并将所述向量与所述边界向量叉乘。步骤108,检测所述叉乘结果是否大于零,若检测结果为是,则减少卷绕数,所述存储单元存储所述卷绕数,并返回步骤104,否则进入步骤109。步骤109,检测所述叉乘结果是否小于零,若检测结果为是,则增加卷绕数,所述存储单元存储所述卷绕数,并返回步骤104,否则返回步骤104。通过上述流程后,可以根据最终得到的卷绕数判断被测物的位置是否在多边形内,例如,若卷绕数大于零,则被测物的位置在多边形内,否则被测物的位置不在多边形内。虽然以上描述了本发明的具体实施方式
,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
权利要求
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_。
全文摘要
本发明公开了一种定位装置及其定位方法,所述定位装置包括一多边形生成单元,用于读入地图数据并生成多边形的顶点序列以及由所述顶点序列构成的一边界向量组;一测量位置单元,用于测量并读入被测物的位置数据;一射线生成单元,用于在所述多边形构成的平面内,从所述被测物的位置开始向任一方向生成射线;一相交检测单元,用于检测所述边界向量组中的边界向量是否与所述射线相交;一卷绕数计算单元,用于检测所述被测物的位置处于所述与射线相交的边界向量方向的顺时针方向还是逆时针方向,并相应地减少或增加卷绕数。本发明的定位装置及其定位方法提高了定位装置的运算效率和定位装置的反应速度并有效的减少了能源的损耗。
文档编号G01S19/42GK102707301SQ20111007585
公开日2012年10月3日 申请日期2011年3月28日 优先权日2011年3月28日
发明者周珏, 宋春华 申请人:上海英迪信息技术有限公司