一种电子地图全景图获取方法及系统的制作方法_4

文档序号:9754769阅读:来源:国知局
>[0127] Image·x=(Mercator·x-xmin)/(xmax_xmin)*ImageWidth
[0128] Image·y = (ymax-Mercator·y)/(ymax-ymin)*ImageHe i ght
[0129] 其中,Mercator. x表示X轴方向上的墨卡托坐标,Mercator. y表示Y轴方向上的墨 卡托坐标,Image. X表示X轴方向上的图像坐标,Mercator. y表示Y轴方向上的图像坐标。
[0130] 在本发明实施例中,底图数据的存储方式是由大量静态瓦片图像组成的,每一张 瓦片都严格按照所在地图层级、y坐标、X坐标三层结构存储在服务器上,用户浏览地图时, GIS引擎会自动搜索相应的位置,把对应的瓦片拼接成完整图像,展示给用户。为了获得更 高分辨率的图像,需要对现有GIS引擎的拼接算法进行改进,本发明实施例的底图拼接算法 可以根据用户输入的截图范围和分辨率,自动转换坐标,拼接计算出所需要的瓦片索引,再 拼接成完整图像。
[0131] 一张完整的底图可以由地图分辨率和矩形范围两个参数唯一确定,地图分辨率又 由当前地图层级唯一确定,而矩形范围涉及矩形上、下、左、右四角坐标这四个子参数,所 以,拼接底图的过程可以简化为以下模型:
[0132] 输入:地图层级、1111;[11,5011;[11,111^,501^(地图显示区域四角坐标)
[0133] 输出:底图图像
[0134] 为了拼接底图,客户端在将所述分辨率以及所述截图区域内的地图数据发送至所 述服务器的同时,还将客户端侧的地图显示区域四角对应的屏幕坐标发送至所述服务器。 需要说明的是,在电子地图交互界面上存在一个用于显示电子地图的区域,这个区域通常 为正方形或长方形,所述地图显示区域四角即所述正方形或长方形的四角。其中,所述地图 显示区域四角对应的屏幕坐标,是根据屏幕四角坐标以及地图显示区域在屏幕中的位置计 算得出的。
[0135] 上述模型即步骤203的实现步骤为:
[0136] 1、获取客户端侧的地图显示区域四角的屏幕坐标;
[0137] 2、在确定的地图层级(即上述分辨率对应的地图层级)上,将所述客户端侧的地图 显示区域四角对应的屏幕坐标转换为墨卡托坐标;
[0138] 3、将所述墨卡托坐标转换为瓦片坐标;
[0139] 4、根据所述瓦片坐标,获取所述地图显示区域内的所有地图瓦片,即根据地图显 示区域四角对应的瓦片坐标,便可以索引到整个地图显示区域内的所有瓦片;
[0140] 5、利用所述所有地图瓦片拼接成所述地图显示区域内的电子地图底图;
[0141] 6、通过将底图中多余的部分裁剪掉,以从所述地图显示区域内的电子地图底图 中,截取所述截图区域内的电子地图底图。
[0142] 步骤204:所述服务器根据所述地图数据在所述地图底图上绘制地图信息。
[0143] 在电子地图中,除了底图数据之外,往往还含有大量的矢量数据(如省界)和用户 标注(如用户查询出来的Ρ0Ι点及其图标、行车路线)等等,即所述客户端发送至所述服务器 的地图数据包括:用户标注信息和存储在所述服务器侧数据库中的地图数据。
[0144] 在拼接完底图之后,下一步操作就是这把这些地图图形及相关信息和用户标注信 息绘制在底图上。前端页面传入的地图数据(图形与标注信息)已经被解析成对应的 JavaBean,根据这些地图数据,通过java. awt. Graph i c s 2D包中的绘图方法即可把所有的图 形信息与标注信息绘制在底图上,如点、线、多边形、图标等。由于需要利用图像坐标进行绘 图,而所述客户端发送至所述服务器的地图数据为墨卡托坐标数据,因此,所述服务器需要 将所述墨卡托坐标数据转换为图像坐标数据,进而根据所述图像坐标数据在步骤203中拼 接出的地图底图上绘制地图信息,所述地图信息包括存储在数据库中的截图区域内的所有 地图图像以及用户后来标注的信息。
[0145] 步骤205:所述服务器将绘制好的截图图像地址发送给所述客户端,以便所述客户 端根据所述截图图像地址下载绘制好的截图图像,即截图区域的全景图。
[0146] 当截图区域内的全景图全部绘制生成完毕后,服务器将全景图的地址发送给客户 端,由用户决定是否下载,用户通过客户端下载截图区域内的全景图后,便可进行显示,显 示的是确定地图层级上的截图区域全景图。
[0147] 本发明实施例提供的电子地图全景图获取方法,客户端获取用户在电子地图显示 范围内选取的截图区域,并获取用户输入的对所述截图区域的分辨率,所述分辨率对应的 一个地图层级,服务器拼接出属于该地图层级上的所述截图区域内的地图底图及地图底图 上的地图信息,并将绘制图像的地址发送至客户端以便客户端下载图像。可见,本发明实施 例根据用户设置的分辨率,可实现任意分辨率的全景图下载,与屏幕本身的分辨率无关,无 论是电脑、手机、平板都可以下载高清全景图,此外,全景图下载过程全自动拼接,比人工合 成速度快,效率高、节省成本。
[0148] 参见图10,为本发明实施例提供的电子地图全景图获取系统的组成示意图,所述 系统包括客户端1001和服务器1002:
[0149] 所述客户端1001,用于获取用户在电子地图显示范围内选取的截图区域,并获取 用户输入的对所述截图区域的分辨率,将所述分辨率以及从所述客户端侧读取的所述截图 区域内的矢量形式的地图数据发送至所述服务器1002;
[0150] 所述服务器1002,用于确定所述分辨率对应的地图层级,并拼接出属于所述地图 层级上的所述截图区域内的地图底图,根据所述地图数据在所述地图底图上绘制地图信 息,将绘制好的截图图像地址发送给所述客户端1001,以便所述客户端1001根据所述截图 图像地址下载绘制好的截图图像。
[0151] 在本发明实施例中,所述客户端1001具有用于按照下述方式获取用户在电子地图 显示范围内选取的截图区域:
[0152]获取用户利用所述客户端显示的截图框在电子地图显示范围内框选的截图区域; [0153]或者,获取用户通过触屏选取方式在电子地图显示范围内圈选的截图区域;
[0154]或者,获取用户从预设区域选项中选择的区域项并将所述区域项发送至所述服务 器,所述服务器侧保存了电子地图中预设区域的轮廓信息;获取所述服务器返回的所述区 域项对应的预设区域的轮廓信息,将获取的轮廓信息作为对所显示电子地图的截图区域。 [0155]在本发明实施例中,所述客户端1001具有用于按照下述方式将从所述客户端侧读 取的所述截图区域内的矢量形式的地图数据发送至所述服务器:
[0156]所述客户端将所述地图数据转换为Json格式,并通过Post请求方式将所述Json格 式的地图数据发送至所述服务器;
[0157] 所述服务器,还用于解析所述Json格式的地图数据,并利用预先定义的JavaBean 存储解析后的地图数据。
[0158] 在本发明实施例中,所述客户端1001,还用于在将所述分辨率以及所述截图区域 内的地图数据发送至所述服务器1002的同时,将所述客户端1001侧的地图显示区域四角对 应的屏幕坐标发送至所述服务器1002;
[0159] 所述客户端1001具有用于按照下述方式拼接出属于所述地图层级上的所述截图 区域内的地图底图:
[0160]在确定的地图层级上,将所述客户端侧的地图显示区域四角对应的屏幕坐标转换 为墨卡托坐标;
[0161 ]将所述墨卡托坐标转换为瓦片坐标;
[0162] 根据所述瓦片坐标,获取所述地图显示区域内的所有地图瓦片,并利用所述所有 地图瓦片拼接成所述地图显示区域内的电子地图底图;
[0163] 从所述地图显示区域内的电子地图底图中,截取所述截图区域内的电子地图底 图。
[0164] 在本发明实施例中,所述客户端1001发送至所述服务器1002的地图数据为墨卡托 坐标数据,所述服务器1002具有用于按照下述方式绘制所述地图信息:
[0165] 所述服务器1002将所述墨卡托坐标数据转换为图像坐标数据,根据所述图像坐标 数据在所述地图底图上绘制地图信息。
[0166] 在本发明实施例中,所述地图数据包括:用户标注信息和存储在所述服务器1002 侧数据库中的地
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1