一种电子地图空间查询方法及系统的制作方法

文档序号:9646618阅读:720来源:国知局
一种电子地图空间查询方法及系统的制作方法
【技术领域】
[0001]本发明涉及电子地图技术领域,尤其涉及一种电子地图空间查询方法及系统。
【背景技术】
[0002]电子地图即数字地图,是利用计算机技术,以数字方式存储和查阅的地图。电子地图是存储在计算机的硬盘、软盘、光盘或磁带等介质上的,地图内容是通过数字来表示的,需要通过专用的计算机软件对这些数字进行显示、读取、检索、分析等。电子地图储存资讯的方法,一般使用向量式图像储存,地图比例可放大、缩小或旋转而不影响显示效果,早期使用位图式储存,地图比例不能放大或缩小,现代电子地图软件一般利用地理信息系统来储存和传送地图数据,也有其他的信息系统。电子地图上可以表示的信息量远远大于普通地图,如公路在普通地图上用线划来表示位置,线的形状、宽度、颜色等不同符号表示公路的等级及其他信息。电子地图还可以很方便地与卫星图像、航空照片等其他信息源结合,生成新的图种。
[0003]在电子地图应用中,空间查询(即查询一定几何图形内的信息)是一种信息查询方法,它是指在地图上绘制一种几何图形,然后查询出对该图形内的感兴趣信息,即POI (Point of Interest,感兴趣点)信息,其中,Ρ0Ι可以指地图中的各种地理信息点,如银行网点、超市、公园、学校、邮局、医院等,这些公共设施通常以点的形式在地图中标注出来。但现有空间查询方式只支持对某一点的周边范围查询,即圆形区域查询,这种查询方式有诸多不便,例如用户想要查询北京市二环路内的餐厅,二环路可以近似认为是一个多边形,圆形区域查询则不能满足对二环路内的餐厅查询。可见,现有空间查询技术只支持圆形区域查询,不支持其它图形查询,这对用户进行空间查询造成了不便。

【发明内容】

[0004]有鉴于此,本发明实施例的主要目的在于提供一种电子地图空间查询方法及系统,以实现可以查询电子地图中不同形状范围内的Ρ0Ι信息的目的。
[0005]为实现上述目的,本发明实施例提供了一种电子地图空间查询方法,所述方法应用于一种包括客户端和服务器的电子地图空间查询系统,所述方法包括:
[0006]所述客户端获取用户输入的待查询Ρ0Ι,获取用户在所述电子地图上选取的查询区域;
[0007]所述客户端通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;
[0008]所述服务器从数据库中查询所述索引值对应四叉树网格内的所有待查询Ρ0Ι的Ρ0Ι坐标信息,并将所述Ρ0Ι坐标信息发送至客户端;
[0009]所述客户端根据接收到的Ρ0Ι坐标信息,在所述查询区域内显示对应的待查询POI。
[0010]优选地,所述获取用户在电子地图上选取的查询区域,包括:
[0011]获取用户通过触屏选取方式在所述电子地图中圈选的查询区域;
[0012]或者,
[0013]获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;
[0014]获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
[0015]优选地,所述分解所述查询区域,包括:
[0016]根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。
[0017]优选地,所述依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,包括:
[0018]判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格;
[0019]如果未被分解的区域中存在属于当前层级的完整网格,则从未被分解的区域中分解出所有属于当前层级的完整网格;
[0020]如果所述查询区域被分解完,则结束分解;
[0021]如果所述查询区域未被分解完,则判断是否存在下一层级,若是,则将下一层作为当前层级,继续执行所述判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格的步骤,若否,则从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,并结束分解;
[0022]如果未被分解的区域中不存在属于当前层级的完整网格,则执行所述判断是否存在下一层级的步骤。
[0023]本发明实施例还提供了一种电子地图空间查询系统,所述系统包括客户端和服务器;
[0024]所述客户端,用于获取用户输入的待查询Ρ0Ι,并获取用户在所述电子地图上选取的查询区域;通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;
[0025]所述服务器,用于从数据库中查询所述索引值对应四叉树网格内的所有待查询Ρ0Ι的Ρ0Ι坐标信息,并将所述Ρ0Ι坐标信息发送至客户端;
[0026]所述客户端,还用于根据接收到的Ρ0Ι坐标信息,在所述查询区域内显示对应的待查询Ρ0Ι。
[0027]优选地,所述客户端按照下述方式获取用户在电子地图上选取的查询区域:
[0028]获取用户通过触屏选取方式在所述电子地图中圈选的查询区域;
[0029]或者,
[0030]获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;
[0031]获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
[0032]优选地,所述客户端按照下述方式分解所述查询区域:
[0033]根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。
[0034]优选地,所述客户端按照下述方式依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格:
[0035]判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格;
[0036]如果未被分解的区域中存在属于当前层级的完整网格,则从未被分解的区域中分解出所有属于当前层级的完整网格;
[0037]如果所述查询区域被分解完,则结束分解;
[0038]如果所述查询区域未被分解完,则判断是否存在下一层级,若是,则将下一层作为当前层级,继续执行所述判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格的步骤,若否,则从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,并结束分解;
[0039]如果未被分解的区域中不存在属于当前层级的完整网格,则执行所述判断是否存在下一层级的步骤。
[0040]本发明实施例提供的电子地图空间查询方法及系统,由于不同层级的四叉树网格大小不同,因此对于任意形状的查询区域,均能使所述查询区域由各个不同大小的四叉树网格组成,而每个四叉树网格在其所属的四叉树层级中有一个对应的索引值,这样,根据索引值便可从数据库中查询出该索引值对应网格内的每个待查询Ρ0Ι的坐标信息,进而根据Ρ0Ι坐标信息显示出所述查询区域内的每个待查询Ρ0Ι。可见,本发明实施例支持对电子地图中不同形状范围内的Ρ0Ι信息进行查询,不受查询范围的限制。
【附图说明】
[0041]为了更清楚地说明本发明实施例或现有技术中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1