四叉树数据编码结构在电子狗中的应用

来源:互联网 发布:唯品会和淘宝哪个靠谱 编辑:程序博客网 时间:2024/06/11 07:22

说到电子狗,无非就是通过实时GPS数据,实时的从数据库中查询当前地点和方向是否有电子狗数据。在此,简单说明一下电子狗数据包括什么:所谓电子狗就是道路上的摄像头、探头,包含的信息有:经纬度、方向角、类型等信息。下面我们就做一个Android本地查询的小Demo。

 在做这个Demo之前,我们要先理解两个问题:

1、电子狗数据比较大,我们怎样存储到数据库中,以什么结构方式存储到数据库中呢?

2、实时查找,当前GPS怎么准确的快速的找到对应的电子狗呢。

解决了以上两个问题,基本上把思路就理清楚了。


下面我们就根据这两个问题来一一思考一下。

1、电子狗数据量大,我们不可能一股脑的放在一张表里面,所以要进行分类。那么我们怎么对现有的电子狗数据进行分类呢,一般来说有两种分类方式:按行政区域分类和按格网经纬度分类。行政区域分类本人没有搞过,也不知道怎么来组织数据,我这里选择的是按照格网经纬度分类。分类方式是按照松散四叉树结构进行分类的。

所谓松散四叉树,就是一个平面不断的分成四个面积相等的长方形,松散就是将最终的长方形往外扩大一点点。



如上图所示,基本上就是这个思路。算法也就是这样一个算法将一整套的电子狗数据进行入库。

2、查找,利用GPS经纬度,首先进行查找对应的编码,找到对应的表,然后在表中进行查找相应的电子眼。

查找方式用到的是四叉树方式,不是松散四叉树,松散四叉树是电子眼数据入库用的。四叉树找到对应的表就可以直接查找电子眼数据了。

总结一下:电子眼数据入库及GPS查找电子眼就是通过这样一个方式进行的。

demo github下载地址:https://github.com/flyinghero2009/e-dog-

CSDN下载地址:http://download.csdn.net/detail/zh_ang_hua/9834077

0 0
原创粉丝点击