基于墨卡托投影的物联网设备位置数据区域筛选方法与流程

文档序号:17990327发布日期:2019-06-22 00:44阅读:396来源:国知局

本发明涉及基于物联网的设备定位管理技术领域,特别涉及一种基于墨卡托投影的物联网设备位置数据区域筛选方法。



背景技术:

如今是物联网飞速发展的时代,基于物联网提出的智能概念也在迅速崛起,很多针对弱势群体的物联网智能概念也在逐渐展开,各种能跟物联网终端设备联系起来的事物,其应用范围都在不断扩大,所有的管理逐渐变成了对设备的管理,设备记录着用户的几乎所有数据,而其中一个数据,就是位置,对于大量的位置数据,本专利通过利用相关技术,基于市面上常见的地图服务,通过获取行政区划范围,实现对于目标数据的较精细化的数据筛选,并结合相关存储技术,优化功能实现的执行效率,从而实现后台维护人员对各物联网设备位置信息的准确、快捷的管理,更加便于开展后期的售后等后续增值服务。



技术实现要素:

本发明的目的是克服上述背景技术中不足,提供一种基于墨卡托投影的物联网设备位置数据区域筛选方法,可实现对获取到的设备数据进行准确的行政区域定位。

为了达到上述的技术效果,本发明采取以下技术方案:

基于墨卡托投影的物联网设备位置数据区域筛选方法,包括以下步骤:

a.需进行设备位置数据区域筛选的目标经纬度坐标集合为a,目标行政区域的区域边界点的经纬度坐标集合为b,其中,集合b中共包含m个坐标点即b1至bm,b1至bm可围合出至少一个闭合区间,即目标行政区域所在区域;

b.从集合b中取出经度最大值、经度最小值、纬度最大值、纬度最小值,将集合a中的坐标点中经度值大于集合b中取出经度最大值或经度值小于集合b中取出经度最小值的坐标点过滤掉,同时,将集合a中的坐标点中纬度值大于集合b中取出纬度最大值或纬度值小于集合b中取出纬度最小值的坐标点过滤掉;

c.集合a中剩下n个坐标点数据a1至an,取集合a中的一个坐标点ai,i=1至n,按目标行政区域的顺时针或逆时针方向依次取集合b中相邻两个坐标点:b1b2、b2b3、b3b4、…bmb1;

d.在同一个坐标系内将ai的纵坐标分别与b1b2两个点的最小纵坐标和最大纵坐标比较,若ai的纵坐标不小于b1b2两个点的最小纵坐标且小于b1b2两个点的最大纵坐标,则继续将ai的纵坐标与b2b3的纵坐标进行比较上述,若ai的纵坐标小于b1b2两个点的最小纵坐标且不小于b1b2两个点的最大纵坐标则过滤ai点;以此往复直至完成对an的判断;

e.经过步骤d,集合a中剩余k个坐标点数据a1至ak,且k不大于n;然后依次求出b1b2两点所在直线的直线解析式、b2b3两点所在直线的直线解析式…bmb1两点所在直线的直线解析式;

f.取集合a中的一个坐标点ai,i=1至k,将ai的纵坐标先代入b1b2两点的直线解析式,若将ai的纵坐标代入b1b2直线解析式求得的横坐标值大于ai的实际横坐标值,则判定通过ai作出的水平射线与b1b2直线延长线有一个交点,则对ai的交点数进行加1记录,否则,判定通过ai作出的水平射线与b1b2直线延长线没有交点,且对ai的交点数不作更改,以此类推,完成对ai作出的水平射线与bmb1直线延长线是否有交点的判断并进行交点数记录;

g.将集合a中所有坐标点均通过步骤f中交点判断后,再进行集合a中各坐标点最终记录的交点数总数为奇数或偶数的判断,若ai最终记录的交点数总数为奇数,则判定ai在目标行政区域范围内并保留ai,否则,过滤ai,则最终剩余的坐标数据即属于目标行政区域范围内的设备的位置数据。

进一步地,所述步骤a中目标行政区域的区域边界点的经纬度坐标集合通过mongodb(分布式文档存储数据库)进行存储,便于下次查询时直接调用。

进一步地,在mongodb内需对各行政区域的行政区划代码字段作索引优化处理,从而在数据量较大时可提高在monggodb的查询效率。

进一步地,所述步骤a中,当mongodb内未包含某次进行判断的目标行政区域的区域边界点的经纬度坐标集合时,则该目标行政区域的区域边界点的经纬度坐标集合通过第三方地图服务接口进行获取,如高德地图、百度地图等。

进一步地,所述步骤a中还包括将通过第三方地图服务接口获取到目标行政区域的区域边界点的经纬度坐标集合保存至mongodb内,以便下次使用。

本发明与现有技术相比,具有以下的有益效果:

通过本发明的基于墨卡托投影的物联网设备位置数据区域筛选方法,可实现对获取到的设备位置数据进行准确的行政区划筛选,从而根据具体需求,从若干设备位置数据中筛选出位于目标行政区划的设备,以便进行进一步的设备管理。

具体实施方式

下面结合本发明的实施例对本发明作进一步的阐述和说明。

实施例:

实施例一:

一种基于墨卡托投影的物联网设备位置数据区域筛选方法,包括以下步骤:

首先,通过第三方地图服务获取相关行政区域的区域边界点的经纬度坐标集合,首次获取到数据后通过mongodb数据库进行存储,并对主要字段adcode进行索引优化;当有一个筛选请求进来时,先到mongodb获取目标行政区域的区域边界点的经纬度坐标集合的数据,若mongodb内不存在相应的数据,则调用第三方地图服务接口进行获取,之后将新获取的数据写入数据库,以便下次使用,通过此法,可以较好的优化功能实现的执行效率。

进行数据筛选时,具体包括:假设需进行设备位置数据区域筛选的目标设备经纬度坐标集合为a,目标行政区域的区域边界点的经纬度坐标集合为b,其中,集合b中共包含m个坐标点即b1至bm,b1至bm可围合出至少一个闭合区间,即目标行政区域所在区域。

为了筛选出集合a中存在于目标行政区域中的数据,则需要先对集合a中的数据进行初筛,具体为从集合b中取出经度最大值、经度最小值、纬度最大值、纬度最小值,将集合a中的坐标点中经度值大于集合b中取出经度最大值或经度值小于集合b中取出经度最小值的坐标点过滤掉,同时,将集合a中的坐标点中纬度值大于集合b中取出纬度最大值或纬度值小于集合b中取出纬度最小值的坐标点过滤掉,滤除不在经度最大值、经度最小值、纬度最大值、纬度最小值构成的矩形区域内的无效数据。

则经过初筛后,集合a中剩下n个坐标点数据a1至an,取集合a中的一个坐标点ai,i=1至n,按目标行政区域的顺时针或逆时针方向依次取集合b中相邻两个坐标点:b1b2、b2b3、b3b4、…bmb1。

在同一个坐标系内将ai的纵坐标分别与b1b2两个点的最小纵坐标和最大纵坐标比较,若ai的纵坐标不小于b1b2两个点的最小纵坐标且小于b1b2两个点的最大纵坐标,则继续将ai的纵坐标与b2b3的纵坐标进行比较上述,若ai的纵坐标小于b1b2两个点的最小纵坐标且不小于b1b2两个点的最大纵坐标则直接判定ai肯定不在目标行政区域内则过滤ai点;以此往复直至完成对an的比较判断。

经过上述步骤,集合a中剩余k个坐标点数据a1至ak,且k不大于n;然后依次求出b1b2两点所在直线的直线解析式、b2b3两点所在直线的直线解析式…bmb1两点所在直线的直线解析式。

然后,取集合a中的一个坐标点ai,i=1至k,将ai的纵坐标先代入b1b2两点的直线解析式,若将ai的纵坐标代入b1b2直线解析式求得的横坐标值大于ai的实际横坐标值,则判定通过ai作出的水平射线(往横坐标增大的方向所作的水平射线)与b1b2所在直线延长线有一个交点,则对ai的交点数进行加1记录,否则,判定通过ai作出的水平射线与b1b2所在直线没有交点,且对ai的交点数不作更改,以此类推,完成对ai作出的水平射线与bmb1直线延长线是否有交点的判断并进行交点数记录。

接着,将集合a中所有坐标点均通过上述步骤的交点判断后,再进行集合a中各坐标点最终记录的交点数总数为奇数或偶数的判断,若ai最终记录的交点数总数为奇数,则判定ai在目标行政区域范围内并保留ai,否则,判定ai不在目标行政区域范围内并过滤ai,则最终剩余的坐标数据即属于目标行政区域范围内的设备的位置数据,即可实现筛选出原集合a中属于目标行政区域范围内的设备,以便后台人员根据该数据进行后续的操作。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1