CN105404685A - 一种电子地图空间查询方法及系统 - Google Patents
一种电子地图空间查询方法及系统 Download PDFInfo
- Publication number
- CN105404685A CN105404685A CN201510903092.9A CN201510903092A CN105404685A CN 105404685 A CN105404685 A CN 105404685A CN 201510903092 A CN201510903092 A CN 201510903092A CN 105404685 A CN105404685 A CN 105404685A
- Authority
- CN
- China
- Prior art keywords
- region
- decomposed
- query region
- query
- quaternary tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种电子地图空间查询方法,所述方法应用于一种包括客户端和服务器的电子地图空间查询系统,所述方法包括:所述客户端获取用户输入的待查询POI,获取用户在所述电子地图上选取的查询区域;所述客户端通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;所述服务器从数据库中查询所述索引值对应四叉树网格内的所有待查询POI的POI坐标信息,并将所述POI坐标信息发送至客户端;所述客户端根据接收到的POI坐标信息,在所述查询区域内显示对应的待查询POI。
Description
技术领域
本发明涉及电子地图技术领域,尤其涉及一种电子地图空间查询方法及系统。
背景技术
电子地图即数字地图,是利用计算机技术,以数字方式存储和查阅的地图。电子地图是存储在计算机的硬盘、软盘、光盘或磁带等介质上的,地图内容是通过数字来表示的,需要通过专用的计算机软件对这些数字进行显示、读取、检索、分析等。电子地图储存资讯的方法,一般使用向量式图像储存,地图比例可放大、缩小或旋转而不影响显示效果,早期使用位图式储存,地图比例不能放大或缩小,现代电子地图软件一般利用地理信息系统来储存和传送地图数据,也有其他的信息系统。电子地图上可以表示的信息量远远大于普通地图,如公路在普通地图上用线划来表示位置,线的形状、宽度、颜色等不同符号表示公路的等级及其他信息。电子地图还可以很方便地与卫星图像、航空照片等其他信息源结合,生成新的图种。
在电子地图应用中,空间查询(即查询一定几何图形内的信息)是一种信息查询方法,它是指在地图上绘制一种几何图形,然后查询出对该图形内的感兴趣信息,即POI(PointofInterest,感兴趣点)信息,其中,POI可以指地图中的各种地理信息点,如银行网点、超市、公园、学校、邮局、医院等,这些公共设施通常以点的形式在地图中标注出来。但现有空间查询方式只支持对某一点的周边范围查询,即圆形区域查询,这种查询方式有诸多不便,例如用户想要查询北京市二环路内的餐厅,二环路可以近似认为是一个多边形,圆形区域查询则不能满足对二环路内的餐厅查询。可见,现有空间查询技术只支持圆形区域查询,不支持其它图形查询,这对用户进行空间查询造成了不便。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种电子地图空间查询方法及系统,以实现可以查询电子地图中不同形状范围内的POI信息的目的。
为实现上述目的,本发明实施例提供了一种电子地图空间查询方法,所述方法应用于一种包括客户端和服务器的电子地图空间查询系统,所述方法包括:
所述客户端获取用户输入的待查询POI,获取用户在所述电子地图上选取的查询区域;
所述客户端通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;
所述服务器从数据库中查询所述索引值对应四叉树网格内的所有待查询POI的POI坐标信息,并将所述POI坐标信息发送至客户端;
所述客户端根据接收到的POI坐标信息,在所述查询区域内显示对应的待查询POI。
优选地,所述获取用户在电子地图上选取的查询区域,包括:
获取用户通过触屏选取方式在所述电子地图中圈选的查询区域;
或者,
获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;
获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
优选地,所述分解所述查询区域,包括:
根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。
优选地,所述依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,包括:
判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格;
如果未被分解的区域中存在属于当前层级的完整网格,则从未被分解的区域中分解出所有属于当前层级的完整网格;
如果所述查询区域被分解完,则结束分解;
如果所述查询区域未被分解完,则判断是否存在下一层级,若是,则将下一层作为当前层级,继续执行所述判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格的步骤,若否,则从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,并结束分解;
如果未被分解的区域中不存在属于当前层级的完整网格,则执行所述判断是否存在下一层级的步骤。
本发明实施例还提供了一种电子地图空间查询系统,所述系统包括客户端和服务器;
所述客户端,用于获取用户输入的待查询POI,并获取用户在所述电子地图上选取的查询区域;通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;
所述服务器,用于从数据库中查询所述索引值对应四叉树网格内的所有待查询POI的POI坐标信息,并将所述POI坐标信息发送至客户端;
所述客户端,还用于根据接收到的POI坐标信息,在所述查询区域内显示对应的待查询POI。
优选地,所述客户端按照下述方式获取用户在电子地图上选取的查询区域:
获取用户通过触屏选取方式在所述电子地图中圈选的查询区域;
或者,
获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;
获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
优选地,所述客户端按照下述方式分解所述查询区域:
根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。
优选地,所述客户端按照下述方式依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格:
判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格;
如果未被分解的区域中存在属于当前层级的完整网格,则从未被分解的区域中分解出所有属于当前层级的完整网格;
如果所述查询区域被分解完,则结束分解;
如果所述查询区域未被分解完,则判断是否存在下一层级,若是,则将下一层作为当前层级,继续执行所述判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格的步骤,若否,则从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,并结束分解;
如果未被分解的区域中不存在属于当前层级的完整网格,则执行所述判断是否存在下一层级的步骤。
本发明实施例提供的电子地图空间查询方法及系统,由于不同层级的四叉树网格大小不同,因此对于任意形状的查询区域,均能使所述查询区域由各个不同大小的四叉树网格组成,而每个四叉树网格在其所属的四叉树层级中有一个对应的索引值,这样,根据索引值便可从数据库中查询出该索引值对应网格内的每个待查询POI的坐标信息,进而根据POI坐标信息显示出所述查询区域内的每个待查询POI。可见,本发明实施例支持对电子地图中不同形状范围内的POI信息进行查询,不受查询范围的限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例电子地图空间查询系统的架构示意图;
图2为本发明实施例电子地图空间查询方法的流程示意图;
图3为本发明实施例北京市地区空间查询示意图;
图4为本发明实施例四叉树建立示意图;
图5为本发明实施例查询区域分解流程示意图;
图6为本发明实施例查询区域分解结果示意图;
图7为本发明实施例电子地图空间查询系统的组成示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的电子地图空间查询系统的架构示意图,该空间查询系统采用了三层架构,分别为表现层(UI),业务逻辑层(BLL)和数据访问层(DAL)。表现层采用了Flex语言,负责与用户进行业务数据交互,计算分解用户输入的空间图形并展现最终结果,其功能由客户端侧的浏览器实现;业务逻辑层采用了Java语言,负责对表现层的输入信息进行匹配计算,计算过程中需要从数据访问层查询数据,计算结束后将结果传回表现层显示,其功能由服务器实现;数据访问层采用了Sybase数据库,存储各POI的地理信息,提供对业务逻辑层的数据访问支持。
本发明实施例还提供了电子地图空间查询方法,其应用于上述包括客户端和服务器的电子地图空间查询系统。该空间查询方法采用了四叉树算法,基于四叉树算法的空间查询方法的实现包括三部分,分别为:数据初始化、前端算法和后端算法,其中,数据初始化和前端算法由客户端实现,后端算法由服务器实现。前端部分主要由图形界面组成,便于用户输入待查询POI及查询区域;数据初始化即通过四叉树算法将输入的查询区域分解为级联四叉树,再计算每个分解出的四叉树网格在四叉树对应层级中的索引值;后端部分负责数据库的查询操作,即根据前端输入的四叉树网格对应的索引值和数据库中的待查询POI数据进行匹配,并将匹配结果即POI坐标信息返回给前端进行显示。
参见图2,为本发明实施例提供的电子地图空间查询方法的流程示意图,该方法应用于上述包括客户端和服务器的电子地图空间查询系统,该方法包括:
步骤201:客户端获取用户输入的待查询POI,获取用户在所述电子地图上选取的查询区域。
在本发明实施例中,当用户通过客户端侧的浏览器打开电子地图交互界面后,用户可以在该交互界面上的设定位置输入想要查询的POI,还可以在该交互界面显示的电子地图上勾画任意形状的几何图形作为查询区域,或者直接获取服务器侧预先保存的查询区域,比如图3所示的北京市地区空间查询示意图,多边形区域即为查询区域。下面具体介绍以下两种客户端获取查询区域的方式:
方式一:获取用户通过触屏选取方式在所述电子地图中圈选的查询区域。
用户勾画(圈选)的形状可以是圆形、矩形、多边形等任意形状,大小没有限制。基于此,本发明空间查询方式可以应用于多种场合,如查询北京市地铁一号线周边的餐饮时,只需要绘制一个条形区域;又如查询某个商业区或社区范围内的ATM机时,只需要绘制该区域的轮廓范围;等等。
方式二、获取用户从预设的区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
在本发明实施例中,服务器侧可额外保存预设区域的轮廓信息,比如保存有中国所有省、市、县、区等预设区域的轮廓信息。当用户想要查询这些预设区域内的POI时,既可如方式一那样勾画这些预设区域的轮廓;也可直接从交互界面上的区域选项中选择区域项,客户端会将用户选择的区域项发送至服务器,服务器则将该区域项对应的预设区域的轮廓信息返回给客户端,以便查询任何行政区划内的指定POI,如查询北京市海淀区内的公园,查询辽宁省内的学校等。
步骤202:所述客户端通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值。
在本发明实施例中,通过计算每个四叉树网格在对应层级中的索引值,可以使服务器直接快速地通过查询数据库得到该索引值对应网格内的待查询POI的空间坐标,而不必通过复杂的几何运算计算出POI所属的多边形空间范围。
在本发明实施例中,四叉树的建立有两个关键参数;一为树的层数,层数的大小直接控制着查询速度与精度之间的关系,层数越大,查询精度越高,查询速度也随之越慢,反之亦然;二为最底层树的网格面积,由于每一层四叉树的网格面积是下一层的四倍,所以该值直接决定了每一层级网格的面积大小,也间接决定着查询精度;通过这两个参数可以唯一确定一棵四叉树。因此,在建立四叉树时,具体根据技术人员预先设置的四叉树层数和四叉树最底层的网格面积建立四叉树。下面介绍建立四叉树的基本原理:
建立四叉树就是将地理空间递归划分为不同层次的树结构,即,将某个地理空间等分成四个相等的子空间,如此递归下去,直至树的层次及网格面积达到四叉树建立要求后停止。例如:参见图4所示的四叉树建立示意图,如果要求四叉树的层数为4层,则四叉树的第一层对应网格0;将网格0划分为四个网格,分别为网格1、网格2、网格3和网格4,这四个网格属于四叉树的第二层;再将第二层的每个网格均划分为四个网格,这些被划分后的网格属于四叉树的第三层,比如将第二层的网格1划分为网格5、网格6、网格7和网格8,又比如将第二层的网格4划分为网格9、网格10、网格11和网格12;最后将第三层的每个网格均划分为四个网格,比如将第三层的网格12划分为网格13、网格14、网格15和网格16。其中,第四层中每个网格面积为预设的最底层树的网格面积。
所述查询区域是电子地图的一部分,因此,针对所述查询区域建立一个四叉树,其建立过程就是将所述查询区域分解成一个或多个四叉树网格,这些四叉树网格可以隶属于四叉树的同一层级,也可以隶属于四叉树的不同层级。需要说明是,对于所述查询区域中的每个四叉树网格,是所述四叉树中某一层级中的完整网格。
用户勾画的外层边界或用户选择的预设区域轮廓是用户输入的查询区域,将输入区域图形转换为矢量多边形,然后把矢量图形分解成空间上连续、以四叉树高层级结点优先的网格结构。具体实现时,根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。需要说明的是,根据整个电子地图对应的四叉树结构,服务器侧的数据库中存储了电子地图中每个POI数据与一组四叉树网格索引值之间的对应关系,即每个POI数据在每一四叉树层级中均对应有一个其所在网格的索引值,因此,在对所述查询区域进行网格分解时,所述查询区域中每个网格的划分位置,应与服务器侧存储的网格索引值对应的网格位置相互对应。
参见图5所示的查询区域分解流程示意图,下面具体介绍对所述查询区域进行分解的实现步骤:
步骤501:判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格,如果是,则执行步骤502,如果否,则执行步骤504。
步骤502:从未被分解的区域中分解出所有属于当前层级的完整网格,执行步骤503。
步骤503:判断所述查询区域是否被分解完,如果是,则结束分解,如果否,则执行步骤504。
步骤504:判断是否存在下一层级,如果是,则执行步骤505,如果否,则执行步骤506。
步骤505:将下一层作为当前层级,继续执行步骤501。
步骤506:从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,结束分解。
为了更方便的理解上述步骤,下面以图6所示的查询区域分解结果为例:
假设预设的四叉树层数为6层,从第一层(即顶层)开始,假设该查询区域中不能分解出第一层网格大小的区域,则判断该查询区域中是否能够分解出属于第二层的网格区域,假设能,则将该查询区域中属于第二层的所有网格分解出来(即图6中所有②所示规格的区域);继续对未被分解的区域(即该查询区域中除②外的区域)进行分解,由于未被分解的区域中存在属于第三层的网格区域,则将未被分解的区域中属于第三层的所有网格分解出来(即图6中所有③所示规格的区域);继续对未被分解的区域(即该查询区域中除②和③外的区域)进行分解,由于未被分解的区域中存在属于第四层的网格区域,则将未被分解的区域中属于第四层的所有网格分解出来(即图6中所有④所示规格的区域);继续对未被分解的区域(即该查询区域中除②、③和④外的区域)进行分解,由于未被分解的区域中存在属于第五层的网格区域,则将未被分解的区域中属于第五层的所有网格分解出来(即图6中所有⑤所示规格的区域);继续对未被分解的区域(即该查询区域中除②、③、④和⑤外的区域)进行分解,由于未被分解的区域中存在属于第六层的网格区域,则将未被分解的区域中属于第六层的所有网格分解出来(即图6中所有⑥所示规格的区域);此时,由于查询区域边界线是不规则的,边缘区域还没有被囊括在网格内,且所述四叉树不存在第七层,所以从还未被分解的区域处分解出所有属于四叉树第六层且包含查询区域边界线的完整网格,使得边缘区域还也被囊括进来。
在本发明实施例中,还要基于预设算法,根据所述查询区域中每个四叉树网格在地图中的位置,计算每个四叉树网格在对应层级中的索引值,该网格索引值要与数据库中保存的索引值对应,以便服务器根据网格索引值查询对应四叉树网格内的POI信息。该过程就是确定所述查询区域中的每个网格在全国地图中的相对位置。
比如,参见图4所示,对于左上角网格对应的地理空间,其在四叉树第一层的网格索引值为0,其在四叉树第二层的网格索引值为4,其在四叉树第三层的网格索引值为12,其在四叉树第四层的网格索引值为16,即电子地图中的每个POI数据均对应有4个网格索引值,因此,当所述查询区域内的网格在地图中的位置以及该网格所属的四叉树层级确定时,该网格对应的索引值便可以确定了。
可见,前端算法的目的在于把用户输入的矢量图形转化为一系列四叉树的网格索引值,从而使服务器在基础上直接查询数据库,提高查询效率。
步骤203:所述服务器从数据库中查询所述索引值对应四叉树网格内的所有待查询POI的POI坐标信息,并将所述POI坐标信息发送至客户端。
由于数据库中存储了网格索引值与POI坐标信息之间的对应关系,服务器通过查询数据库,便可根据步骤202中客户端确定的网格索引值,查询到该网格索引值对应的网格内的所有待查POI的POI坐标信息,然后将POI坐标信息发送至客户端。
后端算法旨在把前端算法传入的四叉树网格索引序列通过数据库的匹配操作,利用sybase本身的优化机制,批量查询出与每层四叉树网格索引值匹配的POI坐标信息,然后返回它们的坐标信息至前端,即完成了查询操作。匹配操作在批量查询大数据时,比单条遍历查询具有效率上的优势,正适用于地理信息平台数据量大的POI查询操作。
步骤204:客户端根据接收到的POI坐标信息,在所述查询区域内显示对应的待查询POI。
本发明实施例提供的电子地图空间查询方法,由于不同层级的四叉树网格大小不同,因此对于任意形状的查询区域,均能使所述查询区域由各个不同大小的四叉树网格组成,而每个四叉树网格在其所属的四叉树层级中有一个对应的索引值,这样,根据索引值便可从数据库中查询出该索引值对应网格内的每个待查询POI的坐标信息,进而根据POI坐标信息显示出所述查询区域内的每个待查询POI。可见,本发明实施例支持对电子地图中不同形状范围内的POI信息进行查询,不受查询范围的限制。
此外,本发明实施例还具有以下有益效果:
1、比其它空间查询方法更高效,对数据库的性能要求和存储要求低,在单表数据量超过100万时没有任何压力。
2、本发明实施例使用基于四叉树的空间查询技术,现有各地图网站多使用R树的空间查询技术,在数据库中新增POI时,本发明实施例在新增POI时比R树快几十倍,效率大幅提升。
3、将图形计算处理操作分解为前端页面和后端服务器处理两部分,减轻服务器压力,提高了服务器的并发处理能力。
参见图7,本发明实施例还提供了电子地图空间查询系统的组成示意图,所述系统包括客户端701和服务器702;
所述客户端701,用于获取用户输入的待查询POI,并获取用户在所述电子地图上选取的查询区域;通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;
所述服务器702,用于从数据库中查询所述索引值对应四叉树网格内的所有待查询POI的POI坐标信息,并将所述POI坐标信息发送至客户端;
所述客户端701,还用于根据接收到的POI坐标信息,在所述查询区域内显示对应的待查询POI。
在本发明实施例中,所述客户端701按照下述方式获取用户在电子地图上选取的查询区域:
获取用户通过触屏选取方式在所述电子地图中圈选的查询区域;
或者,
获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;
获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
在本发明实施例中,所述客户端701按照下述方式分解所述查询区域:
根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。
在本发明实施例中,所述客户端701按照下述方式依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格:
判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格;
如果未被分解的区域中存在属于当前层级的完整网格,则从未被分解的区域中分解出所有属于当前层级的完整网格;
如果所述查询区域被分解完,则结束分解;
如果所述查询区域未被分解完,则判断是否存在下一层级,若是,则将下一层作为当前层级,继续执行所述判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格的步骤,若否,则从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,并结束分解;
如果未被分解的区域中不存在属于当前层级的完整网格,则执行所述判断是否存在下一层级的步骤。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种电子地图空间查询方法,其特征在于,所述方法应用于一种包括客户端和服务器的电子地图空间查询系统,所述方法包括:
所述客户端获取用户输入的待查询POI,获取用户在所述电子地图上选取的查询区域;
所述客户端通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;
所述服务器从数据库中查询所述索引值对应四叉树网格内的所有待查询POI的POI坐标信息,并将所述POI坐标信息发送至客户端;
所述客户端根据接收到的POI坐标信息,在所述查询区域内显示对应的待查询POI。
2.根据权利要求1所述的方法,其特征在于,所述获取用户在电子地图上选取的查询区域,包括:
获取用户通过触屏选取方式在所述电子地图中圈选的查询区域;
或者,
获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;
获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
3.根据权利要求1所述的方法,其特征在于,所述分解所述查询区域,包括:
根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。
4.根据权利要求3所述的方法,其特征在于,所述依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,包括:
判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格;
如果未被分解的区域中存在属于当前层级的完整网格,则从未被分解的区域中分解出所有属于当前层级的完整网格;
如果所述查询区域被分解完,则结束分解;
如果所述查询区域未被分解完,则判断是否存在下一层级,若是,则将下一层作为当前层级,继续执行所述判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格的步骤,若否,则从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,并结束分解;
如果未被分解的区域中不存在属于当前层级的完整网格,则执行所述判断是否存在下一层级的步骤。
5.一种电子地图空间查询系统,其特征在于,所述系统包括客户端和服务器;
所述客户端,用于获取用户输入的待查询POI,并获取用户在所述电子地图上选取的查询区域;通过分解所述查询区域构建与所述查询区域对应的四叉树,并确定分解出的每个四叉树网格在所述四叉树对应层级中的索引值;
所述服务器,用于从数据库中查询所述索引值对应四叉树网格内的所有待查询POI的POI坐标信息,并将所述POI坐标信息发送至客户端;
所述客户端,还用于根据接收到的POI坐标信息,在所述查询区域内显示对应的待查询POI。
6.根据权利要求5所述的系统,其特征在于,所述客户端按照下述方式获取用户在电子地图上选取的查询区域:
获取用户通过触屏选取方式在所述电子地图中圈选的查询区域;
或者,
获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务器,所述服务器侧保存了电子地图中预设区域的轮廓信息;
获取所述服务器返回的所述区域项对应的预设区域的轮廓信息,将获取的轮廓信息作为查询区域。
7.根据权利要求5所述的系统,其特征在于,所述客户端按照下述方式分解所述查询区域:
根据预设的四叉树层数和四叉树最底层的网格面积,依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格,以使所述查询区域由至少一个四叉树网格组成。
8.根据权利要求7所述的系统,其特征在于,所述客户端按照下述方式依次从所述查询区域中未被分解的区域中分解出属于对应层级的完整网格:
判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格;
如果未被分解的区域中存在属于当前层级的完整网格,则从未被分解的区域中分解出所有属于当前层级的完整网格;
如果所述查询区域被分解完,则结束分解;
如果所述查询区域未被分解完,则判断是否存在下一层级,若是,则将下一层作为当前层级,继续执行所述判断所述查询区域中未被分解的区域中是否存在属于所述四叉树当前层级的完整网格的步骤,若否,则从未被分解的区域处分解出所有属于四叉树底层且包含所述查询区域边界线的完整网格,并结束分解;
如果未被分解的区域中不存在属于当前层级的完整网格,则执行所述判断是否存在下一层级的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510903092.9A CN105404685B (zh) | 2015-12-09 | 2015-12-09 | 一种电子地图空间查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510903092.9A CN105404685B (zh) | 2015-12-09 | 2015-12-09 | 一种电子地图空间查询方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404685A true CN105404685A (zh) | 2016-03-16 |
CN105404685B CN105404685B (zh) | 2020-07-28 |
Family
ID=55470174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510903092.9A Active CN105404685B (zh) | 2015-12-09 | 2015-12-09 | 一种电子地图空间查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105404685B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177916A1 (en) * | 2016-04-12 | 2017-10-19 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for determining point of interest |
CN107480175A (zh) * | 2017-06-30 | 2017-12-15 | 广州数鹏通科技有限公司 | 一种基于网格化的地理信息数据筛选方法、电子设备、存储介质及系统 |
CN108228904A (zh) * | 2018-02-08 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN108388587A (zh) * | 2018-01-30 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | 基于Google地图雷达搜索的地标挖掘方法 |
CN110059264A (zh) * | 2019-04-24 | 2019-07-26 | 东南大学 | 基于知识图谱的地点检索方法、设备及计算机存储介质 |
CN111061824A (zh) * | 2019-11-27 | 2020-04-24 | 北京中交兴路信息科技有限公司 | 基于改进四叉树的范围判断方法、装置、设备 |
CN111309844A (zh) * | 2020-03-18 | 2020-06-19 | 上海中旖能源科技有限公司 | 获取全地图poi信息的方法和装置 |
WO2020135585A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京辰安科技股份有限公司 | 基于互联网地图的空间数据采集方法及装置 |
CN111859187A (zh) * | 2020-06-30 | 2020-10-30 | 杭州欧若数网科技有限公司 | 基于分布式图数据库的poi查询方法、装置、设备及介质 |
CN112734200A (zh) * | 2020-12-31 | 2021-04-30 | 贵州省烟草公司六盘水市公司 | 基于电子地图的烟草制品零售点规划网格查询系统和方法 |
CN114726595A (zh) * | 2022-03-24 | 2022-07-08 | 中科吉芯(昆山)信息科技有限公司 | 一种利用时空信息认证人机身份的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1826691A1 (en) * | 2006-02-28 | 2007-08-29 | Hitachi, Ltd. | Method and system for data processing with spatial search |
CN102004793A (zh) * | 2010-12-08 | 2011-04-06 | 厦门雅迅网络股份有限公司 | 一种基于网格空间的poi位置查询索引文件及进行信息查询的方法 |
CN103092853A (zh) * | 2011-10-31 | 2013-05-08 | 中国移动通信集团公司 | 一种空间索引的建立方法、使用方法及装置 |
CN103674035A (zh) * | 2012-09-25 | 2014-03-26 | 环达电脑(上海)有限公司 | 检索任意区域内兴趣点的导航装置及其控制方法 |
CN103714080A (zh) * | 2012-09-29 | 2014-04-09 | 北京百度网讯科技有限公司 | 基于空间索引结构树提供空间对象搜索结果的方法和设备 |
CN104239396A (zh) * | 2014-06-20 | 2014-12-24 | 北京奇虎科技有限公司 | 一种搜索电子地图上业务对象的方法和装置 |
-
2015
- 2015-12-09 CN CN201510903092.9A patent/CN105404685B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1826691A1 (en) * | 2006-02-28 | 2007-08-29 | Hitachi, Ltd. | Method and system for data processing with spatial search |
CN102004793A (zh) * | 2010-12-08 | 2011-04-06 | 厦门雅迅网络股份有限公司 | 一种基于网格空间的poi位置查询索引文件及进行信息查询的方法 |
CN103092853A (zh) * | 2011-10-31 | 2013-05-08 | 中国移动通信集团公司 | 一种空间索引的建立方法、使用方法及装置 |
CN103674035A (zh) * | 2012-09-25 | 2014-03-26 | 环达电脑(上海)有限公司 | 检索任意区域内兴趣点的导航装置及其控制方法 |
CN103714080A (zh) * | 2012-09-29 | 2014-04-09 | 北京百度网讯科技有限公司 | 基于空间索引结构树提供空间对象搜索结果的方法和设备 |
CN104239396A (zh) * | 2014-06-20 | 2014-12-24 | 北京奇虎科技有限公司 | 一种搜索电子地图上业务对象的方法和装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177916A1 (en) * | 2016-04-12 | 2017-10-19 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for determining point of interest |
GB2553735A (en) * | 2016-04-12 | 2018-03-14 | Beijing Didi Infinity Technology & Dev Co Ltd | Systems and methods for determining point of interest |
US10969239B2 (en) | 2016-04-12 | 2021-04-06 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for determining a point of interest |
US10712170B2 (en) | 2016-04-12 | 2020-07-14 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for determining a point of interest |
CN107480175A (zh) * | 2017-06-30 | 2017-12-15 | 广州数鹏通科技有限公司 | 一种基于网格化的地理信息数据筛选方法、电子设备、存储介质及系统 |
CN108388587A (zh) * | 2018-01-30 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | 基于Google地图雷达搜索的地标挖掘方法 |
CN108228904A (zh) * | 2018-02-08 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN108228904B (zh) * | 2018-02-08 | 2021-08-20 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
WO2020135585A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京辰安科技股份有限公司 | 基于互联网地图的空间数据采集方法及装置 |
CN110059264A (zh) * | 2019-04-24 | 2019-07-26 | 东南大学 | 基于知识图谱的地点检索方法、设备及计算机存储介质 |
CN111061824A (zh) * | 2019-11-27 | 2020-04-24 | 北京中交兴路信息科技有限公司 | 基于改进四叉树的范围判断方法、装置、设备 |
CN111061824B (zh) * | 2019-11-27 | 2023-07-25 | 北京中交兴路信息科技有限公司 | 基于改进四叉树的范围判断方法、装置、设备 |
CN111309844A (zh) * | 2020-03-18 | 2020-06-19 | 上海中旖能源科技有限公司 | 获取全地图poi信息的方法和装置 |
CN111859187A (zh) * | 2020-06-30 | 2020-10-30 | 杭州欧若数网科技有限公司 | 基于分布式图数据库的poi查询方法、装置、设备及介质 |
CN111859187B (zh) * | 2020-06-30 | 2024-02-20 | 杭州欧若数网科技有限公司 | 基于分布式图数据库的poi查询方法、装置、设备及介质 |
CN112734200A (zh) * | 2020-12-31 | 2021-04-30 | 贵州省烟草公司六盘水市公司 | 基于电子地图的烟草制品零售点规划网格查询系统和方法 |
CN114726595A (zh) * | 2022-03-24 | 2022-07-08 | 中科吉芯(昆山)信息科技有限公司 | 一种利用时空信息认证人机身份的方法 |
CN114726595B (zh) * | 2022-03-24 | 2023-09-29 | 中科吉芯(昆山)信息科技有限公司 | 一种利用时空信息认证人机身份的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105404685B (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404685A (zh) | 一种电子地图空间查询方法及系统 | |
CN102332056B (zh) | 基于信息可视化技术的房产数据可视化系统 | |
CN105516311A (zh) | 一种电子地图全景图获取方法及系统 | |
CN102870146B (zh) | 三维地图绘制系统 | |
CN106898047A (zh) | 倾斜模型和多元模型动态融合的自适应网络可视化方法 | |
WO2017206484A1 (zh) | 地理数据呈现方法及装置 | |
CN104504742A (zh) | 一种基于电子沙盘系统的三维军标标绘方法 | |
CN103699615B (zh) | 一种基于点矢量数据多层存储的快速地图表示方法及系统 | |
CN110070616A (zh) | 存储器、基于gis平台的统计数据呈现方法、装置和设备 | |
CN104951526A (zh) | 一种三维模型管理系统 | |
CN105975591A (zh) | 一种城市全域能耗数字地图制作及显示方法和系统 | |
Rivest et al. | SOLAP: a new type of user interface to support spatio-temporal multidimensional data exploration and analysis | |
Zhou et al. | A virtual globe-based vector data model: quaternary quadrangle vector tile model | |
US20120229467A1 (en) | Set visualizations | |
Yu et al. | A hybrid system of expanding 2D GIS into 3D space | |
Bereuter et al. | Generalisation of point data for mobile devices: A problem-oriented approach | |
CN112700531A (zh) | 一种融合矢量户型图的建筑物倾斜模型分层分户显示方法 | |
CN116414930A (zh) | 地名类别矢量免切片可视化方法、装置、设备及介质 | |
WO2020002281A1 (en) | Improved geographic indexing | |
CN115455018A (zh) | 一种基于地理空间网格的地名地址可视化方法及系统 | |
Kraak et al. | Understanding spatiotemporal patterns: Visual ordering of space and time | |
Glander et al. | Concepts for automatic generalization of virtual 3D landscape models | |
Zhou et al. | Rendering interior-filled polygonal vector data in a virtual globe | |
Bereuter et al. | Algorithms for on-the-fly generalization of point data using quadtrees | |
Yan | TODIM-VIKOR method for quality evaluation of tourism rural landscape planning and design with 2-tuple linguistic neutrosophic numbers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |