CN108830794A - 高斯投影的pdf地图跨图幅无缝拼接显示方法 - Google Patents
高斯投影的pdf地图跨图幅无缝拼接显示方法 Download PDFInfo
- Publication number
- CN108830794A CN108830794A CN201810549176.0A CN201810549176A CN108830794A CN 108830794 A CN108830794 A CN 108830794A CN 201810549176 A CN201810549176 A CN 201810549176A CN 108830794 A CN108830794 A CN 108830794A
- Authority
- CN
- China
- Prior art keywords
- map
- gaussian
- displayed
- file
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000009466 transformation Effects 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 14
- 230000001131 transforming effect Effects 0.000 claims description 13
- 238000012856 packing Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000009432 framing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012732 spatial analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting 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地图是国内研究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地图对象获取。
(2)提取PDF页面对象中的内容流,并将内容流中的全部图元进行坐标变换处理。具体如下:
利用PDF地图对象,提取PDF页面对象中的内容流(Contents),遍历内容流中的全部图元对象,对图元对象中的每个坐标点进行公式3所示的点坐标变换,即用变换后的点坐标P′对应更新原有的点坐标P:
其中:为平移矩阵操作,R-r为旋转矩阵操作,公式3的变换操作具体分两步进行:
①将x′y′系统的坐标原点平移到xy系统的坐标原点,坐标原点的平移矩阵操作的表示如公式4所示:
②将x′轴旋转到x轴上。上述平移操作后,r为正值时,对x′y′轴顺时针旋转r角度;r为负值时,对x′y′轴逆时针旋转r的绝对值角度;旋转矩阵操作R-r的表示如公式5所示:
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];
③将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所示:
其中,表示其内的数值向上取整。
利用待显示的高斯投影的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所示。
其中:sx、sy为窗口到视口的缩放系数,如公式9所示:
③在设备坐标系下,利用相交多边形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.如权利要求1所述的高斯投影的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地图无缝拼接显示完成。
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 true CN108830794A (zh) | 2018-11-16 |
CN108830794B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542996A (zh) * | 2018-11-23 | 2019-03-29 | 云南省地图院 | 基于GeoPDF技术的新型移动地图应用服务系统 |
CN109859109A (zh) * | 2018-12-29 | 2019-06-07 | 中国人民解放军61540部队 | 一种系列比例尺pdf地图无缝组织与显示方法 |
CN109903222A (zh) * | 2018-12-30 | 2019-06-18 | 中国电子科技集团公司第十五研究所 | 图幅间面目标的拼接方法 |
Citations (13)
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 |
US20050034062A1 (en) * | 2003-06-18 | 2005-02-10 | Bufkin Michael P. | Methods and systems for encoding geographic coordinates and features in a portable document format file |
CA2675794A1 (en) * | 2007-01-18 | 2008-07-24 | Harris Corporation | System and method for processing map images |
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 |
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 | 国家海洋局第二海洋研究所 | 一种基于多来源水深数据融合的海底地形地貌构建方法 |
US20150193469A1 (en) * | 2014-01-09 | 2015-07-09 | Ricoh Company, Ltd, | Searching for devices in an information technology environment with aid of maps |
US20160157746A1 (en) * | 2014-12-01 | 2016-06-09 | The Regents Of The University Of California | Diffusion reproducibility evaluation and measurement (dream)-mri imaging methods |
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 | 长沙全度影像科技有限公司 | 一种基于长条形标定板的鱼眼图像拼接方法 |
-
2018
- 2018-05-31 CN CN201810549176.0A patent/CN108830794B/zh active Active
Patent Citations (13)
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 |
US20050034062A1 (en) * | 2003-06-18 | 2005-02-10 | Bufkin Michael P. | Methods and systems for encoding geographic coordinates and features in a portable document format file |
CA2675794A1 (en) * | 2007-01-18 | 2008-07-24 | Harris Corporation | System and method for processing map images |
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 |
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 | 国家海洋局第二海洋研究所 | 一种基于多来源水深数据融合的海底地形地貌构建方法 |
US20150193469A1 (en) * | 2014-01-09 | 2015-07-09 | Ricoh Company, Ltd, | Searching for devices in an information technology environment with aid of maps |
CN104134187A (zh) * | 2014-07-30 | 2014-11-05 | 陈军 | 一种点对点的瓦片地图动态投影方法及装置 |
US20160157746A1 (en) * | 2014-12-01 | 2016-06-09 | The Regents Of The University Of California | Diffusion reproducibility evaluation and measurement (dream)-mri imaging methods |
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)
Title |
---|
ANDRÉS CAMERO ET AL: "Tile map size optimization for real world routing by using differential evolution", 《IEEE CONGRESS ON EVOLUTIONARY COMPUTATION》 * |
周校东等: "一种数字地图新产品――PDF地图", 《测绘通报》 * |
杨琪: "GeoPDF地图浏览系统的设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
杨磊: "地理PDF地图制图相关技术分析", 《科技尚品》 * |
蔡志明: "定位导航系统中地图漫游的关键技术和算法优化", 《漳州师范学院学报(自然科学版)》 * |
车森等: "支持多种格式输出的地图符号库研究", 《测绘科学技术学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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地图无缝组织与显示方法 |
CN109903222A (zh) * | 2018-12-30 | 2019-06-18 | 中国电子科技集团公司第十五研究所 | 图幅间面目标的拼接方法 |
CN109903222B (zh) * | 2018-12-30 | 2023-05-26 | 中国电子科技集团公司第十五研究所 | 图幅间面目标的拼接方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108830794B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schweikardt et al. | Digital clay: deriving digital models from freehand sketches | |
US20170091993A1 (en) | 3D Model Generation From Map Data and User Interface | |
CN108830794B (zh) | 高斯投影的pdf地图跨图幅无缝拼接显示方法 | |
CN104268145B (zh) | 一种复杂矢量数据的地图快速绘制方法 | |
EP3353747A1 (en) | 3d model generation from map data | |
Zhao | Application of 3D CAD in landscape architecture design and optimization of hierarchical details | |
CN109859109B (zh) | 一种系列比例尺pdf地图无缝组织与显示方法 | |
JP2001250130A (ja) | 3次元cadシステム及びそのための記録媒体 | |
CN110516015B (zh) | 基于地图图形数据和dlg制作地理pdf地图的方法 | |
CN102663800A (zh) | 一种顾及城市意象的城市建筑综合与渲染的方法 | |
CN101908202A (zh) | 一种电子海图的快速显示方法 | |
CN104537705A (zh) | 基于增强现实的移动平台三维生物分子展示系统和方法 | |
CN103150328A (zh) | 一种利用数据库自动制图的集成方法 | |
CN103077516A (zh) | 一种石刻文字的数字化拓片方法 | |
Yang et al. | Complementarity of historic building information modelling and geographic information systems | |
CN114972612B (zh) | 一种基于三维简化模型的图像纹理生成方法及相关设备 | |
CN112465962B (zh) | 一种面向大场景三维实景数据的动态更新方法 | |
CN117611755A (zh) | 海岛礁变化对比分析的二三维联动可视化展示方法 | |
WO2023231793A9 (zh) | 对物理场景进行虚拟化的方法、电子设备、计算机可读存储介质和计算机程序产品 | |
CN104346771B (zh) | 一种电子地图分层管理方法 | |
Pucha-Cofrep et al. | Fundamentals of GIS: applications with ArcGIS | |
Hu et al. | Research on 3d interactive model selection and customization of ceramic products based on big data cloud service platform | |
Hruby et al. | Cartographic heritage as shared experience in virtual space: A digital representation of the earth globe of Gerard Mercator (1541) | |
de Ruiter | Advances in computer graphics III | |
CN113870409B (zh) | 一种基于工业仿真场景的三维图形轻量化方法 |
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 |