一种点对点的瓦片地图动态投影方法及装置制造方法

文档序号:6621930阅读:309来源:国知局
一种点对点的瓦片地图动态投影方法及装置制造方法
【专利摘要】本发明提供一种点对点的瓦片地图动态投影方法及装置,属于网络地图【技术领域】,该方法包括:获取客户端用户请求的地图显示范围和客户端显示坐标系统,确定用户请求的瓦片地图范围;根据用户请求的瓦片地图范围和地图显示比例尺,确定最佳地图显示层级和在该层级时对应的瓦片的行列位置,构成瓦片数据序列;确定用户请求的瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围;依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。上述方案通过点对点的动态投影转换绘制瓦片地图,实现了瓦片地图嵌入至GIS系统中的动态投影转换和无缝拼接。
【专利说明】一种点对点的瓦片地图动态投影方法及装置

【技术领域】
[0001]本发明涉及网络地图发布、地图资源客户端整合【技术领域】,特别是指一种点对点的瓦片地图动态投影方法及装置。

【背景技术】
[0002]与网络地理信息系统(WebGeographic Informat1n System,WebGIS)相比,桌面端地理信息系统(Geographic Informat1n System,GIS)具有更为丰富的功能和更强的分析处理能力。复杂的专业分析处理功能仍然需要在本地完成,尤其是在处理的数据量大、请求响应性能要求高的场合下,桌面端GIS比WebGIS更能满足用户的需求。将地图瓦片技术应用到桌面端GIS中,既可以调用远程服务器上的瓦片地图服务,丰富GIS系统的数据,降低基础数据的投资,又可以借助桌面端GIS强大的分析处理能力,满足用户的专业需求。在某些情况下,如系统涉密,没有网络环境等原因,GIS系统只能运行于局域网或是单机上,而系统建设由于数据成本高等,底图数据无法获取。此时采用地图瓦片技术,从数据提供单位获取地图切片库集成到桌面端GIS系统中。
[0003]瓦片地图的存储坐标系统都是固定的,大多数地图服务都采用Web墨卡托投影。在桌面端GIS中,地图查看者可随时修改地图显示坐标系统。对于瓦片地图服务,如果不进行动态投影转换直接绘制,当客户端显示坐标系统与瓦片地图坐标系统不一致时,瓦片地图和其他GIS数据就不能正确叠加显示。
[0004]在2013年公开的发明专利申请CN 103065544 A披露了一种动态地图投影下的网络地图配准及绘制方法,它首先根据客户端与服务器端的投影类型比较,进行地理范围值动态投影转换计算;然后利用瓦片地图切割规则和所请求参数,反计算获得需加载的所有瓦片的行列号和地图级别,并采用多个特征点获取得到的瓦片地图误差偏移值对每个瓦片的地理范围值进行误差校正。在下载完每个瓦片时候,利用数据加密算法(DataEncrypt1n Standard,DES)进行加密,并按顺序保存到一个与此地图瓦片同名的ini格式文件中。待所有所需地图瓦片下载完成后,再解密ini文件,读取到校正后地理范围值等数值,实现每个地图瓦片的绘制。在客户端和服务器端的地图上,分别利用H个特征点取误差平均值确定当前瓦片地图的待校准值,即求取偏移量;在每个地图瓦片下载完成时,为其计算相应的地理范围值,并利用所确定的待校准值对这个地理范围值进行校准处理,最后根据这四个值将地图瓦片绘制到正确地理位置上。由于坐标系统之间不一定为简单的线性关系,简单的偏移量不能解决坐标系统之间的非线性转换关系。因此,在投影绘制时不能精确地完成坐标之间的转换,动态投影转换存在一定误差甚至不能真正地实现相邻瓦片的无缝拼接。


【发明内容】

[0005]本发明要解决的技术问题是提供一种点对点的瓦片地图动态投影方法及装置,以解决现有技术所存在的不能精确完成不同坐标系统之间的非线性转换,以及不能实现相邻瓦片无缝拼接的问题。
[0006]为解决上述技术问题,本发明实施样例提供一种点对点的瓦片地图动态投影方法,所述方法包括:
[0007]获取客户端用户请求的地图显示范围和客户端显示坐标系统,根据客户端用户请求的地图显示范围和客户端显示坐标系统确定用户请求的瓦片地图范围;
[0008]根据所述用户请求的瓦片地图范围和地图显示比例尺,确定最佳地图显示层级;
[0009]根据所述用户请求的瓦片地图范围的左上角和右下角坐标算出在所述最佳地图显示层级时对应的瓦片的行列位置,构成瓦片数据序列;
[0010]确定所述瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围;
[0011]依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。
[0012]其中,所述用户请求的地图显示范围和所述用户请求的瓦片地图范围为矩形。
[0013]其中,所述获取客户端用户请求的地图显示范围和客户端显示坐标系统,根据客户端用户请求的地图显示范围和客户端显示坐标系统确定用户请求的瓦片地图范围,包括:
[0014]获取客户端用户请求的地图显示范围和客户端显示坐标系统;
[0015]判断客户端显示坐标系统与瓦片地图坐标系统是否一致,若是,则将用户请求的地图显示范围作为用户请求的瓦片地图范围;否则,
[0016]进行动态投影转换,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围。
[0017]其中,所述进行动态投影转换,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围方法包括:
[0018]在所述用户请求的地图显示范围的每个边上按预定间隔采样,获取采样点,将所有采样点转换到瓦片地图坐标系统上,获取转换后采样点的外接矩形,并将该外接矩形作为用户请求的瓦片地图范围。
[0019]其中,所述点对点的瓦片地图重采样方法包括:
[0020]依据所述内存位图宽度和高度,按照预定间隔生成一个客户坐标数组,并确定所述客户坐标数组中所有元素在客户端显示坐标系统下的显示坐标数组;
[0021]利用客户端显示坐标系统与瓦片地图坐标系统的转换关系,一次性将所述客户端显示坐标数组中所有元素转换为瓦片地图坐标数组;
[0022]利用双线性内插方法插值生成与所述内存位图高度和宽度一致的瓦片地图坐标数组,重采样后的瓦片地图坐标数组中的每一个元素对应于所述内存位图各像素在瓦片地图上的像素坐标值;
[0023]利用瓦片地图坐标系统求取所述瓦片的行列位置,将该位置上的像元直接赋给所述内存位图对应的像素;将推算出瓦片行列位置在瓦片数据之外的像元设置为透明颜色。
[0024]其中,所述预定间隔为2个像素。
[0025]本发明实施样例还提供一种点对点的瓦片地图动态投影装置,该装置包括:
[0026]第一确定模块,用于获取客户端用户请求的地图显示范围和客户端显示坐标系统,确定用户请求的瓦片地图范围,并将其发送给第二确定模块;
[0027]第二确定模块,用于根据所述用户请求的瓦片地图范围和地图显示比例尺,确定最佳地图显示层级;
[0028]构成模块,用于根据所述用户请求的瓦片地图范围的左上角和右下角坐标算出在所述第二确定模块确定出的最佳地图显示层级中对应的瓦片的行列位置,构成瓦片数据序列,并将瓦片数据序列发送给转换模块;
[0029]转换模块,用于确定所述瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围后提供给绘制模块;
[0030]绘制模块,用于依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。
[0031]其中,所述第一确定模块包括:
[0032]获取单元,用于获取客户端用户请求的地图显示范围和客户端显示坐标系统并将其发送给判断单元;
[0033]判断单元,用于判断客户端显示坐标系统与预先存储的瓦片地图坐标系统是否一致,若一致,则将用户请求的地图显示范围作为用户请求的瓦片地图范围;否则,向转换单元发送转换通知指令,同时将用户请求的地图显示范围和瓦片地图坐标系统发送给转换单元;
[0034]转换单元,用于根据所述判断单元发来的转换通知指令,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围。
[0035]本发明的上述技术方案的有益效果如下:
[0036]上述方案中,通过点对点的动态投影转换绘制瓦片地图,保证了瓦片上所有位置在不同坐标系统下的动态投影转换关系,实现了瓦片地图嵌入至GIS系统中的动态投影转换和无缝拼接,又保证了瓦片地图的绘制速度,从而拓展了网络地图服务的应用范围。

【专利附图】

