一种判断目标点是否位于预定区域内的方法及系统技术方案

技术编号:13977005 阅读:116 留言:0更新日期:2016-11-11 17:18
本发明专利技术公开了一种判断目标点是否位于预定区域内的方法及系统,所述方法包括:预设在地球表面设定一个区域为预定区域,将地球表面切分为东西半球两部分,则所述预定区域被切分为1到多个子区域;判断目标点是否位于某子区域内,若是则目标点位于所述预定区域内,否则目标点位于所述预定区域外。本发明专利技术采用整数表示坐标点的经纬度,经纬度以1/1000000度为单位取整,避免了大量的浮点运算,提高了计算效率。

【技术实现步骤摘要】

本专利技术涉及计算机图形
,特别涉及一种判断目标点是否位于预定区域内的方法及系统
技术介绍
在LBS业务中,判断地图上某坐标点是否位于指定简单区域内是一项普遍的业务需求,公开的相关技术资料较少,业界主要参考判断平面上某坐标点是否位于指定简单多边形内的算法构建自己的算法。判断平面上某坐标点是否位于指定简单多边形内的经典算法是Ray casting算法与Winding number算法,算法都比较简单,时间复杂度都为O(n),效率很高。但是,Ray casting算法与Winding number算法中,点的坐标采用浮点类型表示,所有计算均为浮点计算,并且每次迭代都要进行乘除运算计算交点坐标再与参考点进行比较,增加了计算开销。因而现有技术还有待改进和提高。
技术实现思路
本专利技术要解决的技术问题在于,提供一种判断目标点是否位于预定区域内的方法及系统,以解决现有的判定方法存在的计算量大,速度慢的问题。为了解决上述技术问题,本专利技术所采用的技术方案如下:一种判断目标点是否位于预定区域内的方法,其包括:预先在地球表面建立地理坐标系,并在所述地理坐标系内设定一个区域为预定区域,其中,所述地理坐标系内点的经纬度坐标以1/1000000度为单位取整;将所述预定区域按东西半球切分为若干子区域,并判断是否存在包含所述目标点的子区域;若存在包含所述目标点的子区域,则所述目标点位于所述预定区域内;若不存在包含所述目标点的子区域,则所述目标点位于所述预定区域外。所述判断目标点是否位于预定区域内的方法,其中,所述存在包含所述目标点的子区域具体为:所述目标点位于所述子区域内或位于所述子区域的边界上。所述判断目标点是否位于预定区域内的方法,其中,所述将所述预定区域按东西半球切分为若干子区域与并判断是否存在包含所述目标点的子区域之间包括;判断切分后的子区域是否包含极点;若子区域包含极点,则将极点添加到子区域的顶点序列。所述判断目标点是否位于预定区域内的方法,其中,所述将所述预定区域按东西半球切分为若干子区域,并判断是否存在包含所述目标点的子区域具体包括:将所述预定区域按东西半球切分为若干子区域,并确定目标点所属半球,其中,所述半球为东半球或西半球;判断目标点是否位于其所属半球的子区域内。所述判断目标点是否位于预定区域内的方法,其中,所述判断目标点是否位于其所属半球的子区域内具体包括:在目标点所属半球内以目标点为端点引一条纬度线;获取纬度线与所述子区域的边界的有效交点数,并判断所述有效交点数的奇偶性;若所述有效交点数为奇数,则目标点位于所述子区域内,若所述有效交点数为偶数,则目标点位于所述子区域外。所述判断目标点是否位于预定区域内的方法,其中,所述获取所述纬度线与子区域的边界的有效交点数具体包括:依次获取所述纬度线与子区域的每条边线的有效交点数;根据纬度线与每条边线的有效交点数,确定纬度线与子区域的边界的有效交点数。所述判断目标点是否位于预定区域内的方法,其中,所述依次获取所述纬度线与子区域的每条边线的有效交点数具体包括:判断目标点经纬与每条边线两端点经纬度的关系;根据所述目标点经纬度与每条边线两端点经纬度的关系获取所述纬度线与子区域的每条边线的有效交点数。一种判断目标点是否位于预定区域内的系统,其包括:预设模块,预先在地球表面建立地理坐标系,并在所述地理坐标系内设定一个区域为预定区域,其中,所述地理坐标系内点的经纬度坐标以1/1000000度为单位取整;划分模块,用于将所述预定区域按东西半球切分为若干子区域,并判断是否存在包含所述目标点的子区域;第一判定模块,用于当存在包含所述目标点的子区域时,判定所述目标点位于所述预定区域内;第二判定模块,用于当不存在包含所述目标点的子区域时,判断所述目标点位于所述预定区域外。所述判断目标点是否位于预定区域内的系统,其还包括:判断模块,用于判断所述子区域是否包含极点,并当所述子区域包含极点时,将极点加入子区域的顶点序列。所述判断目标点是否位于预定区域内的系统,所述存在包含所述目标点的子区域具体为:所述目标点位于所述子区域内或目标点位于所述子区域的边界上。本专利技术提供了一种判断目标点是否位于预定区域内的方法及系统,所述方法包括预设在地球表面设定一个区域为预定区域,将地球表面切分为东西半球两部分,则所述预定区域被切分为1到多个子区域;判断目标点是否位于某子区域内,若是则目标点位于所述预定区域内,否则目标点位于所述预定区域外。本专利技术预先建立地理坐标系,并在地理坐标系中判断目标点是否位于指定简单区域内,并且所述地理坐标系采用整数表示坐标点的经纬度,经纬度以1/1000000度为单位取整;解决了现有判断方法仅能基于平面坐标系,及浮点运算过多的问题,提高了计算效率。附图说明图1为本专利技术提供的判断目标点是否位于预定区域的方法较佳实施的流程图。图2为本专利技术提供的判断目标点是否位于预定区域的系统的结构原理图。具体实施方式本专利技术提供一种判断目标点是否位于预定区域内的方法及系统,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。下面结合附图,通过对实施例的描述,对
技术实现思路
作进一步说明。请参照图1,图1为本专利技术提供一种判断目标点是否位于预定区域内的方法的较佳实施例的流程图。所述方法包括:S100、预先在地球表面建立地理坐标系,并在所述地理坐标系内设定一个区域为预定区域,其中,所述地理坐标系内点的经纬度坐标以1/1000000度为单位取整。具体地,所述地理坐标系(又称经纬度坐标系)指的是以经度与纬度的合称组成一个坐标系统,其可以是利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。经度是地球上一个地点离一根被称为本初子午线的南北方向走线以东或以西的度数。纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在-90至90度之间。它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。在本实施例中,所述地理坐标系是以赤道与穿过格林威治的经线的交点为原点,以赤道为x轴,以穿过格林威治的经线为y轴,所述地理坐标系内点的经纬度坐标以1/1000000度为单位取整。进一步,在所述地理坐标系内设定一个区域为预定区域。所述预定区域用于判断是否包含所述目标点的区域。也就是说,本方法是用于判断目标点是否属于所述预定区域内的。在本实施例中,所述预定区域指定是由不相互交叉的地球线段连接成闭合线路所围成的球面图形,如洲界、国界、行政区边界等。所述地球线段指的是地球球面上任意两点A、B与球心o决定的平面与地球球面相交的圆周上A、B间较短的那段圆弧。S200、将所述预定区域按东西半球切分为若干子区域,并判断是否存在包含所述目标点的子区域。具体地,首先将地球表面划分为东西半球,然后按照东西半球的划分方法将预设区域划分为若干子区域,其中,所述若干子区域部分属于东半球,部分属于西半球。然后判断东半球包含的子区域或西半球包含的子区域是否存在包含所述目标点的子区域。值得说明的是,在本实施中为了方便说明,将所述地理坐标系划分为东西两个半球,也就是采用通过0度经线和本文档来自技高网
...

【技术保护点】
一种判断目标点是否位于预定区域内的方法,其特征在于,其包括:预先在地球表面建立地理坐标系,并在所述地理坐标系内设定一个区域为预定区域,其中,所述地理坐标系内点的经纬度坐标以1/1000000度为单位取整;将所述预定区域按东西半球切分为若干子区域,并判断是否存在包含所述目标点的子区域;若存在包含所述目标点的子区域,则所述目标点位于所述预定区域内;若不存在包含所述目标点的子区域,则所述目标点位于所述预定区域外。

【技术特征摘要】
1.一种判断目标点是否位于预定区域内的方法,其特征在于,其包括:预先在地球表面建立地理坐标系,并在所述地理坐标系内设定一个区域为预定区域,其中,所述地理坐标系内点的经纬度坐标以1/1000000度为单位取整;将所述预定区域按东西半球切分为若干子区域,并判断是否存在包含所述目标点的子区域;若存在包含所述目标点的子区域,则所述目标点位于所述预定区域内;若不存在包含所述目标点的子区域,则所述目标点位于所述预定区域外。2.根据权利要求1所述判断目标点是否位于预定区域内的方法,其特征在于,所述存在包含所述目标点的子区域具体为:所述目标点位于所述子区域内或目标点位于所述子区域的边界上。3.根据权利要求1所述判断目标点是否位于预定区域内的方法,其特征在于,所述将所述预定区域按东西半球切分为若干子区域与并判断是否存在包含所述目标点的子区域之间包括;判断切分后的子区域是否包含极点;若子区域包含极点,则将极点添加到子区域的顶点序列。4.根据权利要求1所述判断目标点是否位于预定区域内的方法,其特征在于,所述将所述预定区域按东西半球切分为若干子区域,并判断是否存在包含所述目标点的子区域具体包括:将所述预定区域按东西半球切分为若干子区域,并确定目标点所属半球,其中,所述半球为东半球或西半球;判断目标点是否位于其所属半球的子区域内。5.根据权利要求4所述判断目标点是否位于预定区域内的方法,其特征在于,所述判断目标点是否位于其所属半球的子区域内具体包括:在目标点所属半球内以目标点为端点引一条纬度线;获取纬度线与所述子区域的边界的有效交点数,并判断所述有效交点数的奇偶性;若所述有效交点数为奇数,则目标点位于所述...

【专利技术属性】
技术研发人员:周志文孙晓辉郭远勤向杰
申请(专利权)人:深圳市麦谷科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1