CN103593861A - 一种面向2.5维地图服务的瓦片加载方法 - Google Patents
一种面向2.5维地图服务的瓦片加载方法 Download PDFInfo
- Publication number
- CN103593861A CN103593861A CN201310593530.7A CN201310593530A CN103593861A CN 103593861 A CN103593861 A CN 103593861A CN 201310593530 A CN201310593530 A CN 201310593530A CN 103593861 A CN103593861 A CN 103593861A
- Authority
- CN
- China
- Prior art keywords
- tile
- map
- minimum
- graticule mesh
- row
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种面向2.5维地图服务的瓦片加载方法。所述方法包括地图服务应用显示设备、2.5维地图服务应用模块和地图服务模块。2.5维地图服务应用模块调用地图服务模块,返回需要的地图瓦片,并在显示设备上加载、显示地图瓦片。地图服务模块根据地图视窗俯仰、旋转变化,通过瓦片扫描算法计算请求的最小瓦片集,并向服务器端发送加载瓦片服务请求,由服务器返回瓦片服务响应。所述瓦片扫描算法能够快速扫描、计算2.5维地图服务时所需要加载的最小瓦片个数和范围,从而达到快速加载、浏览地图的目的。
Description
技术领域
本发明属于移动通信技术领域,更具体是涉及基于移动通信等的2.5维地图服务中瓦片数据的加载方法,可用于分布式地理信息系统网络地图服务开发。
背景技术
在诸如智能手机等移动终端上,网络地图服务是一个重要的地理信息在线服务应用。相对于传统的二维地图服务,2.5维甚至是真三维地图服务能够给用户带来逼真的应用体验。所谓2.5维地图是一种基于三维模型,按照一定投影规则映射到某一平面上,可以展现三维立体效果的二维地图。在网络环境下,移动终端上的2.5维地图是通过加载来自服务器端的瓦片进行显示的。在此,瓦片是指按照一定的规则,如瓦片起始点、级别、大小等规定,将一定比例尺的2.5维地图切成的小图片,并以一定的数据格式组织、存储在服务器端,供客户端动态访问。
移动终端上的地图应用通过地图服务访问服务器并加载从服务器端返回的瓦片,因此,需要加载的瓦片数量会影响在线地图浏览的流畅性。对于存储和计算性能以及网络带宽有限的移动终端来说,传输的瓦片的数量应尽量少,以保证数据加载的速度尽量快。
对于二维地图瓦片的显示,只需根据显示视图的外接矩形边框求出所需要的瓦片。此矩形计算方法显然不适合2.5维地图的瓦片数量计算、定位与调用瓦片数据,因为在2.5维地图旋转的情况下,依据上述方法会产生不需要加载的瓦片。
例如,首先考虑2.5维地图在绕X轴旋转,即视角为俯视的情况,其透视投影的示意图如图1所示。
图1描述了2.5维地图在绕X轴旋转后地图视窗范围的变化情况,由此可以计算在绕X轴旋转前后地图视窗中所需要加载的瓦片个数。
(1)在非旋转情况下,需要加载的瓦片范围,就是地图视窗的实际高和宽,示意图如图2所示。假设视窗平面覆盖6行×4列格网的瓦片,则需要的格网个数为24个。
(2)在绕X轴旋转后,需要加载的瓦片范围示意图如图3所示。按通常的矩形加载方法,认为视窗平面覆盖5行×6列格网的瓦片,即需要的格网个数为30个。而实际上真正需要的格网(图中的梯形部分)个数为26个。
其次,2.5维地图在绕Z轴旋转,即左、右旋转后,地图视窗中所需要加载的瓦片范围也将发生变化,示意图如图4所示。在图4中,按通常的矩形加载方法,认为视窗平面覆盖8行×8列格网的瓦片,即需要的格网个数为64个。而实际上真正需要的格网(图中的旋转矩形部分)个数为37个。
最后,2.5维地图分别在绕Z轴和绕X轴旋转后,地图视窗中所需要加载的瓦片范围示意图如图5所示。在图5中,按通常的矩形加载方法,认为视窗平面覆盖8行×8列格网的瓦片,即需要的格网个数为64个。而实际上真正需要的格网(图中的旋转矩形部分)个数为34个。
加载过多的瓦片数据会导致地图绘制缓慢,而且增加程序内存使用。因此,针对上述问题,开发一种面向2.5维地图服务的瓦片加载方法,可以精确地计算2.5维地图在非旋转和旋转的情况下瓦片的数量,加载最小子集的瓦片数据。
发明内容
本发明的目的在于针对上述现有技术中的不足,提出一种面向2.5维地图服务的瓦片加载方法,提高地图绘制效率。
为了实现上述发明目的,本申请提供了以下技术方案:
一种面向2.5维地图服务的瓦片加载方法,如图6所示,包括地图服务应用显示设备、2.5维地图服务应用模块和地图服务模块。2.5维地图服务应用模块调用地图服务模块,返回需要的地图瓦片,并在显示设备上加载、显示地图瓦片。地图服务模块根据地图视窗俯仰、旋转变化,通过瓦片扫描算法计算请求的最小瓦片集,并向服务器端发送加载瓦片服务请求,由服务器返回瓦片服务响应。
地图服务应用显示设备包含移动智能终端设备,其操作系统支持Android、iOS和Windows Phone。2.5维地图服务应用模块运行于移动智能终端设备上,其调用地图服务模块,返回需要的地图瓦片,并在显示设备上加载、显示地图瓦片。地图服务模块根据地图视窗俯仰、旋转变化,通过瓦片扫描算法计算请求的最小瓦片集,并向服务器端发送加载瓦片服务请求,由服务器返回瓦片服务响应。
地图视窗俯仰、旋转变化包括地图视窗绕X轴和绕Z轴旋转,旋转后地图视窗为一个四边形,四边形顶点的坐标根据旋转角计算。需要加载的瓦片范围是所述四边形覆盖的瓦片格网,本发明提出的方法实质上能够转换为计算任意四边形覆盖瓦片格网的方法。该方法采用瓦片扫描算法,包括以下步骤:
步骤一,计算四边形覆盖瓦片格网的最小列号和最大列号,并以最小列号作为当前格网列号的初始值开始循环;
步骤二,计算当前格网所在的列与四边形的两个交点,获得当前格网所在的列覆盖的最小行号和最大行号,扫描得到当前列号对应的所有格网;
步骤三,移动到下一个列号,按上述步骤二中的方法进行循环,如果当前列号大于最大列号,则循环结束,输出所需要的所有最小瓦片集。
地图服务模块向服务器端发送标准的加载瓦片服务请求,由服务器返回符合标准的瓦片服务响应。
有益效果
(1)本发明可以在需要加载瓦片时精确地求出最少需要加载的瓦片个数,提高瓦片数据加载与浏览的效率。
(2)本发明采用了从最小列到最大列扫描的方式,在进行每一列扫描时求出此列所需要的最小和最大行,在最小最大行之间的都认为是需要的瓦片,由此可以减少所需加载瓦片的判断次数,提高计算效率。
附图说明
图1是本发明2.5维地图透视投影的示意图;
图2是本发明在非旋转情况下需要加载的瓦片范围示意图;
图3是本发明在绕X轴旋转后需要加载的瓦片范围示意图;
图4是本发明在绕Z轴旋转后需要加载的瓦片范围示意图;
图5是本发明在绕Z轴和绕X轴旋转后需要加载的瓦片范围示意图;
图6是本发明2.5维地图服务瓦片加载方法的流程图;
图7是本发明四边形覆盖瓦片格网的范围示意图;
图8是本发明计算最少瓦片个数的扫描算法流程示意图。
具体实施方式
<一>扫描算法描述
地图视窗在不同的旋转情况下,需要加载的瓦片范围是一个四边形覆盖的瓦片格网,如图7所示。其算法描述如下:
输入:已知四边形的顶点坐标M,O,P和N,如图7所示,格网的边长大小Size,格网左上角(第0列第0行)的坐标x值Left,y值Top。
输出:四边形覆盖的格网集合(即图6中阴影部分的格网个数)。
所求的格网的列号,肯定在点M和点N之间,因此,可以对在每一列格网进行扫描,分别求出所需要的行号即可。比如:在扫描M+1列时,可以求出格网与四边形的交点A和B,A和B所在的行号就是最大和最小行号。从M列到N列可以此方法类推求出最少需要的格网个数。
步1:求出顶点坐标M,O,P和N的X最小值minX和最大值maxX以及对应的点为minxP和maxxP,而后求得最小列minColumn和maxColumn,公式如下:
其中,minColumn和maxColumn都应为整数,minColumn向下取整,maxColumn向上取整。
步2:求出顶点坐标M,O,P和N的Y最小值minY和最大值maxY以及对应的点为minyP和maxyP,求出minxP和minyP两点的直线斜率kminY,以及minxP和maxyP两点的直线斜率kmaxY,公式如下:
步3:求出minColumn的x值stepColumn,公式如下:
stepColumn=minColumn1SizeLeft
然后从minColumn到maxColumn进行循环计算,扫描每一列所覆盖的格网数,方法如下:
For column=minColumn to maxColumn
(1)求出y=stepColumn的直线与四边形两条边的交点的y值maxY和minY,公式如下:
maxY=minxP.xkmaxYteColumnminxP.y
minY=minxP.xkminYteColumnminxP.y
(2)根据maxY和minY求出最小行minRow和最大行maxRow,公式如下:
(3)输出第column列中从minRow到maxRow的格网。
For row=minRow to maxRow
输出(row,column)格网
End
stepColumn+=Size
End。
<二>实现流程
实现的流程如图8所示。
步骤一,根据显示屏幕旋转角度计算2.5维地图视窗对应的四边形,求出四边形的顶点M、O、P和N的坐标;
步骤二,计算四边形四个顶点所在的最小列号和最大列号;
步骤三,取最小列号为当前列号的初始值,进入循环;
步骤四,判断当前列号是否大于最大列号,如果当前列号大于最大列号,转步骤九;否则,转步骤五;
步骤五,当前列号加1;
步骤六,计算与四边形的交点A,B;
步骤七,根据交点A、B求出最小行号和最大行号;
步骤八,在当前列号中,保存从最小行号至最大行号间的瓦片范围,并转步骤四;
步骤九,保存所有扫描的瓦片范围,计算瓦片范围结束。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本申请所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本申请型的保护范围之中。
Claims (7)
1.一种面向2.5维地图服务的瓦片加载方法,其特征在于:主要包括地图服务应用显示设备、2.5维地图服务应用模块和地图服务模块,2.5维地图服务应用模块调用地图服务模块,返回需要的地图瓦片,并在显示设备上加载、显示地图瓦片,地图服务模块根据地图视窗俯仰、旋转变化,通过瓦片扫描算法计算请求的最小瓦片集,并向服务器端发送加载瓦片服务请求,由服务器返回瓦片服务响应。
2.根据权利要求1所述的方法,其特征在于:所述地图服务应用显示设备包含移动智能终端设备,其操作系统支持Android、iOS和Windows Phone。
3.根据权利要求2所述的方法,其特征在于:2.5维地图服务应用模块运行于所述的终端设备上,其调用地图服务模块,返回需要的地图瓦片,并在显示设备上加载、显示地图瓦片。(说明:因为只有在权利要求2中出现了“终端设备”,因此需要引用权利要求2,并且在权利要求的内容中,就不能再出现“如权利要求1所述设备”的字样)。
4.根据权利要求1所述的方法,其特征在于:地图服务模块根据地图视窗俯仰、旋转变化,通过瓦片扫描算法计算请求的最小瓦片集,并向服务器端发送加载瓦片服务请求,由服务器返回瓦片服务响应。
5.根据权利要求4所述的方法,其特征在于:所述地图视窗俯仰、旋转变化包括地图视窗绕X轴和绕Z轴旋转,旋转后地图视窗为一个四边形,四边形顶点的坐标根据旋转角计算。
6.根据权利要求4所述的方法,其特征在于:所述瓦片扫描算法包括以下步骤:
步骤一,计算四边形覆盖瓦片格网的最小列号和最大列号,并以最小列号作为当前格网列号的初始值开始循环;
步骤二,计算当前格网所在的列与四边形的两个交点,获得当前格网所在的列覆盖的最小行号和最大行号,扫描得到当前列号对应的所有格网;
步骤三,移动到下一个列号,按上述步骤二中的方法进行循环,如果当前列号大于最大列号,则循环结束,输出所需要的所有最小瓦片集。
7.根据权利要求4所述的方法,其特征在于:向服务器端发送标准的加载瓦片服务请求,由服务器返回符合标准的瓦片服务响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310593530.7A CN103593861A (zh) | 2013-11-21 | 2013-11-21 | 一种面向2.5维地图服务的瓦片加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310593530.7A CN103593861A (zh) | 2013-11-21 | 2013-11-21 | 一种面向2.5维地图服务的瓦片加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103593861A true CN103593861A (zh) | 2014-02-19 |
Family
ID=50083985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310593530.7A Pending CN103593861A (zh) | 2013-11-21 | 2013-11-21 | 一种面向2.5维地图服务的瓦片加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593861A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744997A (zh) * | 2014-01-23 | 2014-04-23 | 广东中科遥感技术有限公司 | 一种网络地图服务发布方法及系统 |
CN103942820A (zh) * | 2014-04-30 | 2014-07-23 | 武汉库百网络技术有限公司 | 一种多角度仿真三维地图的方法及装置 |
CN104574272A (zh) * | 2015-01-30 | 2015-04-29 | 杭州阿拉丁信息科技股份有限公司 | 一种2.5维地图的配准方法 |
CN106326334A (zh) * | 2016-07-14 | 2017-01-11 | 微梦创科网络科技(中国)有限公司 | 一种电子地图的显示、生成方法和装置 |
CN107423445A (zh) * | 2017-08-10 | 2017-12-01 | 腾讯科技(深圳)有限公司 | 一种地图数据处理方法、装置及存储介质 |
CN107943962A (zh) * | 2017-11-27 | 2018-04-20 | 浙江卓锐科技股份有限公司 | 一种Gis2.5D地图及其制作方法 |
CN105279268B (zh) * | 2015-10-26 | 2019-07-16 | 东方网力科技股份有限公司 | 一种多数据源地图下载方法 |
CN110161527A (zh) * | 2019-05-30 | 2019-08-23 | 华中科技大学 | 一种基于rfid和激光雷达的三维地图重构系统及方法 |
CN110347769A (zh) * | 2019-07-09 | 2019-10-18 | 东方网力科技股份有限公司 | 多层级地图瓦片的处理方法、装置、设备和存储介质 |
CN110673947A (zh) * | 2019-08-12 | 2020-01-10 | 江苏博人文化科技有限公司 | 一种减少激光slam建图所需内存的方法 |
CN112417029A (zh) * | 2020-12-04 | 2021-02-26 | 广东广宇科技发展有限公司 | 基于gis的2.5维空间数据可视化方法、介质和设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070229524A1 (en) * | 2006-02-13 | 2007-10-04 | Geoffrey Hendrey | Draggable maps |
CN101216706A (zh) * | 2007-12-28 | 2008-07-09 | 西安交通大学 | 基于三扫描线刀具有效加工区域计算和刀具轨迹生成方法 |
CN101872492A (zh) * | 2010-06-09 | 2010-10-27 | 中国科学院深圳先进技术研究院 | 三维仿真城市的多角度地图实现方法 |
CN101944132A (zh) * | 2010-09-30 | 2011-01-12 | 武汉大学 | 一种瓦片地图数据组织方法 |
CN102307275A (zh) * | 2011-09-09 | 2012-01-04 | 杭州海康威视数字技术股份有限公司 | 对监控图像进行不规则多边形马赛克处理的方法及其装置 |
CN102509022A (zh) * | 2011-11-18 | 2012-06-20 | 武汉大学 | 一种面向虚拟地球的栅格数据快速建库方法 |
CN102968442A (zh) * | 2012-10-22 | 2013-03-13 | 武大吉奥信息技术有限公司 | 网络地图瓦片服务聚合的方法和系统 |
CN103034677A (zh) * | 2012-11-12 | 2013-04-10 | 武大吉奥信息技术有限公司 | 多时相瓦片数据集组织和游程编码索引方法 |
-
2013
- 2013-11-21 CN CN201310593530.7A patent/CN103593861A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070229524A1 (en) * | 2006-02-13 | 2007-10-04 | Geoffrey Hendrey | Draggable maps |
CN101216706A (zh) * | 2007-12-28 | 2008-07-09 | 西安交通大学 | 基于三扫描线刀具有效加工区域计算和刀具轨迹生成方法 |
CN101872492A (zh) * | 2010-06-09 | 2010-10-27 | 中国科学院深圳先进技术研究院 | 三维仿真城市的多角度地图实现方法 |
CN101944132A (zh) * | 2010-09-30 | 2011-01-12 | 武汉大学 | 一种瓦片地图数据组织方法 |
CN102307275A (zh) * | 2011-09-09 | 2012-01-04 | 杭州海康威视数字技术股份有限公司 | 对监控图像进行不规则多边形马赛克处理的方法及其装置 |
CN102509022A (zh) * | 2011-11-18 | 2012-06-20 | 武汉大学 | 一种面向虚拟地球的栅格数据快速建库方法 |
CN102968442A (zh) * | 2012-10-22 | 2013-03-13 | 武大吉奥信息技术有限公司 | 网络地图瓦片服务聚合的方法和系统 |
CN103034677A (zh) * | 2012-11-12 | 2013-04-10 | 武大吉奥信息技术有限公司 | 多时相瓦片数据集组织和游程编码索引方法 |
Non-Patent Citations (2)
Title |
---|
柴森 等: "G/S模式下Android 地理信息浏览器缓存技术研究", 《数字通信》 * |
黄振: "基于WebGIS的电信资源系统性能优化研究与应用", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744997A (zh) * | 2014-01-23 | 2014-04-23 | 广东中科遥感技术有限公司 | 一种网络地图服务发布方法及系统 |
CN103942820A (zh) * | 2014-04-30 | 2014-07-23 | 武汉库百网络技术有限公司 | 一种多角度仿真三维地图的方法及装置 |
CN104574272B (zh) * | 2015-01-30 | 2017-05-10 | 杭州阿拉丁信息科技股份有限公司 | 一种2.5维地图的配准方法 |
CN104574272A (zh) * | 2015-01-30 | 2015-04-29 | 杭州阿拉丁信息科技股份有限公司 | 一种2.5维地图的配准方法 |
CN105279268B (zh) * | 2015-10-26 | 2019-07-16 | 东方网力科技股份有限公司 | 一种多数据源地图下载方法 |
CN106326334A (zh) * | 2016-07-14 | 2017-01-11 | 微梦创科网络科技(中国)有限公司 | 一种电子地图的显示、生成方法和装置 |
CN107423445A (zh) * | 2017-08-10 | 2017-12-01 | 腾讯科技(深圳)有限公司 | 一种地图数据处理方法、装置及存储介质 |
CN107423445B (zh) * | 2017-08-10 | 2018-10-30 | 腾讯科技(深圳)有限公司 | 一种地图数据处理方法、装置及存储介质 |
US11585675B2 (en) | 2017-08-10 | 2023-02-21 | Tencent Technology (Shenzhen) Company Limited | Map data processing method, computer device and storage medium |
CN107943962A (zh) * | 2017-11-27 | 2018-04-20 | 浙江卓锐科技股份有限公司 | 一种Gis2.5D地图及其制作方法 |
CN110161527A (zh) * | 2019-05-30 | 2019-08-23 | 华中科技大学 | 一种基于rfid和激光雷达的三维地图重构系统及方法 |
CN110161527B (zh) * | 2019-05-30 | 2020-11-17 | 华中科技大学 | 一种基于rfid和激光雷达的三维地图重构系统及方法 |
CN110347769A (zh) * | 2019-07-09 | 2019-10-18 | 东方网力科技股份有限公司 | 多层级地图瓦片的处理方法、装置、设备和存储介质 |
CN110673947A (zh) * | 2019-08-12 | 2020-01-10 | 江苏博人文化科技有限公司 | 一种减少激光slam建图所需内存的方法 |
CN110673947B (zh) * | 2019-08-12 | 2022-04-05 | 江苏博人文化科技有限公司 | 一种减少激光slam建图所需内存的方法 |
CN112417029A (zh) * | 2020-12-04 | 2021-02-26 | 广东广宇科技发展有限公司 | 基于gis的2.5维空间数据可视化方法、介质和设备 |
CN112417029B (zh) * | 2020-12-04 | 2024-02-27 | 广东广宇科技发展有限公司 | 基于gis的2.5维空间数据可视化方法、介质和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593861A (zh) | 一种面向2.5维地图服务的瓦片加载方法 | |
JP7085012B2 (ja) | マップレンダリング方法、装置、コンピュータ装置及びコンピュータプログラム | |
EP4006844A1 (en) | Image rendering method and related device | |
CN110990510B (zh) | 三维地图生成方法、终端及服务器 | |
CN110647608B (zh) | 基于地图的海量数据聚合显示方法及系统、设备、介质 | |
CN105164500B (zh) | 用于在数字地图上指示用户位置以及面对方向的系统和方法 | |
CN103157281B (zh) | 一种二维游戏场景显示的方法和设备 | |
EP3570072A1 (en) | Wireless water regimen detecting device, system and method based on wifi | |
CN110990516A (zh) | 地图数据的处理方法、装置和服务器 | |
CN105302407A (zh) | 一种应用程序图标显示方法及装置 | |
CN105354022A (zh) | 一种页面布局文件生成方法及装置 | |
US20170330384A1 (en) | Product Image Processing Method, and Apparatus and System Thereof | |
CN109697733A (zh) | 点云空间寻点方法、装置、计算机设备和存储介质 | |
CN104952058B (zh) | 一种信息处理的方法及电子设备 | |
US8687011B2 (en) | Techniques for efficient sampling for image effects | |
CN104111951A (zh) | 栅格图片的绘制方法及装置 | |
CN107766436A (zh) | 一种地址关联数据处理方法、用户终端和服务器 | |
CN109658495A (zh) | 环境光遮蔽效果的渲染方法、装置及电子设备 | |
CN107038176B (zh) | 网络图页面渲染方法、装置及设备 | |
CN112200861B (zh) | 柱类型的确定方法和装置、存储介质及电子设备 | |
CN112530026A (zh) | 组件的关联方法及装置 | |
CN112308766A (zh) | 一种图像数据展示方法、装置、电子设备及存储介质 | |
CN109657514A (zh) | 一种用于生成和识别二维码的方法与设备 | |
CN103823864A (zh) | 一种信息处理方法及电子设备 | |
CN104376530B (zh) | 一种图像二次多级缩略切割处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140219 |