CN108830794B - 高斯投影的pdf地图跨图幅无缝拼接显示方法 - Google Patents

高斯投影的pdf地图跨图幅无缝拼接显示方法 Download PDF

Info

Publication number
CN108830794B
CN108830794B CN201810549176.0A CN201810549176A CN108830794B CN 108830794 B CN108830794 B CN 108830794B CN 201810549176 A CN201810549176 A CN 201810549176A CN 108830794 B CN108830794 B CN 108830794B
Authority
CN
China
Prior art keywords
map
pdf
gaussian
gaussian projection
displayed
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.)
Active
Application number
CN201810549176.0A
Other languages
English (en)
Other versions
CN108830794A (zh
Inventor
周校东
孟妮娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
61540 Troops of PLA
Original Assignee
61540 Troops of PLA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 61540 Troops of PLA filed Critical 61540 Troops of PLA
Priority to CN201810549176.0A priority Critical patent/CN108830794B/zh
Publication of CN108830794A publication Critical patent/CN108830794A/zh
Application granted granted Critical
Publication of CN108830794B publication Critical patent/CN108830794B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种高斯投影的PDF地图跨图幅无缝拼接显示方法:对PDF地图产品文件的PDF页面进行旋转预处理,得到用于显示的高斯投影的PDF地图文件;对相同高斯投影带内同比例尺的每个用于显示的高斯投影的PDF地图文件计算高斯投影坐标的内图廓多边形,并建立地图索引;利用索引文件进行PDF地图显示初始化;显示单图幅高斯投影的PDF地图;显示跨图幅多幅高斯投影的PDF地图。本发明实现了相同高斯投影带内全部图幅的方里网无缝衔接,实现了相邻图幅高斯投影的PDF地图无缝拼接显示,拓展了PDF地图的使用范围,由传统的单幅地图独立应用模式提升为多幅地图无缝拼接应用模式,使PDF地图的使用不再受图幅限制,极大提升了用户体验。

Description

高斯投影的PDF地图跨图幅无缝拼接显示方法
技术领域
本发明属于PDF地图显示技术领域,特别是涉及一种高斯投影的PDF地图跨图幅无缝拼接显示方法。
背景技术
PDF地图是一种新型地图产品,遵循PDF格式标准存储地理空间信息,具有图形美观、要素分层、坐标量测、属性查询和空间分析等特性,是地图与地理信息一体化存储与分发的理想解决方案。PDF地图是国内研究GeospatialPDF的重要成果,申请人所在的研究团队从2006年开始研究PDF地图,从时间上与国外的GeoPDF几乎平行。GeoPDF是TerraGo公司注册商标,由TerraGo软件创建的地图和影像产品,是业界Geospatial PDF的最佳解决方案,已被OGC组织作为推荐的地图编码标准。PDF地图的编码、创建与使用方法原则上同GeoPDF类似。生产PDF地图产品的主要数据来源是国家基本比例尺地形图,而1:50万及更大比例尺的地形图均采用高斯投影并按图幅组织,因此,此类PDF地图产品以图幅为单位存储到单页面PDF文档中,每幅PDF地图对应一个PDF文件。利用常用的PDF阅读器软件便可打开并使用PDF地图文件,但是,用户对地图的浏览只能被局限于单幅地图范围,无法实现跨图幅、跨区域无缝漫游,这是PDF地图使用时一个很大的缺陷。GeoPDF的使用亦是如此,当需要浏览与当前图幅相邻的其他图幅时,只能通过手动打开或超链接的方式链接到所需图幅所在的GeoPDF文件,相邻图幅边缘无法拼接并共同显示在屏幕上。然而,随着地图的普及,跨图幅成区域使用地图是用户的正常需求,人们习惯了能够无缝拼接、任意漫游的地图浏览模式,而不是受限于单幅地图的边界,看不到区域的全貌,得不到地物的完整空间形态,这对PDF地图用户来说是一种非常糟糕的体验。单幅地图使用模式势必局限PDF地图的使用范围,跨图幅无缝拼接显示使PDF地图能成区域使用,从而真正成为一种电子地图,GeoPDF亦是如此。
发明内容
针对上述现有技术存在的缺陷或不足,本发明的目的在于提供一种高斯投影的PDF地图跨图幅无缝拼接显示方法,该方法用于解决PDF地图产品的成区域浏览的难题,实现了相同高斯投影带内同比例尺标准分幅高斯投影的PDF地图跨图幅无缝拼接显示,将PDF地图的使用模式由单图幅独立使用扩展为跨图幅成区域使用。本发明的方法同样适用于以图幅为单位的高斯投影的GeoPDF产品的跨图幅无缝拼接显示。
为了实现上述目的,本发明采用如下技术方案予以解决:
一种高斯投影的PDF地图跨图幅无缝拼接显示方法,包括如下步骤:
步骤S1:对PDF地图产品文件的PDF页面进行旋转预处理,得到用于显示的高斯投影的PDF地图文件;
步骤S2:对相同高斯投影带内同比例尺的每个用于显示的高斯投影的PDF地图文件,分别计算其高斯投影坐标的内图廓多边形,并根据内图廓多边形的外接矩形建立地图索引并存储到索引文件;
步骤S3:利用索引文件进行PDF地图显示初始化,主要实现地图索引和显示参数初始化,并得到待显示地图文件列表;若待显示地图文件列表中只有一个待显示的高斯投影的PDF地图文件,则执行步骤S4;若有两个胡或两个以上待显示的高斯投影的PDF地图文件,则执行步骤S5;
步骤S4:利用待显示地图文件列表,获取并解析待显示的高斯投影的PDF地图文件,得到PDF地图对象;利用PDF地图对象将窗口的高斯投影坐标转换为用户坐标,并绘制PDF页面内窗口用户坐标范围内的地图到视口,实现单图幅高斯投影的PDF地图的显示;
步骤S5:利用待显示地图文件列表,获取待显示的高斯投影的PDF地图文件对应的PDF地图对象,计算窗口矩形与PDF页面矩形的相交矩形R,绘制相交矩形R内地图到临时位图;计算相交矩形R与待显示的高斯投影的PDF地图内图廓多边形的相交多边形P,利用相交多边形P对临时位图透明处理,并拷贝到视口中对应位置,实现跨图幅多幅高斯投影的PDF地图的显示。
进一步的,所述步骤S1包括如下子步骤:
S101:打开并显示PDF地图产品文件,读取坐标纵线偏角度数;
S102:解析PDF地图产品文件得到文档对象,利用文档对象初始化空间参考对象和地图绘制对象,空间参考对象和地图绘制对象共同构成PDF地图对象;
S103:根据步骤S101中坐标纵线偏角r的取值,计算旋转后PDF页面的宽、高和坐标原点,对步骤S102中PDF地图对象中PDF页面进行旋转处理;
S104:更新PDF地图对象并存储,得到用于显示的高斯投影PDF地图文件。
进一步的,步骤S102的具体操作如下:
①利用开源PDF解析库打开PDF地图产品文件,获得文档对象;②利用文档对象获取PDF页面节点下空间参考节点中的空间变换参数和变换矩阵,初始化空间参考对象,所述空间参考对象封装有PDF页面内所有点的用户坐标、投影坐标和经纬度坐标之间的变换参数及变换矩阵,用于实现PDF页面内各点的坐标变换;③获取文档对象中的PDF页面对象,利用PDF页面对象初始化地图绘制对象,所述地图绘制对象封装有PDF页面信息及图元信息,用于实现PDF页面内指定矩形范围内的地图的绘制。
进一步的,步骤S103的具体操作如下:
(1)根据步骤S101中坐标纵线偏角r的取值,计算旋转后PDF页面的宽、高和坐标原点;
(2)提取PDF页面对象中的内容流,并将内容流中的全部图元进行坐标变换处理。
进一步的,所述步骤S104的具体操作如下:
①利用步骤S103得到的旋转后PDF页面的宽、高取值对应更新PDF地图对象中PDF页面宽、高取值;
②计算PDF页面旋转后的变换矩阵T′,利用变换矩阵T′中的参数的取值更新PDF地图对象中空间参考对象的变换矩阵参数;
③将PDF地图对象存储,得到用于显示的高斯投影的PDF地图文件。
进一步的,所述步骤S2的具体操作如下:
(1)对相同高斯投影带内同比例尺的每个用于显示的高斯投影的PDF地图文件,分别计算其高斯投影坐标的内图廓多边形;
(2)利用相同高斯投影带内同比例尺的所有高斯投影的PDF地图文件的高斯投影坐标的内图廓多边形,建立地图索引并存储到索引文件。
进一步的,所述步骤S3包括如下步骤:
S301:利用步骤S2得到的索引文件,建立并初始化地图索引。
S302:显示参数初始化,包括建立坐标系、初始化窗口与视口,具体步骤如下:
①以高斯投影坐标系y轴作为世界坐标系x轴,以高斯投影坐标系x轴作为世界坐标系y轴,建立世界坐标系,通过互换x、y坐标值实现高斯投影坐标与世界坐标的变换;
②由地图显示初始位置,得到当前显示区域矩形的高斯投影坐标值,通过坐标变换,得到世界坐标系下要显示的地图区域矩形,作为窗口;
③在设备坐标系下,获取设备上用于显示地图的矩形,作为视口;
④创建PDF地图对象的数组,用于存储高斯投影的PDF地图文件解析后得到的PDF地图对象;
S303:利用窗口的高斯投影坐标通过步骤S301得到的地图索引,获取待显示的高斯投影的PDF地图文件路径、高斯投影坐标的内图廓多边形信息,得到待显示地图文件列表;如果待显示地图文件列表中只有一个待显示的高斯投影的PDF地图文件,则执行步骤S4;否则执行步骤S5。
进一步的,所述步骤S4包括如下步骤:
①查询PDF地图对象内存数组中是否存在与待显示的高斯投影的PDF地图文件对应的PDF地图对象,如果存在,进入步骤④;否则,进入步骤②;
②利用待显示地图文件列表中待显示的高斯投影的PDF地图文件路径,获取并解析待显示的高斯投影的PDF地图文件,得到PDF地图对象,将PDF地图对象存入PDF地图对象数组中;
③将窗口矩形的世界坐标变换为高斯投影坐标,利用待显示的高斯投影的PDF地图文件对应的PDF地图对象中的空间参考对象将窗口的高斯投影坐标转换为用户坐标;
④利用待显示的高斯投影的PDF地图文件对应的PDF地图对象中的地图绘制对象绘制PDF页面内窗口用户坐标范围内的地图到视口,实现单图幅高斯投影的PDF地图的显示。
进一步的,所述步骤S5包括如下步骤:
S501:获取待显示的高斯投影的PDF地图文件对应的PDF地图对象;
S502:在世界坐标系下,计算窗口矩形与PDF页面矩形的相交矩形R;
S503:利用待显示的高斯投影的PDF地图文件对应的PDF地图对象的空间参考对象将相交矩形R的世界坐标变换为高斯投影坐标,然后将相交矩形R的高斯投影坐标变换为用户坐标;利用待显示的高斯投影的PDF地图文件对应的PDF地图对象的地图绘制对象绘制PDF页面内用户坐标下相交矩形R内的地图到临时位图上;
S504:计算相交矩形R与待显示的高斯投影的PDF地图内图廓多边形的相交多边形P,利用相交多边形P对临时位图透明处理,并拷贝到视口中对应的位置;当地图文件列表中所有高斯投影的PDF地图文件都显示完成后,高斯投影的PDF地图无缝拼接显示完成。
本发明着眼于解决以图幅为单位生产的系列比例尺PDF地图产品的成区域使用难题,提出了相同高斯投影带内同比例尺标准分幅高斯投影的PDF地图跨图幅无缝拼接显示方法。该方法预先对由1:50万及更大比例尺的地形图生产而来的标准分幅高斯投影的PDF地图产品的PDF页面进行旋转处理,使得PDF页面中方里网纵线垂直,并利用内图廓多边形对图廓之外内容进行精确裁剪,实现了相同高斯投影带内全部图幅的方里网无缝衔接,实现了相邻图幅高斯投影的PDF地图无缝拼接显示,拓展了PDF地图的使用范围,由传统的单幅地图独立应用模式提升为多幅地图无缝拼接应用模式,使PDF地图的使用不再受图幅限制,极大提升了用户体验。
附图说明
图1是本发明的高斯投影的PDF地图跨图幅无缝拼接显示方法流程图;
图2是本发明的实施例中PDF地图产品文件的PDF页面旋转处理示意图;
图3是本发明的实施例中PDF地图产品文件的PDF页面旋转时用户坐标系变换示意图;
图4是本发明的实施例中高斯投影的PDF地图内图廓多边形计算示意图;
图5是本发明的实施例中窗口与视口初始化示意图;
图6是本发明的实施例中相邻图幅高斯投影的PDF地图无缝拼接显示的示意图。
以下结合附图和具体实施方式对本发明进一步解释说明。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图和具体实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明中涉及的PDF地图产品是指由国家基本比例尺地形图中1:50万及更大比例尺的地形图产品生产而来的标准分幅高斯投影的PDF地图产品。
如图1所示,本发明的高斯投影的PDF地图跨图幅无缝拼接显示方法,具体包括如下步骤:
步骤S1:对PDF地图产品文件的PDF页面进行旋转预处理,得到用于显示的高斯投影的PDF地图文件。
PDF地图产品的方里网纵线与垂直方向存在一定夹角,如图2所示,这个夹角为坐标纵线偏角;步骤S1的目的是通过对PDF地图产品文件的PDF页面中所有图元点坐标进行坐标变换,实现PDF地图产品文件的PDF页面的旋转,使得PDF页面中方里网纵线垂直,从而得到用于显示的高斯投影的PDF地图文件,具体包括如下子步骤:
S101:打开并显示PDF地图产品文件,读取坐标纵线偏角度数,具体如下:
利用PDF商业软件(如Adobe Acrobat、Adobe Reader或福昕阅读器等)打开PDF地图产品文件,在PDF页面中查看地图图廓整饰部分,利用三北方向图信息,读取坐标纵线与真子午线的夹角度数作为坐标纵线偏角r的绝对值。若坐标纵线位于真子午线北方向以东则r取正值,若坐标纵线位于真子午线北方向以西则r取负值。若r=0,则不对所述PDF地图产品文件进行PDF页面旋转预处理,直接将其作为用于显示的高斯投影的PDF地图文件。
S102:解析PDF地图产品文件得到文档对象,利用文档对象初始化空间参考对象和地图绘制对象,空间参考对象和地图绘制对象共同构成PDF地图对象,具体步骤如下:
①利用开源PDF解析库(PDFium、MuPDF、SumatraPDF或PDFLib等)打开PDF地图产品文件,获得文档对象;②利用文档对象获取PDF页面节点下空间参考节点(LGIDict)中的空间变换参数和变换矩阵,初始化空间参考对象,所述空间参考对象封装有PDF页面内所有点的用户坐标、投影坐标和经纬度坐标之间的变换参数及变换矩阵,用于实现PDF页面内各点的坐标变换;③获取文档对象中的PDF页面对象,利用PDF页面对象初始化地图绘制对象,所述地图绘制对象封装有PDF页面信息及图元信息,用于实现PDF页面内指定矩形范围内的地图的绘制。
S103:根据步骤S101中坐标纵线偏角r的取值,计算旋转后PDF页面的宽、高和坐标原点,对步骤S102中PDF地图对象中PDF页面进行旋转处理,具体步骤如下:
(1)根据步骤S101中坐标纵线偏角r的取值,计算旋转后PDF页面的宽、高和坐标原点。具体如下:
坐标纵线偏角r为正值时,将步骤S102中PDF地图对象中PDF页面逆时针旋转,r为负值时将PDF页面顺时针旋转。PDF页面旋转前用户坐标系为xy系统,PDF页面旋转后用户坐标系为x′y′系统,其中,x′y′系统的坐标原点位于xy系统(x0,y0)点上,如图3所示。旋转后PDF页面宽W、高H及(x0,y0)的计算如公式1和公式2所示,其中:w、h分别为旋转前PDF页面宽和高,由PDF地图对象获取。
Figure BDA0001680700990000081
Figure BDA0001680700990000082
(2)提取PDF页面对象中的内容流,并将内容流中的全部图元进行坐标变换处理。具体如下:
利用PDF地图对象,提取PDF页面对象中的内容流(Contents),遍历内容流中的全部图元对象,对图元对象中的每个坐标点进行公式3所示的点坐标变换,即用变换后的点坐标P′对应更新原有的点坐标P:
Figure BDA0001680700990000091
其中:
Figure BDA0001680700990000092
为平移矩阵操作,R-r为旋转矩阵操作,公式3的变换操作具体分两步进行:
①将x′y′系统的坐标原点平移到xy系统的坐标原点,坐标原点的平移矩阵操作
Figure BDA0001680700990000093
的表示如公式4所示:
Figure BDA0001680700990000094
②将x′轴旋转到x轴上。上述平移操作后,r为正值时,对x′y′轴顺时针旋转r角度;r为负值时,对x′y′轴逆时针旋转r的绝对值角度;旋转矩阵操作R-r的表示如公式5所示:
Figure BDA0001680700990000095
S104:更新PDF地图对象并存储,得到用于显示的高斯投影PDF地图文件,具体步骤如下:
①利用步骤S103得到的旋转后PDF页面的宽W、高H取值对应更新PDF地图对象中PDF页面宽、高取值;
②利用公式6,计算PDF页面旋转后的变换矩阵T′,利用变换矩阵T′中的参数[a′b′c′d′e′f′]的取值更新PDF地图对象中空间参考对象的变换矩阵参数[a b c d e f];
Figure BDA0001680700990000101
③将PDF地图对象存储,得到用于显示的高斯投影的PDF地图文件。
步骤S2:对相同高斯投影带内同比例尺的每个由步骤S1得到的用于显示的高斯投影的PDF地图文件,分别计算其高斯投影坐标的内图廓多边形,并根据内图廓多边形的外接矩形建立地图索引并存储到索引文件。具体操作如下:
(1)对相同高斯投影带内同比例尺的每个用于显示的高斯投影的PDF地图文件,分别计算其高斯投影坐标的内图廓多边形,具体步骤如下:
①解析用于显示的高斯投影的PDF地图文件,得到其对应的PDF地图对象;
②利用PDF地图对象获取地图经纬度范围;
③在地理经纬度坐标系下,分别以经差1分间隔和纬差5分间隔在地图内图廓矩形边上插入节点,如图4所示;
④利用PDF地图对象中空间参考对象将地图内图廓矩形角点及边上节点的经纬度坐标变换为高斯投影坐标并存储,得到高斯投影坐标的内图廓多边形。
(2)利用相同高斯投影带内同比例尺的所有高斯投影的PDF地图文件的高斯投影坐标的内图廓多边形,建立地图索引并存储到索引文件,具体思路如下:
对相同高斯投影带内同比例尺的每个高斯投影的PDF地图文件的高斯投影坐标的内图廓多边形,计算其外接矩形并作为索引对象,采用网格索引或R树索引等索引方法建立地图索引,并关联高斯投影的PDF地图文件路径、高斯投影坐标的内图廓多边形。地图索引能够实现跨图幅地图显示过程中的数据快速调度。利用地图索引的存储功能将地图索引存储到索引文件,利用索引文件在地图显示初始化时直接对地图索引进行初始化。
步骤S3:利用索引文件进行PDF地图显示初始化,主要实现地图索引和显示参数初始化,并得到待显示地图文件列表;若待显示地图文件列表中只有一个待显示的高斯投影的PDF地图文件,则执行步骤S4;若有两个胡或两个以上待显示的高斯投影的PDF地图文件,则执行步骤S5。具体包括如下步骤:
S301:利用步骤S2得到的索引文件,建立并初始化地图索引。
S302:显示参数初始化,包括建立坐标系、初始化窗口与视口,如图5所示,具体步骤如下:
①以高斯投影坐标系y轴作为世界坐标系x轴,以高斯投影坐标系x轴作为世界坐标系y轴,建立世界坐标系,通过互换x、y坐标值实现高斯投影坐标与世界坐标的变换;
②由地图显示初始位置(由用户设定),得到当前显示区域矩形的高斯投影坐标值,通过坐标变换,得到世界坐标系下要显示的地图区域矩形[xwmin,ywmin,xwmax,ywmax],作为窗口;
③在设备坐标系下,获取设备(如屏幕)上用于显示地图的矩形[xvmin,yvmin,xvmax,yvmax],作为视口;
④创建PDF地图对象的数组,用于存储高斯投影的PDF地图文件解析后得到的PDF地图对象,其大小依据设备内存而定,通常4G内存PDF地图对象个数阈值设置为9。
S303:利用窗口的高斯投影坐标通过步骤S301得到的地图索引,获取待显示的高斯投影的PDF地图文件路径、高斯投影坐标的内图廓多边形信息,得到待显示地图文件列表。如果待显示地图文件列表中只有一个待显示的高斯投影的PDF地图文件,则执行步骤S4实现单图幅地图显示;如果待显示地图文件列表中有两个或两个以上待显示的高斯投影的PDF地图文件,则执行步骤S5实现跨图幅地图无缝拼接显示。
步骤S4:根据待显示地图文件列表,显示单图幅高斯投影的PDF地图。具体步骤如下:
①查询PDF地图对象内存数组中是否存在与待显示的高斯投影的PDF地图文件对应的PDF地图对象,如果存在,进入步骤④;否则,进入步骤②;
②利用待显示地图文件列表中待显示的高斯投影的PDF地图文件路径,获取并解析待显示的高斯投影的PDF地图文件,得到PDF地图对象,将PDF地图对象存入PDF地图对象数组中;存入之前,检测PDF地图对象数组中PDF地图对象个数是否在阈值内,如果超过阈值,对索引对象(即高斯投影坐标的内图廓多边形的外接矩形)与窗口距离最大的PDF地图对象进行优先释放,直到PDF地图对象个数在阈值内再存入;
③将窗口矩形[xwmin,ywmin,xwmax,ywmax]的世界坐标变换为高斯投影坐标,利用待显示的高斯投影的PDF地图文件对应的PDF地图对象中的空间参考对象将窗口的高斯投影坐标转换为用户坐标;
④利用待显示的高斯投影的PDF地图文件对应的PDF地图对象中的地图绘制对象绘制PDF页面内窗口用户坐标范围内的地图到视口,从而实现单图幅高斯投影的PDF地图的显示。
步骤S5:显示跨图幅多幅高斯投影的PDF地图。
通常,窗口跨图幅包括跨2幅和跨4幅两种情况,即地图文件列表中有2个和4个待显示的高斯投影的PDF地图文件的两种情况。如图6所示,以窗口跨2幅即地图文件列表中有2个待显示的高斯投影的PDF地图为例,针对其中的任一待显示的高斯投影的PDF地图文件,其地图显示具体步骤如下:
S501:获取待显示的高斯投影的PDF地图文件对应的PDF地图对象,具体如下:
查询PDF地图对象内存数组中是否存在与待显示的高斯投影的PDF地图文件对应的PDF地图对象,如果存在,直接进入步骤S502;否则,执行步骤S4中的步骤②得到待显示的高斯投影的PDF地图文件对应的PDF地图对象,进入步骤S502。
S502:在世界坐标系下,计算窗口矩形与PDF页面矩形的相交矩形R,具体如下:
利用步骤S501中得到的待显示的高斯投影的PDF地图文件对应的PDF地图对象获取PDF页面宽W、高H,则PDF页面矩形的用户坐标为:左下角点(0,0)、右上角点(W,H);利用待显示的高斯投影的PDF地图文件对应的PDF地图对象的空间参考对象将PDF页面矩形的用户坐标变换为高斯投影坐标:左下角点(XG,YG)、右上角点(XG′,YG′);将PDF页面矩形的高斯投影坐标变换为世界坐标:左下角点(YG,XG)、右上角点(YG′,XG′);在世界坐标系下,计算窗口矩形[xwmin,ywmin,xwmax,ywmax]与PDF页面矩形[YG,XG,YG′,XG′]的相交矩形R为[xRmin,yRmin,xRmax,yRmax]。
S503:绘制相交矩形R内地图到临时位图,具体如下:
在世界坐标系下:窗口矩形宽Ww=xwmax-xwmin,高Wh=ywmax-ywmin;相
交矩形R宽Rw=xRmax-xRmin,高Rh=yRmax-yRmin
在设备坐标系下:视口矩形宽Vw=xvmax-xvmin,高Vh=yvmax-yvmin
创建宽Mw,高Mh的临时位图,如公式7所示:
Figure BDA0001680700990000131
其中,
Figure BDA0001680700990000132
表示其内的数值向上取整。
利用待显示的高斯投影的PDF地图文件对应的PDF地图对象的空间参考对象将相交矩形R的世界坐标变换为高斯投影坐标,然后将相交矩形R的高斯投影坐标变换为用户坐标[xUmin,yUmin,xUmax,yUmax];利用待显示的高斯投影的PDF地图文件对应的PDF地图对象的地图绘制对象绘制PDF页面内用户坐标下相交矩形R内的地图到临时位图上。
S504:计算相交矩形R与待显示的高斯投影的PDF地图内图廓多边形的相交多边形P,利用相交多边形P对临时位图透明处理,并拷贝到视口中对应的位置,具体如下:
①在世界坐标系下,计算相交矩形R与待显示的高斯投影PDF地图内图廓多边形的相交多边形P。
②分别将相交矩形R及相交多边形P的世界坐标变换为设备坐标,世界坐标系下的点(xw,yw)变换到设备坐标系下的点(xv,yv)的变换如公式8所示。
Figure BDA0001680700990000141
其中:sx、sy为窗口到视口的缩放系数,如公式9所示:
Figure BDA0001680700990000142
③在设备坐标系下,利用相交多边形P对S503中绘制的临时位图进行透明处理,具体过程为:保留相交多边形P内的图像,清除相交多边形P外的图像并使其透明。经过透明处理后的位图大小与处理前的临时位图大小一致,将透明处理后的位图拷贝到视口中与相交矩形R对应的位置。
当地图文件列表中所有高斯投影的PDF地图文件都显示完成后,便实现了跨2幅高斯投影的PDF地图无缝拼接显示。
跨4幅即地图文件列表中有4个待显示的高斯投影的PDF地图的无缝拼接显示方法同跨2幅一致。
以上,本发明的方法实现了单图幅高斯投影的PDF地图的显示,以及跨图幅多幅高斯投影的PDF地图的显示,有效解决了现有技术中用户对地图的浏览局限于单幅地图范围,无法实现跨图幅、跨区域无缝漫游的问题,实现了相同高斯投影带内全部图幅的方里网无缝衔接,实现了相邻图幅高斯投影的PDF地图无缝拼接显示,由传统的单幅地图独立应用模式提升为多幅地图无缝拼接应用模式,拓展了PDF地图的使用范围。
本发明的方法能够应用于用户对PDF地图进行地图漫游和地图缩放,使PDF地图的使用不再受图幅限制,极大提升了用户体验。具体操作如下:
①地图漫游:用户通过鼠标拖拽实现地图漫游,将鼠标的位移量的设备坐标变换为世界坐标,并作为窗口的移动量在世界坐标系下,重新计算窗口矩形,由新的窗口矩形触发新一轮的地图显示;
②地图缩放:通过鼠标滚轮或工具按钮实现地图缩放,将当前窗口矩形除以或乘以缩放比例因子,使得窗口成比例变小或变大,重新计算窗口矩形,由新的窗口矩形触发新一轮的地图显示。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (9)

1.一种高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,包括如下步骤:
步骤S1:对PDF地图产品文件的PDF页面进行旋转预处理,得到用于显示的高斯投影的PDF地图文件;
步骤S2:对相同高斯投影带内同比例尺的每个用于显示的高斯投影的PDF地图文件,分别计算其高斯投影坐标的内图廓多边形,并根据内图廓多边形的外接矩形建立地图索引并存储到索引文件;
步骤S3:利用索引文件进行PDF地图显示初始化,主要实现地图索引和显示参数初始化,并得到待显示地图文件列表;若待显示地图文件列表中只有一个待显示的高斯投影的PDF地图文件,则执行步骤S4;若有两个或两个以上待显示的高斯投影的PDF地图文件,则执行步骤S5;
步骤S4:利用待显示地图文件列表,获取并解析待显示的高斯投影的PDF地图文件,得到PDF地图对象;利用PDF地图对象将窗口的高斯投影坐标转换为用户坐标,并绘制PDF页面内窗口用户坐标范围内的地图到视口,实现单图幅高斯投影的PDF地图的显示;
步骤S5:利用待显示地图文件列表,获取待显示的高斯投影的PDF地图文件对应的PDF地图对象,计算窗口矩形与PDF页面矩形的相交矩形R,绘制相交矩形R内地图到临时位图;计算相交矩形R与待显示的高斯投影的PDF地图内图廓多边形的相交多边形P,利用相交多边形P对临时位图透明处理,并拷贝到视口中对应位置,实现跨图幅多幅高斯投影的PDF地图的显示。
2.如权利要求1所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,所述步骤S1包括如下子步骤:
S101:打开并显示PDF地图产品文件,读取坐标纵线偏角度数;
S102:解析PDF地图产品文件得到文档对象,利用文档对象初始化空间参考对象和地图绘制对象,空间参考对象和地图绘制对象共同构成PDF地图对象;
S103:根据步骤S101中坐标纵线偏角r的取值,计算旋转后PDF页面的宽、高和坐标原点,对步骤S102中PDF地图对象中PDF页面进行旋转处理;
S104:更新PDF地图对象并存储,得到用于显示的高斯投影PDF地图文件。
3.如权利要求2所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,步骤S102的具体操作如下:
①利用开源PDF解析库打开PDF地图产品文件,获得文档对象;②利用文档对象获取PDF页面节点下空间参考节点中的空间变换参数和变换矩阵,初始化空间参考对象,所述空间参考对象封装有PDF页面内所有点的用户坐标、投影坐标和经纬度坐标之间的变换参数及变换矩阵,用于实现PDF页面内各点的坐标变换;③获取文档对象中的PDF页面对象,利用PDF页面对象初始化地图绘制对象,所述地图绘制对象封装有PDF页面信息及图元信息,用于实现PDF页面内指定矩形范围内的地图的绘制。
4.如权利要求2所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,步骤S103的具体操作如下:
(1)根据步骤S101中坐标纵线偏角r的取值,计算旋转后PDF页面的宽、高和坐标原点;
(2)提取PDF页面对象中的内容流,并将内容流中的全部图元进行坐标变换处理。
5.如权利要求2所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,所述步骤S104的具体操作如下:
①利用步骤S103得到的旋转后PDF页面的宽、高取值对应更新PDF地图对象中PDF页面宽、高取值;
②计算PDF页面旋转后的变换矩阵T′,利用变换矩阵T′中的参数的取值更新PDF地图对象中空间参考对象的变换矩阵参数;
③将PDF地图对象存储,得到用于显示的高斯投影的PDF地图文件。
6.如权利要求1所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,所述步骤S2的具体操作如下:
(1)对相同高斯投影带内同比例尺的每个用于显示的高斯投影的PDF地图文件,分别计算其高斯投影坐标的内图廓多边形;
(2)利用相同高斯投影带内同比例尺的所有高斯投影的PDF地图文件的高斯投影坐标的内图廓多边形,建立地图索引并存储到索引文件。
7.如权利要求1所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,所述步骤S3包括如下步骤:
S301:利用步骤S2得到的索引文件,建立并初始化地图索引;
S302:显示参数初始化,包括建立坐标系、初始化窗口与视口,具体步骤如下:
①以高斯投影坐标系y轴作为世界坐标系x轴,以高斯投影坐标系x轴作为世界坐标系y轴,建立世界坐标系,通过互换x、y坐标值实现高斯投影坐标与世界坐标的变换;
②由地图显示初始位置,得到当前显示区域矩形的高斯投影坐标值,通过坐标变换,得到世界坐标系下要显示的地图区域矩形,作为窗口;
③在设备坐标系下,获取设备上用于显示地图的矩形,作为视口;
④创建PDF地图对象的数组,用于存储高斯投影的PDF地图文件解析后得到的PDF地图对象;
S303:利用窗口的高斯投影坐标通过步骤S301得到的地图索引,获取待显示的高斯投影的PDF地图文件路径、高斯投影坐标的内图廓多边形信息,得到待显示地图文件列表;如果待显示地图文件列表中只有一个待显示的高斯投影的PDF地图文件,则执行步骤S4;否则执行步骤S5。
8.如权利要求1所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,所述步骤S4包括如下步骤:
①查询PDF地图对象内存数组中是否存在与待显示的高斯投影的PDF地图文件对应的PDF地图对象,如果存在,进入步骤④;否则,进入步骤②;
②利用待显示地图文件列表中待显示的高斯投影的PDF地图文件路径,获取并解析待显示的高斯投影的PDF地图文件,得到PDF地图对象,将PDF地图对象存入PDF地图对象数组中;
③将窗口矩形的世界坐标变换为高斯投影坐标,利用待显示的高斯投影的PDF地图文件对应的PDF地图对象中的空间参考对象将窗口的高斯投影坐标转换为用户坐标;
④利用待显示的高斯投影的PDF地图文件对应的PDF地图对象中的地图绘制对象绘制PDF页面内窗口用户坐标范围内的地图到视口,实现单图幅高斯投影的PDF地图的显示。
9.如权利要求1所述的高斯投影的PDF地图跨图幅无缝拼接显示方法,其特征在于,所述步骤S5包括如下步骤:
S501:获取待显示的高斯投影的PDF地图文件对应的PDF地图对象;
S502:在世界坐标系下,计算窗口矩形与PDF页面矩形的相交矩形R;
S503:利用待显示的高斯投影的PDF地图文件对应的PDF地图对象的空间参考对象将相交矩形R的世界坐标变换为高斯投影坐标,然后将相交矩形R的高斯投影坐标变换为用户坐标;利用待显示的高斯投影的PDF地图文件对应的PDF地图对象的地图绘制对象绘制PDF页面内用户坐标下相交矩形R内的地图到临时位图上;
S504:计算相交矩形R与待显示的高斯投影的PDF地图内图廓多边形的相交多边形P,利用相交多边形P对临时位图透明处理,并拷贝到视口中对应的位置;当地图文件列表中所有高斯投影的PDF地图文件都显示完成后,高斯投影的PDF地图无缝拼接显示完成。
CN201810549176.0A 2018-05-31 2018-05-31 高斯投影的pdf地图跨图幅无缝拼接显示方法 Active CN108830794B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810549176.0A CN108830794B (zh) 2018-05-31 2018-05-31 高斯投影的pdf地图跨图幅无缝拼接显示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810549176.0A CN108830794B (zh) 2018-05-31 2018-05-31 高斯投影的pdf地图跨图幅无缝拼接显示方法

Publications (2)

Publication Number Publication Date
CN108830794A CN108830794A (zh) 2018-11-16
CN108830794B true CN108830794B (zh) 2022-02-18

Family

ID=64147175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810549176.0A Active CN108830794B (zh) 2018-05-31 2018-05-31 高斯投影的pdf地图跨图幅无缝拼接显示方法

Country Status (1)

Country Link
CN (1) CN108830794B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542996B (zh) * 2018-11-23 2022-09-13 云南省地图院 基于GeoPDF技术的新型移动地图应用服务系统
CN109859109B (zh) * 2018-12-29 2022-12-06 中国人民解放军61540部队 一种系列比例尺pdf地图无缝组织与显示方法
CN109903222B (zh) * 2018-12-30 2023-05-26 中国电子科技集团公司第十五研究所 图幅间面目标的拼接方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336074B1 (en) * 1995-05-12 2002-01-01 Trimble Navigation Limited Satellite navigation receiver with map graphics and hypertext driven by a PDF database
CA2675794A1 (en) * 2007-01-18 2008-07-24 Harris Corporation System and method for processing map images
CN102610159A (zh) * 2012-03-07 2012-07-25 北京地拓科技发展有限公司 沟道长度计算方法与装置
CN104134187A (zh) * 2014-07-30 2014-11-05 陈军 一种点对点的瓦片地图动态投影方法及装置
WO2014186506A1 (en) * 2013-05-15 2014-11-20 Google Inc. Efficient fetching of map tile data
WO2015003496A1 (zh) * 2013-07-08 2015-01-15 国家海洋局第二海洋研究所 一种基于多来源水深数据融合的海底地形地貌构建方法
WO2016209292A1 (en) * 2015-06-26 2016-12-29 Hewlett-Packard Development Company, L.P. Portable document format file custom field
CN106775225A (zh) * 2016-12-02 2017-05-31 西安电子科技大学 跨文档无缝漫游浏览pdf地图的方法
CN106875339A (zh) * 2017-02-22 2017-06-20 长沙全度影像科技有限公司 一种基于长条形标定板的鱼眼图像拼接方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562289B2 (en) * 2003-06-18 2009-07-14 Layton Geo-Science, Inc. Methods and systems for encoding geographic coordinates and features in a portable document format file
US20100188407A1 (en) * 2008-10-02 2010-07-29 Certusview Technologies, Llc Methods and apparatus for displaying and processing facilities map information and/or other image information on a marking device
US9405769B2 (en) * 2014-01-09 2016-08-02 Ricoh Company, Ltd. Searching for devices in an information technology environment with aid of maps
US10524686B2 (en) * 2014-12-01 2020-01-07 The Regents Of The University Of California Diffusion reproducibility evaluation and measurement (DREAM)-MRI imaging methods

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336074B1 (en) * 1995-05-12 2002-01-01 Trimble Navigation Limited Satellite navigation receiver with map graphics and hypertext driven by a PDF database
CA2675794A1 (en) * 2007-01-18 2008-07-24 Harris Corporation System and method for processing map images
CN102610159A (zh) * 2012-03-07 2012-07-25 北京地拓科技发展有限公司 沟道长度计算方法与装置
WO2014186506A1 (en) * 2013-05-15 2014-11-20 Google Inc. Efficient fetching of map tile data
WO2015003496A1 (zh) * 2013-07-08 2015-01-15 国家海洋局第二海洋研究所 一种基于多来源水深数据融合的海底地形地貌构建方法
CN104134187A (zh) * 2014-07-30 2014-11-05 陈军 一种点对点的瓦片地图动态投影方法及装置
WO2016209292A1 (en) * 2015-06-26 2016-12-29 Hewlett-Packard Development Company, L.P. Portable document format file custom field
CN106775225A (zh) * 2016-12-02 2017-05-31 西安电子科技大学 跨文档无缝漫游浏览pdf地图的方法
CN106875339A (zh) * 2017-02-22 2017-06-20 长沙全度影像科技有限公司 一种基于长条形标定板的鱼眼图像拼接方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
GeoPDF地图浏览系统的设计;杨琪;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;全文 *
Tile map size optimization for real world routing by using differential evolution;Andrés Camero et al;《IEEE Congress on Evolutionary Computation》;20170707;全文 *
一种数字地图新产品――PDF地图;周校东等;《测绘通报》;20160125(第01期);全文 *
地理PDF地图制图相关技术分析;杨磊;《科技尚品》;20160128(第01期);全文 *
定位导航系统中地图漫游的关键技术和算法优化;蔡志明;《漳州师范学院学报(自然科学版)》;20040331;全文 *
支持多种格式输出的地图符号库研究;车森等;《测绘科学技术学报》;20080215(第01期);全文 *

Also Published As

Publication number Publication date
CN108830794A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
US20170090460A1 (en) 3D Model Generation From Map Data
US20170091993A1 (en) 3D Model Generation From Map Data and User Interface
CN108830794B (zh) 高斯投影的pdf地图跨图幅无缝拼接显示方法
US20130300740A1 (en) System and Method for Displaying Data Having Spatial Coordinates
CN109859109B (zh) 一种系列比例尺pdf地图无缝组织与显示方法
Wu et al. ViSizer: a visualization resizing framework
CN101908202B (zh) 一种电子海图的快速显示方法
CN103077516B (zh) 一种石刻文字的数字化拓片方法
CN102663800A (zh) 一种顾及城市意象的城市建筑综合与渲染的方法
CN103020888B (zh) 图像平移更新显示方法和系统
CN110516015B (zh) 基于地图图形数据和dlg制作地理pdf地图的方法
CN111881238A (zh) 一种适用于Web端的轻量级三维数据构建方法、介质和电子设备
US20220121307A1 (en) Method and device of drawing handwriting track, electronic apparatus, medium, and program product
KR20150124112A (ko) 3차원 지형 영상 가시화에서의 적응형 렌더링 방법
CN112066997A (zh) 高清航线地图的导出方法及系统
CN112465962B (zh) 一种面向大场景三维实景数据的动态更新方法
CN104346771B (zh) 一种电子地图分层管理方法
CN114972612A (zh) 一种基于三维简化模型的图像纹理生成方法及相关设备
CN113674419B (zh) 气象云数据的三维展示方法、装置、电子设备及存储介质
Hruby et al. Cartographic heritage as shared experience in virtual space: A digital representation of the earth globe of Gerard Mercator (1541)
Brosz et al. Shape defined panoramas
Du et al. Perception-driven simplification methodology of 3D complex building models
CN103678588A (zh) 空间数据化简方法和装置
CN113870409B (zh) 一种基于工业仿真场景的三维图形轻量化方法
US20240119189A1 (en) Methods and systems of programatically generating plot plans

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
GR01 Patent grant
GR01 Patent grant