论文部分内容阅读
Geo PDF是一种新兴的存储地图的文件格式。Geo PDF地图以PDF文件格式为基础,除了存储文字和图像以外,还存储了图像所关联的地理属性信息,成功的解决了传统地图在易用性、便携性上的局限性,正在得到社会越来越多的关注。目前,市场上浏览Geo PDF地图的工具是普通的PDF文件浏览器。普通的PDF浏览器在浏览Geo PDF地图时有很大的缺陷:无法在多个Geo PDF地图文件之间进行浏览,用户浏览Geo PDF地图时只能被局限于一个Geo PDF文件以内。对于习惯了使用成熟的地图浏览系统如Google Map,百度地图的用户来说,这种体验是十分糟糕的。针对上述现象,本文设计与实现了一个可以在多个Geo PDF地图文件之间进行浏览的系统,填补了市场上在这一方向的空白。参考MVC架构,本系统将地图的显示、对地图的操作和对地图数据的管理分开,分别形成了三个相对独立的模块:视图模块,交互模块与数据管理模块。在实现整个系统的过程中,本文主要做了如下工作:1.对PDF文件标准与Geo PDF文件标准进行了深入的研究,了解了PDF与Geo PDF存储地图信息的方式,并在此基础上使用了一个第三方库为实现了解析Geo PDF地图文件信息的功能。2.对系统绘制地图的机制进行了研究与分析,设计并实现了一个高效绘制Geo PDF地图的方案。该方案的基本思想是合并多次绘制请求,在一次绘制过程中完成尽量多的绘制任务,减少系统绘制的次数,从而提高了绘制地图的效率。3.对Geo PDF地图的特点进行了研究,提出了一种与传统地图缓存系统不同的Geo PDF地图缓存系统。本系统中的Geo PDF地图缓存系统采用了一种特殊的网格缓存结构,该网格缓存具有占用内存大小不变,网格单元可以由若干Geo PDF拼接而成的特点,很好的解决了浏览Geo PDF地图过程中遇到的文件拼接问题与内存回收问题。4.对渲染Geo PDF地图的机制进行了深入的分析,设计了一种高效的并行渲染Geo PDF地图方案。该方案首先设计了一种高效的渲染任务队列,然后设计了一种可以区分Geo PDF状态的Geo PDF缓存对象管理模块,并在此模块上设计了一种高效的缓存替换算法。最后实现了复杂的并发多任务渲染系统,实现了高效的地图渲染功能。5.对Geo PDF地理要素数据与框架数据不匹配的问题进行了研究,设计了一种抽象的Geo PDF地理要素数据模型和将Geo PDF物理文件中的要素数据转换为这种抽象数据模型的方法,解决了框架与Geo PDF数据不匹配的问题。本系统来自于实际科研项目,目前已经得到了实际应用,总体达到了令人满意的效果。