[发明专利]一种二维地图瓦片的多线程显示机制无效
申请号: | 201210167829.1 | 申请日: | 2012-05-28 |
公开(公告)号: | CN102750180A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 周亚男;骆剑承;胡晓东;李红旮;沈占锋;郜丽静 | 申请(专利权)人: | 中国科学院遥感应用研究所 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100101 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二维 地图 瓦片 多线程 显示 机制 | ||
技术领域
本发明涉及地图服务客户端的二维地图瓦片多线程显示机制,具体涉及地图的瓦片划分及瓦片编码、地图显示视图的状态、地图瓦片的请求线程和地图瓦片的显示线程;本发明适用于地图服务中客户端二维地图瓦片的多线程显示。
背景技术
在网络上发布地图数据,为用户提供实时在线的地图浏览、查询等功能成为WebGIS的重要应用。由于地图数据的复杂、海量等特性,瓦片地图技术成为网络地图服务的重要手段,即瓦片地图服务(Tile Map Server,TMS)。在瓦片地图服务端,针对地图瓦片的生成、组织管理和请求响应,Google Map、BingMaps和OpenLayers等都根据不同的应用需求,实现了相应的瓦片地图服务。参考文献包括http://en.wikipedia.org/wiki/Mercator_projection、http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification、http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/和http://msdn.microsoft.com/en-us/library/bb259689.aspx等。
在地图服务的客户端,传统的整块地图显示模式无法应对地图服务响应延迟、地图数据量大、网络环境不稳定等不利因素。基于瓦片地图服务的Google Map/Earth、BingMaps的客户端,在地图瓦片请求的发送、地图瓦片的显示和地图可视化的多线程实现机制等方面,目前可见的专利、文献涉及较少。
多线程技术主要优势在于充分利用CPU的空闲时间片,尽可能快地对用户请求做出响应,提高进程的整体运行效率,同时增强应用程序的灵活性。尤其在人际交互频繁的客户端用户界面,多线程的使用使得用户操作同后台处理相分离,减少客户端的请求响应时间,提升用户体验。参考文献包括Wan D.S.Study on large-scale terrain interactive walkthrough based on multi-threaded,Computer Engineering and Design,2008、LI Y.Z.Application Program Interface Design with Thread of VC++,Journal of Northwest Minorities University(Natural Science Edition)等。
本发明提出一种切实可行的二维地图瓦片多线程显示机制,特别适用于网络环境下电子地图的展示查看。
发明内容
本发明的目的是为瓦片地图服务的客户端提供一种二维地图瓦片的多线程显示机制,特别是采用状态机表达显示视窗的地理范围和显示比例,分离界面主线程、任务发送线程和瓦片显示线程,减少客户端的响应时间,实现良好的人机交互体验。
本发明的技术方案涉及地图瓦片的划分及其编码,显示视图的状态、瓦片显示任务、地图瓦片缓存等存储结构和界面显示主线程、任务发送线程和瓦片显示线程等部分。瓦片显示机制的实现思路为:在选定的地理参考系统下对全球地理范围进行四叉树划分,构建地图瓦片编码;建立视图状态池,维护当前视图显示状态对应的地图瓦片状态;建立显示任务池,维护由显示视图状态改变而生成的瓦片显示请求,供任务发送线程取用;建立地图瓦片缓存池,存储客户端的瓦片请求结果,提高地图瓦片的显示速度;根据当前视图的地理范围和地图比例,计算合适的瓦片分块,并将其地理编码记录到视图状态池和显示任务池中;采用多线程机制,分离界面主线程、地图瓦片请求和地图瓦片绘制,从而减少界面响应时间,提高显示速度,改善人机交互体验。
本发明的技术方案提供了二维地图瓦片的多线程显示机制,其特征在于包括以下实施步骤:
1)选定一种地理参考系统,对全球地理范围进行基于四叉树的瓦片划分,并构建地图瓦片编码;
2)人机交互改变显示视图的地图范围和地图比例,依据该地图范围和地图比例,计算合适的地图瓦片分块,并将其地理编码记录到视图状态池和显示任务池中;
3)任务发送线程查询显示任务池,逐个取出显示任务的瓦片请求,并判断地图瓦片缓存中是否存在该瓦片,如果没有则向地图瓦片服务器请求相应的瓦片数据;
4)地图瓦片服务器响应地图瓦片的显示请求,将瓦片数据发送到客户端,并写入地图瓦片缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院遥感应用研究所,未经中国科学院遥感应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210167829.1/2.html,转载请声明来源钻瓜专利网。