【附图说明】
[0037]图1为本发明实施样例一提供的点对点的瓦片地图动态投影方法流程图;
[0038]图2为图1中SlOl的具体实施方法流程图;
[0039]图3为本发明实施样例提供的瓦片地图动态投影转换示意图;
[0040]图4为本发明实施样例提供的瓦片地图金字塔结构图;
[0041]图5为本发明实施样例提供的瓦片地图切片示意图;
[0042]图6为本发明实施样例提供的地图坐标系;
[0043]图7为本发明实施样例提供的屏幕坐标系;
[0044]图8为本发明实施样例提供的高斯投影下加载google地图示意图;
[0045]图9为本发明实施样例提供的高斯投影下显示google地图示意图;
[0046]图10为本发明实施样例二提供的点对点的瓦片地图动态投影装置结构示意图;
[0047]图11为图10中第一确定模块101的详细结构示意图。

【具体实施方式】
[0048]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施样例进行详细描述。
[0049]本发明针对现有的不能精确完成不同坐标系统之间的非线性转换,以及不能实现相邻瓦片无缝拼接的问题,提供一种点对点的瓦片地图动态投影方法及装置。
[0050]实施样例一
[0051]如图1所示为本发明实施样例一提供的点对点的瓦片地图动态投影方法流程图,所述方法包括以下步骤:
[0052]SlOl:获取客户端用户请求的地图显示范围和客户端显示坐标系统,根据客户端用户请求的地图显示范围和客户端显示坐标系统确定用户请求的瓦片地图范围。
[0053]S102:根据用户请求的瓦片地图范围和地图显示比例尺,确定最佳地图显示层级。
[0054]S103:根据用户请求的瓦片地图范围的左上角和右下角坐标算出在所述最佳地图显示层级时对应的瓦片的行列位置,构成瓦片数据序列。
[0055]S104:确定所述瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围。
[0056]S105:依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。
[0057]以下对图1中各步骤的具体实施方法进行详细说明。
[0058]上述方法中,由于在多数情况下,客户端显示坐标系统和瓦片地图坐标系统不同,需要进行二者间的转换。图2为图1中SlOl的具体实施方法流程图,如图2所示,确定用户请求的瓦片地图范围的方法包括以下步骤:
[0059]SlOll:获取客户端用户请求的地图显示范围和客户端显示坐标系统。
[0060]S1012:判断客户端显示坐标系统与瓦片地图坐标系统是否一致?若是,则执行S1013,否则执行S1014。
[0061]S1013:将用户请求的地图显示范围作为用户请求的瓦片地图范围。
[0062]S1014:进行动态投影转换,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围。
[0063]优选的,S1014进行动态投影转换,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围方法为:在所述用户请求的地图显示范围的每个边上按预定间隔采样,获取采样点,将所有采样点转换到瓦片地图坐标系统上,获取转换后采样点的外接矩形,该外接矩形作为用户请求的瓦片地图范围,如图3所示。
[0064]可选的,所述地图显示范围和所述瓦片地图范围为矩形。
[0065]以下详细说明图1所示方法中S102的具体实施方法。
[0066]首先介绍几个S102中确定最佳地图显示层级需要用到的参数:
[0067]如图4所示,瓦片数据的组织类似金字塔形状,瓦片地图在最小比例尺时,整个地球显示为一张256像素乘以256像素的地图。如图5所示,当每增加I个缩放级别时,图片数会增加4倍,所述图片数的增加是按照一定规则的,即一张图片会按照从上到下、从左到右的顺序分裂为4张图片。对于层级L,如果将所有瓦片的图片拼接在一起,构成一整幅图像,则图像的像素数由下式(I)计算:
[0068]W = H= 256 X 2l(I)
[0069]式(I)中,W和H分别表示图像列数和行数。将该虚拟的整幅图像左上角第一个像素位置定义为(0,0),然后从左向右从上到下对图像所有像元编码,就构成了像素坐标。
[0070]地面分辨率(Ground Resolut1n)是以一个像素代表的地面尺寸。当层级为O时,世界地图在一个瓦片地图上显示。由于一个瓦片的大小为256*256。因此,按经纬度计算,层级O的像元经度分辨率和纬度分辨率分别为360/256和180/256。设地球半径为r,纬度0上的平行于纬圈的地面分辨率由式(2)计算:
[0071]
R= 2Trcos(0)/256( 2 )
[0072]如图4所示,瓦片地图采用金字塔结构存储数据,低层的瓦片在相邻高层中被细分为4个大小相等的瓦片。因此,对于任意层级L,平行于纬圈的地面分辨率由式(3)计算:
[0073]
R= 2τι*cos(O)/(256 X 2-)( 3 )
[0074]地图比例尺是指测量地物目标时,地图上距离与实际距离的比例。地图在屏幕上显示时,需要利用显示分辨率换算得到地理比例尺。显示分辨率使用dpi表示,dpi为地图显示时每英寸的像素数。如果瓦片地图按照1:1的像素比展示在屏幕上,则可依据式(4)计算此时的地图比例尺S:
[0075]S = I/(RX dpi X 0.0254)(4)
[0076]在实际地图显示时,地图比例尺已知。设&为最佳地图显示层级L对应的地面分辨率,R为实际地面分辨率,Rl+1为L+1对应的地面分辨率,则最佳地图显示层级L满足下式
(5):
[0077]Rl+1 < R 彡 Rl(5)
[0078]最终,将SlOl中确定的瓦片地图徂围代入式(5),能确定出该瓦片地图徂围的最佳地图显示层级L,S102执行完毕。
[0079]图1中S103通过如下方法实现:
[0080]设瓦片地图上某一点的地图坐标为(X,y),利用坐标转换公式获取该点的地理坐标(lon,lat)。在此基础上,利用式(6)可求取该点在层级L时的像素坐标(Px,Py):
?P—, =X 21
[0081];,… (6)
P” = 0.5- ^-"■—'-: K 21 sirJ = SinfIat * 】/1_|
V--、v ^
[0082]随后根据所述像素坐标(Px,Py),利用式(7)求取该点在给定层级L时的瓦片的行列位置(Tx,Ty):
關幌S(V)
[0084]式(7)中,Int为取整函数。
[0085]因此,根据用户请求的瓦片地图范围左上角和右下角坐标(xl,yl)、(x2, y2),首先将其转换为地理坐标(lonl, latl)、(lon2, lat2)。利用式(6)和式(7)得到左上角和右下角坐标对应的瓦片的行列位置,从而构成瓦片数据序列,由于用户请求的瓦片地图范围为矩形,所以待绘制的瓦片数据序列也为一个矩阵序列,由此S103执行完毕。
[0086]由于瓦片按照瓦片地图坐标系统存储,需要转换为显示坐标系统后才能正常显示。因此S104中,对于瓦片数据序列中的每一个瓦片,获取其在瓦片地图坐标系统下的矩形范围,按照图3所示的思路反算该瓦片投影到客户端显示坐标系统下的矩形范围。GIS在展示空间数据时,一般规定屏幕坐标与地图坐标在水平和垂直方向均呈线性关系。因此,可根据屏幕距离和地图距离的相似比获取水平和垂直方向的线性系数。如图6所示,GIS中地图坐标的原点在左下角,X轴正方向向右,Y轴正方向向上;如图7所示,屏幕坐标的原点在左上角,X轴正方向向右,Y轴正方向向下。根据线性关系,不难得出公式⑶和公式(9):
[0087]X = ax*X,+bx(8)
[0088]Y = ay*Y,+by(9)
[0089]其中,X、Y为地图上某点的坐标,V、Y’为屏幕上对应点的像素坐标,ax、ay为转换系数;bx、by为常数。
[0090]优选的,利用式⑶和式(9),将瓦片投影到客户端显示坐标系统下的矩形范围转换为客户区坐标范围,该范围即为瓦片数据显示的客户坐标范围。
[0091]S105中,首先依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,用于存放投影后的瓦片地图。由于瓦片本身按照瓦片地图坐标系统存储,在瓦片地图绘制时,仍然需要进行动态投影转换。本实施样例采用点对点的瓦片地图重采样方法绘制瓦片地图,所述点对点的瓦片地图重采样方法包括以下步骤:
[0092]S1051:依据所述内存位图宽度和高度,按照预定间隔生成一个客户坐标数组,并确定所述客户坐标数组中所有元素在客户端显示坐标系统下的显示坐标数组,其中,所述预定间隔为2个像素;
[0093]S1052:利用客户端显示坐标系统与瓦片地图坐标系统的转换关系,一次性将所述客户端显示坐标数组中所有元素转换为瓦片地图坐标数组;
[0094]S1053:利用双线性内插方法插值生成与所述内存位图高度和宽度一致的瓦片地图坐标数组,重采样后的瓦片地图坐标数组中的每一个元素对应于所述内存位图各像素在瓦片地图上的像素坐标值;
[0095]S1054:利用瓦片地图坐标系统求取所述瓦片的行列位置,将该位置上的像元直接赋给所述内存位图对应的像素;并将推算出瓦片行列位置在瓦片数据之外的像元设置为透明颜色。
[0096]本实施样例提供的点对点的瓦片地图动态投影方法,在获取客户端用户请求的地图显示范围和客户端显示坐标系统后,确定用户请求的瓦片地图范围;根据所述瓦片地图范围和地图显示比例尺,确定最佳地图显示层级和在最佳地图显示层级时对应的瓦片的行列位置,从而构成瓦片数据序列;进一步确定所述瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围;依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。
[0097]上述实施样例中,瓦片地图经过两次相反的动态投影转换过程,两次转换后,新的坐标范围大于等于原地图范围;另外,由于坐标系统之间并非简单的线性关系,瓦片在瓦片地图坐标系统中为矩形,投影后不一定保持矩形。上面两方面的因素导致了经过点对点动态投影转换后,有部分像元推算出来的瓦片行列位置在瓦片数据之外,将这些像元设置为透明颜色,从而可实现相邻瓦片地图无缝拼接,并且本实施样例采用点对点的瓦片地图重采样方法绘制瓦片地图,能够加快投影绘制过程。
[0098]瓦片地图动态投影显示效果图如图8和图9所示,展示的是当地图显示坐标系统为高斯投影,叠加google地图的效果。其中,图8为高斯投影下加载google地图中间过程的截图,可见高斯投影后的瓦片在显示时外边缘并非为矩形范围。图9为google地图加载完成后地图显示效果,从图9可见,本发明提供的方法实现了动态投影转换条件下的瓦片地图无缝展示,并能与其他空间数据(图8和图9还叠加显示了中国的公路和铁路数据)正确叠加。
[0099]实施样例二
[0100]如图10所示为本发明实施样例二提供的点对点的瓦片地图动态投影装置的结构示意图,该装置包括:
[0101]第一确定模块101,用于获取客户端用户请求的地图显示范围和客户端显示坐标系统,确定用户请求的瓦片地图范围并将其发送给第二确定模块102。
[0102]第二确定模块102,用于根据用户请求的瓦片地图范围和地图显示比例尺,确定最佳地图显示层级。
[0103]构成模块103,用于根据用户请求的瓦片地图范围的左上角和右下角坐标,算出在第二确定模块102确定出的最佳地图显示层级中对应的瓦片的行列位置,构成瓦片数据序列,并将瓦片数据序列发送给转换模块104。
[0104]转换模块104,用于确定所述瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围后提供给绘制模块105。
[0105]绘制模块105,用于依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。
[0106]在多数情况下,客户端显示坐标系统和瓦片地图坐标系统不同,需要进行动态投影转换。
[0107]优选的,本发明实施样例在获取到客户端用户请求的地图显示范围和客户端显示坐标系统后,需对客户端坐标系统和瓦片地图坐标系统进行是否一致的判断,最终确定在瓦片地图坐标系统下用户请求的地图范围,即瓦片地图范围。对应的,图11为图10中第一确定模块101的详细结构示意图,参照图11,该模块包括:
[0108]获取单元1011,用于获取客户端用户请求的地图显示范围和客户端显示坐标系统并将其发送给判断单元1012 ;
[0109]判断单元1012,用于判断客户端显示坐标系统与预先存储的瓦片地图坐标系统是否一致,若一致,则将用户请求的地图显示范围作为用户请求的瓦片地图范围;否则,向转换单元1013发送转换通知指令,同时将用户请求的地图显示范围和瓦片地图坐标系统发送给转换单元1013 ;
[0110]转换单元1013,用于根据判断单元1012发来的转换通知指令,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围。
[0111]综上所述,本发明实施样例通过点对点的动态投影转换绘制瓦片地图,保证了瓦片上所有位置在不同坐标系统下的动态投影转换关系,实现了瓦片地图嵌入至GIS系统中动态投影转换和无缝拼接,又保证了瓦片地图的绘制速度,拓展了网络地图服务的应用范围。
[0112]以上所述是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种点对点的瓦片地图动态投影方法,其特征在于,所述方法包括: 获取客户端用户请求的地图显示范围和客户端显示坐标系统,根据客户端用户请求的地图显示范围和客户端显示坐标系统确定用户请求的瓦片地图范围; 根据所述用户请求的瓦片地图范围和地图显示比例尺,确定最佳地图显示层级;根据所述用户请求的瓦片地图范围的左上角和右下角坐标算出在所述最佳地图显示层级时对应的瓦片的行列位置,构成瓦片数据序列; 确定所述瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围; 依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。
2.根据权利要求1所述的点对点的瓦片地图动态投影方法,其特征在于,所述用户请求的地图显示范围和所述用户请求的瓦片地图范围为矩形。
3.根据权利要求1所述的点对点的瓦片地图动态投影方法,其特征在于,所述获取客户端用户请求的地图显示范围和客户端显示坐标系统,根据客户端用户请求的地图显示范围和客户端显示坐标系统确定用户请求的瓦片地图范围,包括: 获取客户端用户请求的地图显示范围和客户端显示坐标系统; 判断客户端显示坐标系统与瓦片地图坐标系统是否一致,若是,则将用户请求的地图显示范围作为用户请求的瓦片地图范围;否则, 进行动态投影转换,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围。
4.根据权利要求3所述的点对点的瓦片地图动态投影方法,其特征在于,所述进行动态投影转换,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围方法包括: 在所述用户请求的地图显示范围的每个边上按照预定间隔采样,获取采样点,将所有采样点转换到瓦片地图坐标系统上,获取转换后采样点的外接矩形,并将该外接矩形作为用户请求的瓦片地图范围。
5.根据权利要求1所述的点对点的瓦片地图动态投影方法,其特征在于,所述点对点的瓦片地图重采样方法包括: 依据所述内存位图宽度和高度,按照预定间隔生成一个客户坐标数组,并确定所述客户坐标数组中所有元素在客户端显示坐标系统下的显示坐标数组; 利用客户端显示坐标系统与瓦片地图坐标系统的转换关系,一次性将所述客户端显示坐标数组中所有元素转换为瓦片地图坐标数组; 利用双线性内插方法插值生成与所述内存位图高度和宽度一致的瓦片地图坐标数组,重采样后的瓦片地图坐标数组中的每一个元素对应于所述内存位图各像素在瓦片地图上的像素坐标值; 利用瓦片地图坐标系统求取所述瓦片的行列位置,将该位置上的像元直接赋给所述内存位图对应的像素;将推算出瓦片行列位置在瓦片数据之外的像元设置为透明颜色。
6.根据权利要求4或5所述的点对点的瓦片地图动态投影方法,其特征在于,所述预定间隔为2个像素。
7.一种点对点的瓦片地图动态投影装置,其特征在于,包括: 第一确定模块,用于获取客户端用户请求的地图显示范围和客户端显示坐标系统,确定用户请求的瓦片地图范围,并将其发送给第二确定模块; 第二确定模块,用于根据所述用户请求的瓦片地图范围和地图显示比例尺,确定最佳地图显示层级; 构成模块,用于根据所述用户请求的瓦片地图范围的左上角和右下角坐标,算出在所述第二确定模块确定出的最佳地图显示层级中对应的瓦片的行列位置,构成瓦片数据序列,并将瓦片数据序列发送给转换模块; 转换模块,用于确定所述瓦片数据序列中的每一个瓦片投影到客户端显示坐标系统下的矩形范围,并将该矩形范围转换为瓦片数据显示的客户坐标范围后提供给绘制模块; 绘制模块,用于依据各瓦片数据显示的客户坐标范围,生成同样大小的内存位图,并采用点对点的瓦片地图重采样方法绘制瓦片地图。
8.根据权利要求7所述的点对点的瓦片地图动态投影装置,其特征在于,所述第一确定模块包括: 获取单元,用于获取客户端用户请求的地图显示范围和客户端显示坐标系统并将其发送给判断单元; 判断单元,用于判断客户端显示坐标系统与预先存储的瓦片地图坐标系统是否一致,若一致,则将用户请求的地图显示范围作为用户请求的瓦片地图范围;否则,向转换单元发送转换通知指令,同时将用户请求的地图显示范围和瓦片地图坐标系统发送给转换单元; 转换单元,用于根据所述判断单元发来的转换通知指令,将用户请求的地图显示范围转换为在瓦片地图坐标系统下的用户请求的瓦片地图范围。
【文档编号】G06T3/00GK104134187SQ201410369585
【公开日】2014年11月5日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】陈军, 唐古拉, 文军 申请人:陈军
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1