发明名称 一种设计和生成网格空间索引文件的方法及进行信息查询的方法
摘要 本发明涉及地图信息检索领域,尤其涉及一种基于网格空间索引的POI位置信息查询的文件和方法。本发明的一种基于网格空间的POI位置查询索引文件及进行信息查询的方法是:在接收到用户的经纬度信息时,先确定其所在的最小的一组网格,判断这组网格中是否含有POI,若没有包含POI,则扩大网格组至更外围的一组网格,直到所述的网格组含有POI,然后从网格组的编号检索出网格所含有的POI的索引号,最后检索得到POI属性信息,从POI的属性信息中的经纬度信息和用户的经纬度信息计算出二者之间的方位和距离并发送给用户。当终端用户发送POI位置信息查询请求服务时,搜索服务器能够高效地发送满足用户查询需求的查询信息,从而为用户提供更好的查询服务。
申请公布号 CN102004793B 申请公布日期 2013.09.04
申请号 CN201010587592.3 申请日期 2010.12.08
申请人 厦门雅迅网络股份有限公司 发明人 季刚;程行荣;时宜;胡涛
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 厦门市诚得知识产权代理事务所(普通合伙) 35209 代理人 方惠春
主权项 一种设计和生成网格空间索引文件及进行信息查询的方法,至少包括以下步骤: A1,设计网格空间索引文件结构,所述网格空间索引文件结构包括:网格空间索引项文件结构、POI信息数据文件结构,其中所述网格空间索引项文件结构包括:基本索引项文件结构、POI索引号数据文件结构;所述的POI即为兴趣点; A2,基于步骤A1所述网格空间索引文件结构,编译POI信息数据生成网格空间索引文件,其至少包括以下步骤: A21,将所有POI所在的一个地理区域划分为网格,设计网格编号规则; A22,设计从上述地理区域中任意一点的经纬度计算出其所在网格的网格编号的定位网格算法; A23,为每个POI创建唯一索引号,并以POI的索引号、名称、经纬度为字段建立POI信息数据文件; A24,根据步骤A23所述的POI信息数据文件中的经纬度、POI索引号和步骤A22所述的算法,编译得到POI索引号数据文件; A25,由步骤A24所述的POI索引号数据文件编译得到基本索引项文件; 查询的方法,包括以下步骤: B1,设计从POI的经纬度和用户经纬度计算二者之间距离和方位信息的算法;其中用户和POI之间的距离的计算是以两点之间的地球球面距离的计算方法为根据;其中用户和POI之间的方位信息的计算是:以POI到用户所在点的有向线段为一条斜边,以POI为基准点,水平向右方向的一条线为基准边,计算基准边逆时针旋转至该斜边的角度来确定;所述的POI即为兴趣点; B2,设计由一确定网格或网格组的网格编号计算出包围该确定网格或网格 组的外围一层网格的网格编号的算法; B3,系统初始化并接收用户的经纬度信息; B4,根据步骤B3所述经纬度信息、定位网格算法,计算得到用户所在网格的网格编号; B5,基于步骤B4所得网格编号、步骤B2所述的算法计算得到包围该用户所在网格的外围一层网格的一组网格编号; B6,根据步骤B4所述网格编号、步骤B5所述一组网格编号以及索引文件,判断用户所在网格和包围该用户所在网格的网格组是否包含有POI,如果有,则得到用户所在网格和包围该用户所在网格的网格组中所有POI的属性信息,如果没有,返回步骤B5,则步骤B5为基于当前网格组的网格编号重新计算得到其外围一层网格的更大网格组的新一组网格编号; B7,根据步骤B6所述所有POI属性信息中的经纬度、步骤B3所述用户经纬度信息、步骤B1所述的算法,计算得到各个POI到用户的距离并通过比较计算得到距离最近的POI,计算得到该POI相对于用户的方位信息; B8,整合步骤B7所述的距离最近的POI属性信息中的名称、最小距离信息、方位信息并发送至用户。
地址 361008 福建省厦门市软件园二期观日路46号