CN106775225A - 跨文档无缝漫游浏览pdf地图的方法 - Google Patents
跨文档无缝漫游浏览pdf地图的方法 Download PDFInfo
- Publication number
- CN106775225A CN106775225A CN201611095234.4A CN201611095234A CN106775225A CN 106775225 A CN106775225 A CN 106775225A CN 201611095234 A CN201611095234 A CN 201611095234A CN 106775225 A CN106775225 A CN 106775225A
- Authority
- CN
- China
- Prior art keywords
- map
- document
- roaming
- screen
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Instructional Devices (AREA)
Abstract
本发明涉及一种跨文档无缝漫游浏览PDF地图的方法。传统的PDF地图浏览器主要面向日常文档阅读,每次只能渲染一个PDF页面,无法实现跨图幅的浏览。本发明扩展接图表功能,让接图表同时记录各个图幅的地理坐标,将接图表组织起来的地图文档集作为无缝的地理范围;地图浏览时,将电子地图屏幕直接映射到该接图表表示的地理范围中,形成表示浏览范围的逻辑视窗;以逻辑视窗作为渲染范围,完成电子地图的渲染;漫游和缩放时,重新计算逻辑视窗位置,触发新一轮的地图渲染。本发明实现了跨图幅的无缝漫游,以及文档缓存、快速渲染、多比例尺地图集的自动适应,满足地图用户常规操作习惯的同时,带来出版原图级的高品质地图产品。
Description
技术领域
本发明属于地理PDF地图浏览技术领域,具体涉及一种跨文档无缝漫游浏览PDF地图的方法。
背景技术
PDF(portable document format)是Adobe公司开发设计的一种文档记录格式。PDF文档包含在屏幕上显示和在打印机、照排机以及直接制版机上输出所需的全部数据信息,完全独立于创建它的原始应用程序和计算机平台,已成为电子文档传输和数字化信息传播的理想文档格式。2004年美国雷顿图形(Layton Graphics)公司提出用PDF文档存储地图与地理信息的GeoPDF文件格式。该文件格式基于已有的PDF标准,扩充了许多功能,创造性的将地图要素空间数据、属性数据以及地图符号库等地理信息全部存储到PDF对象中,形成独立文件。GeoPDF无需GIS软件或其他复杂的可视化系统的支持,只要任意PDF阅读器就可以浏览地图,成功的解决了传统数字地图在易用性、便携性上的局限,甚至可以让非专业用户也能快速使用、分享地图成果。
当然,目前PDF地图应用模式也有其局限性。首先,地图生产大都是基于图幅的,每个图幅对应一个PDF文档;其次,常见PDF阅读器的GIS工具都是针对单文档的,无法实现跨文档的GIS应用,连最基本的跨文档地图浏览都无法实现。然而,随着GIS的不断推广,各种地图应用正为人们所熟悉,如Google Map、百度地图、高德地图等,这些地图应用都是基于多文档的,用户可以在多个地图文档中任意漫游,跨地图文档拼接对用户来说是透明的。这样的应用习惯对PDF地图的推广带来了挑战。因而,设计一种基于PDF地图的跨文档地图浏览器是很有应用价值的。
发明内容
本发明的目的是提供一种跨文档无缝漫游浏览PDF地图的方法,以实现PDF地图的无缝漫游,使得一般用户既可获得PDF地图实时渲染所带来的高品质,又不受单个PDF地图文档的地理范围限制。
本发明所采用的技术方案为:
跨文档无缝漫游浏览PDF地图的方法,其特征在于:
包括以下步骤:
扩展接图表功能,让接图表同时记录各个图幅的地理坐标,将接图表组织起来的地图文档集作为无缝的地理范围;
地图浏览时,将电子地图屏幕直接映射到该接图表表示的地理范围中,形成表示浏览范围的逻辑视窗;
以逻辑视窗作为渲染范围,完成电子地图的渲染;
漫游时,逻辑视窗大小不变,但其在接图表中的位置会有相应位移;无需顾及单幅PDF地图的范围,重新计算逻辑视窗位置,触发新一轮的地图渲染;
缩放时,逻辑视窗的大小发生变化,同样重新计算逻辑视窗位置,触发新一轮的地图渲染。
所述方法支持多任务异步渲染,包括以下步骤:
步骤一:计算当前窗口的逻辑视窗;
步骤二:逻辑视窗与接图表做相交运算,获得涉及渲染操作的所有PDF地图文档;
步骤三:将涉及渲染的图幅坐标反算回屏幕坐标,可得到每幅PDF地图应该显示的屏幕位置;
步骤四:将各图幅的渲染区域分发给各个子任务;
步骤五:各子任务自行渲染,并将渲染结果异步返回给主任务;
步骤六:将各子任务返回的渲染结果拷贝到合适的位置。
所述方法支持分区渲染,包括以下步骤:
针对每个PDF地图页面,每次只渲染其与当前屏幕相交的矩形区域,并不渲染整个PDF页面,减少不必要的渲染,提高渲染速度;
拖拽漫游时,保存上次的渲染结果,并将其直接作为当前渲染结果的一部分,减少当前渲染的范围;
若称当前需要渲染的区域为无效区,则大部分情况下,拖拽漫游的无效区为L型;将L型的无效区以水平方向分割成两个矩形区域,作为当前渲染区域,进一步缩小渲染范围,提高渲染速度;
若无效区为矩形,则可认为L型的无效区退化成了矩形,算法不变。
所述方法支持文档缓存,包括以下步骤:
将预浏览的PDF文档提前加载缓存,在漫游浏览需要切换地图文档时,省去文档加载时间;
采用9宫格形式的缓存方案,将当前正在浏览地图以及周边8幅地图文档全部缓存在内存中,保证向任意方向的漫游都有预先缓存的PDF地图文档;
以9宫格4个顶点文档中心位置为顶点构造一个矩形区作为漫游调整边界;只要漫游没有超出调整边界,不需要调整缓存文档;当漫游超出调整边界时,需要对缓存的文档进行调整,确保当前浏览范围四周的文档实时缓存;
当地图向上漫游超过调整上边界时,将接图表中与缓存地图文档上边界相邻的3幅地图文档加载进内存缓存;同时,为保证内存中缓存的文档不会太多,需要将最下面3幅文档从内存中卸载,也就是需要将水平方向的3幅地图文档进行调整,加载3幅新的地图文档,卸载3幅旧的地图文档,最终结果还是以当前浏览地图为中心,保证9宫格形式的9幅地图实时缓存于内存中;
设定P00、P01、、、P22等9宫格为一个映射表,当需要进行文档调整时,第二行和第三行只需重新映射缓存文档,而只有第一行要映射新加载的文档,同时将不需要映射的旧文档卸载;漫游超过调整下边界的调整方式与超过上边界的调整方式一致;
当漫游超出左边界时同样需要进行缓存文档的调整,其方法类似;此时,同样需要将9宫格的映射表重新映射,只是第一列映射新加载的文档,而第二列和第三列映射之前第一列和第二列的缓存文档,将原来第三列映射的文档卸载;当漫游超出调整右边界时,其调整方法与漫游超出左边界的方法一致;
当漫游导致同时超出水平边界和垂直边界时,可以依次进行水平边界和垂直边界调整;但两次调整需要加载、卸载6个PDF文档,然而实际只需调整5个即可,依次调整会导致一个不必要的文档被加载、卸载,影响了性能,同时对水平边界和垂直边界进行调整,调整时涉及9宫格重新映射以及5个缓存文档的加载、卸载。
所述方法支持地图比例尺自动适配,包括以下步骤:
根据预设的PDF地图文档比例尺设定屏幕显示比例尺缩放变化的范围;
将屏幕比例尺变化范围划分为几个区间,每个区间对应一级地图比例尺;
当缩放引起屏幕比例尺变化处于某个区间时,始终用该区间对应的比例尺PDF文档渲染地图;当缩放引起屏幕比例尺变化超越区间边界进入另外一个区间时,采用下一级比例尺PDF文档渲染地图;
在相邻区间分割点附近再划分出一个小区间作为滞回区间,当屏幕显示比例尺从左向右逐渐变大直至超过滞回区间右边界时,切换用于渲染的地图文档集;而当屏幕显示比例尺从右向左逐渐变小时,却在超过滞回区间左边界时才切换地图文档集;滞回区间避免了屏幕显示比例尺在区间分割点附近变化而引起的文档切换震荡。
本发明具有以下优点:
本发明不仅能实现跨图幅的无缝漫游,还可以实现文档缓存、快速渲染、多比例尺地图集的自动适应,在满足地图用户常规电子地图操作习惯的同时,可给用户带来出版原图级的高品质地图产品。
附图说明
图1为接图表示意图。
图2为逻辑视窗与PDF地图文档位置关系。
图3为PDF地图文档的屏幕坐标位置。
图4为PDF文档局部渲染示例。
图5为漫游示意图。
图6为无效区示意图。
图7为文档预加载示意图。
图8为缓存文档调整方式1。
图9为缓存文档调整方式2。
图10为缓存文档调整方式3。
图11为PDF预加载文档调整流程图。
图12为比例尺映射关系。
图13为PDF地图渲染流程。
具体实施方式
下面结合具体实施方式对本发明进行详细的说明。
地理PDF地图因其易用性、便携性正成为一种重要的电子地图文档格式。不过常见PDF浏览器只支持单幅地图的浏览。而对于传统电子地图来说,无缝漫游、任意缩放已为用户所熟知。如何满足用户对PDF地图无缝漫游的需求正是本发明的目的。
地理PDF地图符合标准PDF文档规范,因而任意一款PDF阅读器都可打开PDF地图文档。实现自定义的PDF地图浏览器也要借助相关PDF渲染引擎。目前有多种PDF渲染引擎可供使用,甚至还有部分引擎公开了源码。基于第三方PDF渲染引擎实现单幅PDF地图浏览不是什么困难的事,一幅PDF地图就是一个PDF页面(page),其困难在于跨图幅浏览时能够动态实现多个PDF渲染页面的拼接。这涉及到图幅位置关系、坐标转换等多个问题。
接图表本是表示各图幅间相互位置关系的图表。本发明扩展了接图表的功能,让接图表同时记录各个图幅的地理坐标。这样用接图表组织起来的地图文档集就是一个巨大的无缝的地理范围。浏览地图时,将屏幕直接映射到该接图表表示的地理范围中,形成逻辑视窗,如图1所示。当用户漫游时,逻辑视窗大小不变,但其在接图表中的位置会有相应位移;当用户缩放时,逻辑视窗的大小和位置均可能发生变化。然而,无论是漫游还是缩放,都可认为屏幕映射的地理范围发生了变化,需要重新渲染一屏。渲染时,用当前屏幕映射的地理区域范围(逻辑视窗)与接图表做相交运算,即可得到本次渲染涉及的地图文档。
为便于表述,本文称接图表中的地理范围坐标为世界坐标,称设备屏幕上的坐标为屏幕坐标,屏幕坐标是以像素为单位的,世界坐标可以是大地坐标,也可以是投影坐标。
将屏幕映射到接图表中的逻辑视窗,就涉及屏幕坐标与世界坐标的转换。本文定义屏幕上一个像素所对应的世界坐标长度为屏幕比例尺,假设其值为pScale。那么,逻辑视窗所映射的地理区域范围大小是与屏幕比例尺成线性关系的。当地图做漫游操作时,屏幕比例尺不变,逻辑视窗大小不变、位置平移,其位移量可表示为:
∆Lx=∆x*pScale
∆Ly=∆y*pScale
其中,∆Lx为世界坐标的x方向位移量,∆Ly为世界坐标的y方向位移量,同样∆x和∆y是屏幕位移量(其值可以由鼠标的位移量来获得)。当地图做缩放操作时,屏幕比例尺肯定会有变化,并且新的逻辑视窗会和原来的逻辑视窗成包含关系(放大时旧的逻辑视窗包含新逻辑视窗;缩小时新的逻辑视窗包含旧逻辑视窗),其视窗具体逻辑值要由比例尺缩放因子决定,若比例因子为2,即缩放后的逻辑视窗范围在x和y方向上都会是当前范围的2倍或1/2,缩放可以原视窗中心点为中心也可以当前鼠标位置为中心。
逻辑视窗的初始位置可以在软件首次加载时由用户设定。例如让用户通过拉框设定逻辑视窗在整个接图表中的位置和范围,并将其作为初始值,计算当前的屏幕比例尺。
逻辑视窗和接图表相交可得到当前屏幕渲染所涉及的PDF地图文档,以及每个PDF文档涉及显示的地理范围,如图2所示。将接图表中与逻辑视窗相交的所有图幅的地理坐标反算回屏幕坐标,就可得到每幅PDF地图应该显示的屏幕位置,如图3所示。该坐标位置是参与本次渲染的所有PDF文档的屏幕位置(一般情况下,其均会超出屏幕显示范围)。得到了每幅PDF地图的屏幕坐标位置,即可调用PDF渲染引擎,将每个PDF渲染到对应的屏幕位置上去。这样,屏幕上就呈现出跨越PDF文档的无缝的电子地图。
鼠标拖拽漫游时,由鼠标的位移量乘以当前屏幕比例尺,可得到逻辑视窗的位移量,进而可得到当前新的逻辑视窗。由新的逻辑视窗触发新一轮的渲染流程。
缩放操作时(鼠标滚轮或工具按钮),将当前的屏幕比例尺乘以或除以缩放比例因子。如此会引起屏幕对应的逻辑视窗成比例变小或变大。新的逻辑视窗即可触发新一轮的渲染流程。
PDF地图渲染是一件比较耗时的工作,若每次漫游都需要重新渲染整个屏幕,甚至是渲染与屏幕相交的所有PDF地图页面,那将严重影响地图应用的用户体验。为此,本发明提出了地图局部渲染方案。局部渲染方案涉及两部分优化。
第一,针对每个PDF地图页面,每次只渲染其与当前屏幕相交的矩形区域(如图4所示),并不渲染整个页面,这样会极大减少不必要的渲染,加快了渲染时间。
第二,每次漫游时可以保存上次的渲染结果,并将其直接作为当前渲染结果的一部分,从而减少当前渲染的范围。如图5所示,白色矩形区域为渲染屏幕,阴影矩形区域为漫游前的屏幕图像,图示为向左、下拖拽漫游的效果。实际漫游时,上次渲染结果的很大一部分是可以直接利用的,如图6所示。当前屏幕与漫游前的屏幕图像相交后形成3个小的矩形区域,分别标识为矩形A、B、C。其中,C区域完全可以从上次渲染结果中直接拷贝过来,无需重新渲染。需要重新渲染的是当前屏幕范围减去C区域后剩下的倒L型区域,本文称之为无效区。由于渲染计算均以矩形区域作为范围边界,故再将倒L型的无效区划分为A、B两个矩形区域。也就是说,每次漫游,只需渲染两个小的无效矩形区,而不是整个屏幕范围。
由于PDF文档较大,加载解析一幅30M左右的文档大约需要2s,渲染一幅PDF地图也需要大约2s。如此,当地图浏览需要跨文档时,也就是需要加载、渲染新的PDF文档时,就有比较明显的等待时间。如果能预先将周边文档加载近内存,那么在浏览地图时就可以极大改善用户等待时间。
现在以1:10万比例尺的PDF地图文档集的浏览为例说明文档预先加载的缓存方案。假设当前浏览的地图大小是PDF原始大小,也就是当前的屏幕比例尺与PDF地图的比例尺相等,那么屏幕映射的地理范围应该小于一幅地图的范围。我们以当前正在浏览的地图为中心,将当前地图周边的8幅地图连同当前地图共9幅全部加载进内存,如图7所示。图中阴影区域为屏幕范围,P11为当前正在浏览的PDF地图范围,P00、P01、、、P22等为周边PDF地图范围。
按照本发明的设计方案,9幅PDF地图文档都应预先加载缓存在内存中。当用户漫游时,只要不超出这9幅地图构成的地理边界范围,都只需实时渲染,省去了文档加载的时间。当然,为了实现缓存文档的更替调整,特设定图中虚线构成的矩形为漫游调整边界(假设调整边界由4个顶点文档的中心构成),只要漫游没有超过调整边界,就不需要调整缓存文档。
当地图向上漫游超过调整上边界时(如图8-a);应当将与缓存地图文档上边界相邻的3幅地图文档加载进内存缓存(如图8-b);同时,为保证内存中缓存的文档不会太多,需要最下面3幅文档从内存中卸载(如图8-c)。也就是需要将水平方向的3幅地图文档进行调整,加载3幅新的地图文档,卸载3幅旧的地图文档,最终结果还是以当前浏览地图为中心,保证9宫格形式的9幅地图实时缓存于内存中。新的9宫格与旧的9宫格相比,好像每格对应的文档都变化了。但其实真正需要重新缓存的只是第一行,第二行和第三行对应的文档应该不用重新缓存,不过与文档的对应关系需要调整。为实现这样的调整算法,本发明的设计方案设定P00、P01、、、P22等9宫格为一个映射表,当需要进行文档调整时,第二行和第三行只需重新映射缓存文档,而只有第一行要映射新加载的文档,同时将不需要映射的旧文档卸载。漫游超过调整下边界的调整方式与超过上边界的调整方式一致。
当漫游超出左边界时同样需要进行缓存文档的调整,其方法类似,如图9所示。此时,同样需要将9宫格的映射表重新映射,只是第一列映射新加载的文档,而第二列和第三列映射之前第一列和第二列的缓存文档,将原来第三列映射的文档卸载(如图9-c)。当漫游超出调整右边界时,其调整方法与漫游超出左边界的方法一致。
当漫游导致同时超出水平边界和垂直边界时,可以依次进行水平边界和垂直边界调整。但两次调整需要加载、卸载6个PDF文档,然而实际只需调整5个即可,依次调整会导致一个不必要的文档被加载、卸载,影响了性能。所以,本发明的设计方案提出第3种调整方式,如图10所示,同时对水平边界和垂直边界进行调整。调整时涉及9宫格重新映射以及5个缓存文档的加载、卸载,其实现方式与前两种类似。PDF预加载文档调整流程如图11所示。
缩放操作时,必然会引起屏幕比例尺的变化。若采用某一种比例尺的PDF文档集来渲染各种屏幕比例尺的地图,会带来两个难以接受的结果。第一,当不断放大比例尺时,逻辑视窗逐渐缩小,视觉效果上相当于要素在不断放大。尽管基于矢量的PDF地图要素不会变形,但屏幕所能包含的地图要素数量却会越来越少,逐渐失去应用价值。第二,当不断缩小比例尺时,逻辑视窗逐渐放大,屏幕上的要素变得越来越密集,甚至会密集到密不透风、无法分辨,也会失去应用价值;并且,当比例尺过小时,屏幕映射范围可能跨越太多幅PDF地图,严重影响渲染响应。为了能比较顺畅的对PDF地图进行漫游、缩放浏览,必须对屏幕比例尺与PDF地图比例尺的之间的对应关系进行规则设定。
首先,确定屏幕比例尺的缩放范围。这个范围需要参考PDF地图比例尺的范围来设定。若只有一个比例尺的PDF地图集,例如只有1:10万的地图文档集,可设定地图浏览时的屏幕比例尺为1:7.5万到1:25万之间。当有多级比例尺的PDF地图文档时,可设定屏幕比例尺与各级比例尺地图文档之间的对应关系。例如,现在有1:100万、1:50万、1:10万、1:5万和1:1万共5个比例尺的地图文档集,那么屏幕缩放时可实时匹配不同比例尺的地图文档来渲染。设定屏幕比例尺在一个合理区间内线性变化,如图12所示,X轴表示线性变化的屏幕比例尺,其范围从1/100万到1/1万(或者其它合理的区间)。每种比例尺的地图集可以适应一定范围的屏幕比例尺。
表1列出了一种具体的映射分配。例如,当屏幕比例尺在1/100万到1/75万之间变化时,都可以用1:100万比例尺的PDF文档来渲染。当屏幕比例尺变化越过1/75万时,渲染地图就需要用1:50万比例尺的PDF文档了。在屏幕比例尺在1/75万和1/25万之间变化时,渲染采用的PDF文档都是1:50万。直到屏幕比例尺越过1/25万时才映射下一级比例尺的PDF文档。其它情况依次类推。
当然,当屏幕比例尺在某个边界条件附近变化时,可能会引起两种比例尺的PDF文档集的频繁切换,即会造成一定的震荡。这种情况可以通过设定滞回区间来解决。例如,对1/750 000这个切换点来说,可以设定滞回区间为1/800 000到1/700 000。即当屏幕比例尺由小变大越过1/700 000时,渲染采用的PDF文档集切换到1:50万比例尺;而当屏幕比例尺由大变小时,必须越过1/800 000才将PDF文档集切换到1:100万。这样可避免当屏幕比例尺在1/750 000附件变化时引起的PDF文档集在1:100万和1:50万比例尺中频繁切换,影响渲染响应。
文档的加载、地图的渲染都比较耗时,即使设计实现了文档预加载的缓存方案,仍难以达到理想的响应速度。本发明设计了多进程方式来优化文档预加载方案,并进一步实现了地图的异步、分区渲染。其实现涉及1个主进程、9个子进程。主进程完成文档映射、坐标转换、任务分解、任务发送、地图合成等功能。每一个子进程对应文档缓存方案中的一个文档,需要加载文档时加载相应的PDF文档;需要更换文档时,卸载当前文档,加载另外的PDF文档;需要渲染时,实时渲染当前文档涉及显示的部分,并将渲染结果返回给主进程。主进程与子进程之间通过异步方式进行通信,这样可以让多个文档的渲染并行进行。其渲染流程为:根据一定条件计算当前窗口的逻辑视窗;逻辑视窗即是接图表中需要渲染区域的范围,用该范围与图幅边界范围形成的接图表做相交运算,即可得到涉及渲染操作的所有PDF地图文档;然后,将本次渲染区域分解为各个PDF文档需要渲染的多个小区域,并分发给各子进程;渲染子进程各负责一个PDF的渲染操作,利用局部渲染原理仅渲染需要显示的区域;并将渲染完成的地图块返回给主进程;主进程将各子进程返回的地图块拼接成一幅完整的地图。
本发明的内容不限于实施例所列举,本领域普通技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明的权利要求所涵盖。
Claims (5)
1.跨文档无缝漫游浏览PDF地图的方法,其特征在于:
包括以下步骤:
扩展接图表功能,让接图表同时记录各个图幅的地理坐标,将接图表组织起来的地图文档集作为无缝的地理范围;
地图浏览时,将电子地图屏幕直接映射到该接图表表示的地理范围中,形成表示浏览范围的逻辑视窗;
以逻辑视窗作为渲染范围,完成电子地图的渲染;
漫游时,逻辑视窗大小不变,但其在接图表中的位置会有相应位移;无需顾及单幅PDF地图的范围,重新计算逻辑视窗位置,触发新一轮的地图渲染;
缩放时,逻辑视窗的大小发生变化,同样重新计算逻辑视窗位置,触发新一轮的地图渲染。
2.根据权利要求1所述的跨文档无缝漫游浏览PDF地图的方法,其特征在于:
所述方法支持多任务异步渲染,包括以下步骤:
步骤一:计算当前窗口的逻辑视窗;
步骤二:逻辑视窗与接图表做相交运算,获得涉及渲染操作的所有PDF地图文档;
步骤三:将涉及渲染的图幅坐标反算回屏幕坐标,可得到每幅PDF地图应该显示的屏幕位置;
步骤四:将各图幅的渲染区域分发给各个子任务;
步骤五:各子任务自行渲染,并将渲染结果异步返回给主任务;
步骤六:将各子任务返回的渲染结果拷贝到合适的位置。
3.根据权利要求1所述的跨文档无缝漫游浏览PDF地图的方法,其特征在于:
所述方法支持分区渲染,包括以下步骤:
针对每个PDF地图页面,每次只渲染其与当前屏幕相交的矩形区域,并不渲染整个PDF页面,减少不必要的渲染,提高渲染速度;
拖拽漫游时,保存上次的渲染结果,并将其直接作为当前渲染结果的一部分,减少当前渲染的范围;
若称当前需要渲染的区域为无效区,则大部分情况下,拖拽漫游的无效区为L型;将L型的无效区以水平方向分割成两个矩形区域,作为当前渲染区域,进一步缩小渲染范围,提高渲染速度;
若无效区为矩形,则可认为L型的无效区退化成了矩形,算法不变。
4.根据权利要求1所述的跨文档无缝漫游浏览PDF地图的方法,其特征在于:
所述方法支持文档缓存,包括以下步骤:
将预浏览的PDF文档提前加载缓存,在漫游浏览需要切换地图文档时,省去文档加载时间;
采用9宫格形式的缓存方案,将当前正在浏览地图以及周边8幅地图文档全部缓存在内存中,保证向任意方向的漫游都有预先缓存的PDF地图文档;
以9宫格4个顶点文档中心位置为顶点构造一个矩形区作为漫游调整边界;只要漫游没有超出调整边界,不需要调整缓存文档;当漫游超出调整边界时,需要对缓存的文档进行调整,确保当前浏览范围四周的文档实时缓存;
当地图向上漫游超过调整上边界时,将接图表中与缓存地图文档上边界相邻的3幅地图文档加载进内存缓存;同时,为保证内存中缓存的文档不会太多,需要将最下面3幅文档从内存中卸载,也就是需要将水平方向的3幅地图文档进行调整,加载3幅新的地图文档,卸载3幅旧的地图文档,最终结果还是以当前浏览地图为中心,保证9宫格形式的9幅地图实时缓存于内存中;
设定P00、P01、、、P22等9宫格为一个映射表,当需要进行文档调整时,第二行和第三行只需重新映射缓存文档,而只有第一行要映射新加载的文档,同时将不需要映射的旧文档卸载;漫游超过调整下边界的调整方式与超过上边界的调整方式一致;
当漫游超出左边界时同样需要进行缓存文档的调整,其方法类似;此时,同样需要将9宫格的映射表重新映射,只是第一列映射新加载的文档,而第二列和第三列映射之前第一列和第二列的缓存文档,将原来第三列映射的文档卸载;当漫游超出调整右边界时,其调整方法与漫游超出左边界的方法一致;
当漫游导致同时超出水平边界和垂直边界时,可以依次进行水平边界和垂直边界调整;但两次调整需要加载、卸载6个PDF文档,然而实际只需调整5个即可,依次调整会导致一个不必要的文档被加载、卸载,影响了性能,同时对水平边界和垂直边界进行调整,调整时涉及9宫格重新映射以及5个缓存文档的加载、卸载。
5.根据权利要求1所述的跨文档无缝漫游浏览PDF地图的方法,其特征在于:
所述方法支持地图比例尺自动适配,包括以下步骤:
根据预设的PDF地图文档比例尺设定屏幕显示比例尺缩放变化的范围;
将屏幕比例尺变化范围划分为几个区间,每个区间对应一级地图比例尺;
当缩放引起屏幕比例尺变化处于某个区间时,始终用该区间对应的比例尺PDF文档渲染地图;当缩放引起屏幕比例尺变化超越区间边界进入另外一个区间时,采用下一级比例尺PDF文档渲染地图;
在相邻区间分割点附近再划分出一个小区间作为滞回区间,当屏幕显示比例尺从左向右逐渐变大直至超过滞回区间右边界时,切换用于渲染的地图文档集;而当屏幕显示比例尺从右向左逐渐变小时,却在超过滞回区间左边界时才切换地图文档集;滞回区间避免了屏幕显示比例尺在区间分割点附近变化而引起的文档切换震荡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611095234.4A CN106775225A (zh) | 2016-12-02 | 2016-12-02 | 跨文档无缝漫游浏览pdf地图的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611095234.4A CN106775225A (zh) | 2016-12-02 | 2016-12-02 | 跨文档无缝漫游浏览pdf地图的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106775225A true CN106775225A (zh) | 2017-05-31 |
Family
ID=58884110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611095234.4A Pending CN106775225A (zh) | 2016-12-02 | 2016-12-02 | 跨文档无缝漫游浏览pdf地图的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775225A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247785A (zh) * | 2017-06-15 | 2017-10-13 | 国家基础地理信息中心 | 一种静态只读地图文件生成方法和装置 |
CN108491173A (zh) * | 2018-02-08 | 2018-09-04 | 中国人民解放军61540部队 | 基于地理pdf地图的跨图幅分页打印方法 |
CN108710674A (zh) * | 2018-02-08 | 2018-10-26 | 中国人民解放军61540部队 | 减小矢量地理pdf地图数据量的处理方法 |
CN108830794A (zh) * | 2018-05-31 | 2018-11-16 | 中国人民解放军61540部队 | 高斯投影的pdf地图跨图幅无缝拼接显示方法 |
CN109542996A (zh) * | 2018-11-23 | 2019-03-29 | 云南省地图院 | 基于GeoPDF技术的新型移动地图应用服务系统 |
CN109859109A (zh) * | 2018-12-29 | 2019-06-07 | 中国人民解放军61540部队 | 一种系列比例尺pdf地图无缝组织与显示方法 |
CN110704057A (zh) * | 2019-10-09 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 一种基于地图业务的业务处理方法及相关装置 |
CN111212261A (zh) * | 2018-11-22 | 2020-05-29 | 浙江宇视科技有限公司 | 场景切换方法及装置 |
CN111259636A (zh) * | 2020-02-07 | 2020-06-09 | 北京字节跳动网络技术有限公司 | 文档渲染方法、装置和电子设备 |
CN111402263A (zh) * | 2020-03-04 | 2020-07-10 | 南方电网科学研究院有限责任公司 | 高分大屏可视化优化方法 |
CN111581555A (zh) * | 2020-04-27 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 一种文档加载方法、装置、设备及存储介质 |
CN111729304A (zh) * | 2020-05-26 | 2020-10-02 | 广州尊游软件科技有限公司 | 一种展示海量对象的方法 |
CN111831770A (zh) * | 2020-06-30 | 2020-10-27 | 中国人民解放军战略支援部队信息工程大学 | 一种高速测控目标视图控制方法及装置 |
CN112926000A (zh) * | 2021-02-26 | 2021-06-08 | 北京百度网讯科技有限公司 | 显示区域渲染方法、装置、设备、可读存储介质及产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011044017A1 (en) * | 2009-10-05 | 2011-04-14 | Harris Corporation | Video processing system providing association between displayed video and media content and related methods |
CN103093484A (zh) * | 2013-01-05 | 2013-05-08 | 武汉中地数码科技有限公司 | 一种遥感影像与矢量数据一体化批量制图的方法 |
-
2016
- 2016-12-02 CN CN201611095234.4A patent/CN106775225A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011044017A1 (en) * | 2009-10-05 | 2011-04-14 | Harris Corporation | Video processing system providing association between displayed video and media content and related methods |
CN103093484A (zh) * | 2013-01-05 | 2013-05-08 | 武汉中地数码科技有限公司 | 一种遥感影像与矢量数据一体化批量制图的方法 |
Non-Patent Citations (4)
Title |
---|
杨俊: "《高等学校教学用书 测量学》", 31 May 1985, 冶金工业出版社 * |
杨琪: "GeoPDF地图浏览系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
蔡志明,刘大茂: "定位导航系统中地图漫游的关键技术和算法优化", 《漳州师范学院学报(自然科学版)》 * |
陈真 等: "《GIS软件SharpMap源码详解及应用》", 31 March 2012 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247785A (zh) * | 2017-06-15 | 2017-10-13 | 国家基础地理信息中心 | 一种静态只读地图文件生成方法和装置 |
CN108491173A (zh) * | 2018-02-08 | 2018-09-04 | 中国人民解放军61540部队 | 基于地理pdf地图的跨图幅分页打印方法 |
CN108710674A (zh) * | 2018-02-08 | 2018-10-26 | 中国人民解放军61540部队 | 减小矢量地理pdf地图数据量的处理方法 |
CN108491173B (zh) * | 2018-02-08 | 2021-07-16 | 中国人民解放军61540部队 | 基于地理pdf地图的跨图幅分页打印方法 |
CN108710674B (zh) * | 2018-02-08 | 2021-08-13 | 中国人民解放军61540部队 | 减小矢量地理pdf地图数据量的处理方法 |
CN108830794A (zh) * | 2018-05-31 | 2018-11-16 | 中国人民解放军61540部队 | 高斯投影的pdf地图跨图幅无缝拼接显示方法 |
CN108830794B (zh) * | 2018-05-31 | 2022-02-18 | 中国人民解放军61540部队 | 高斯投影的pdf地图跨图幅无缝拼接显示方法 |
CN111212261A (zh) * | 2018-11-22 | 2020-05-29 | 浙江宇视科技有限公司 | 场景切换方法及装置 |
CN111212261B (zh) * | 2018-11-22 | 2021-07-20 | 浙江宇视科技有限公司 | 场景切换方法及装置 |
CN109542996B (zh) * | 2018-11-23 | 2022-09-13 | 云南省地图院 | 基于GeoPDF技术的新型移动地图应用服务系统 |
CN109542996A (zh) * | 2018-11-23 | 2019-03-29 | 云南省地图院 | 基于GeoPDF技术的新型移动地图应用服务系统 |
CN109859109A (zh) * | 2018-12-29 | 2019-06-07 | 中国人民解放军61540部队 | 一种系列比例尺pdf地图无缝组织与显示方法 |
CN109859109B (zh) * | 2018-12-29 | 2022-12-06 | 中国人民解放军61540部队 | 一种系列比例尺pdf地图无缝组织与显示方法 |
CN110704057A (zh) * | 2019-10-09 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 一种基于地图业务的业务处理方法及相关装置 |
CN110704057B (zh) * | 2019-10-09 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 一种基于地图业务的业务处理方法及相关装置 |
CN111259636A (zh) * | 2020-02-07 | 2020-06-09 | 北京字节跳动网络技术有限公司 | 文档渲染方法、装置和电子设备 |
CN111259636B (zh) * | 2020-02-07 | 2023-10-13 | 北京字节跳动网络技术有限公司 | 文档渲染方法、装置和电子设备 |
CN111402263A (zh) * | 2020-03-04 | 2020-07-10 | 南方电网科学研究院有限责任公司 | 高分大屏可视化优化方法 |
CN111402263B (zh) * | 2020-03-04 | 2023-08-29 | 南方电网科学研究院有限责任公司 | 高分大屏可视化优化方法 |
CN111581555A (zh) * | 2020-04-27 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 一种文档加载方法、装置、设备及存储介质 |
CN111581555B (zh) * | 2020-04-27 | 2023-09-15 | 北京字节跳动网络技术有限公司 | 一种文档加载方法、装置、设备及存储介质 |
CN111729304A (zh) * | 2020-05-26 | 2020-10-02 | 广州尊游软件科技有限公司 | 一种展示海量对象的方法 |
CN111729304B (zh) * | 2020-05-26 | 2024-04-05 | 广州尊游软件科技有限公司 | 一种展示海量对象的方法 |
CN111831770A (zh) * | 2020-06-30 | 2020-10-27 | 中国人民解放军战略支援部队信息工程大学 | 一种高速测控目标视图控制方法及装置 |
CN111831770B (zh) * | 2020-06-30 | 2023-02-03 | 中国人民解放军战略支援部队信息工程大学 | 一种高速测控目标视图控制方法及装置 |
CN112926000A (zh) * | 2021-02-26 | 2021-06-08 | 北京百度网讯科技有限公司 | 显示区域渲染方法、装置、设备、可读存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775225A (zh) | 跨文档无缝漫游浏览pdf地图的方法 | |
US10210144B2 (en) | Creation and display of a webpage with alternative layouts for different webpage widths | |
JP3697276B2 (ja) | 画像ディスプレイ方法及び画像ディスプレイ装置並びに画像スケーリング方法 | |
US10339209B2 (en) | Webpage display method and device | |
US10387551B2 (en) | Techniques for programmatic magnification of visible content elements of markup language documents | |
US20140063034A1 (en) | Method and device for selective display refresh | |
US20130061124A1 (en) | Managing forms in electronic documents | |
CN102970456B (zh) | 图像形成方法及图像形成装置 | |
JP2004534960A (ja) | 弾性表示空間 | |
CN102265309A (zh) | 基于图块的3d计算机图形系统中的显示列表控制流分组 | |
US9501811B2 (en) | Resizing an image | |
CN107992589B (zh) | 一种svg地图数据的加载方法、装置及系统 | |
US8817034B2 (en) | Graphics rendering device, graphics rendering method, graphics rendering program, recording medium with graphics rendering program stored thereon, integrated circuit for graphics rendering | |
JP2005514711A (ja) | ゾーン・レンダリングのための効率的なグラフィックス状態管理 | |
CN112732155B (zh) | 图像显示方法、图像显示装置、电子设备及存储介质 | |
CN105844683A (zh) | 基于Canvas和WebWorker的像素差逐帧动画的实现方法 | |
CN109859109A (zh) | 一种系列比例尺pdf地图无缝组织与显示方法 | |
US5701138A (en) | Resolution independent methods for rendering a graphic image on a display device | |
JP4143613B2 (ja) | 描画方法、描画装置 | |
CN102592261B (zh) | 矢量图展现方法及系统 | |
CN110309449A (zh) | 页面渲染方法及装置 | |
CN104517273A (zh) | 一种图像超分辨率处理方法及装置 | |
CN107908379A (zh) | 一种显示超大页面数字出版原图的方法 | |
CN115840614B (zh) | 版式文档的渲染方法、装置、电子设备和存储介质 | |
KR101430964B1 (ko) | 디스플레이 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |