空间位置存储方案

空间查询原理:

先缩小查询范围,得到对应的点集,再对点集一一进行过滤。

如geohash的

1、near N: 在query点的geohash为中心的九格范围内的点(通过geohash前缀匹配来快速查找),计算这些点与query点的距离再排序得到最近的N点。(这只是简单情况,当N很大超过九格内的所有点数时就要外扩)

2、near distance: 缩小范围与1方法一样,再得到可能的点集后,通过计算与query点的距离<=targetTarget

3、within polygon:计算出多边形的行心,判断才该行心点的geohash(如初始选8位)所在区域是否完全覆盖query多边形,不能覆盖则选该点的九格组成的结构是否完全覆盖query多边形,再不行则减少行心点geohash位数,重复之前操作,直到完全覆盖query多边形。找到满足要求的geohash集合后,得到这些集合对应的所有点,再判断点是否在query多边形中来进行过滤。

1、mongodb

mongodb实现地理位置简介

参考:

 

 

常用语法

图解MongoDB地理位置索引的实现原理

geohash算法详解

mongodb 地理位置相关

原理相关ppt

 

 

空间索引:

http://www.cnblogs.com/SuperXJ/archive/2010/03/06/1679819.html

http://blog.csdn.net/zhouxuguang236/article/details/12312099

 

 

你可能感兴趣的:(空间索引)