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

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

【技术实现步骤摘要】
高斯投影的PDF地图跨图幅无缝拼接显示方法
本专利技术属于PDF地图显示
,特别是涉及一种高斯投影的PDF地图跨图幅无缝拼接显示方法。
技术介绍
PDF地图是一种新型地图产品,遵循PDF格式标准存储地理空间信息,具有图形美观、要素分层、坐标量测、属性查询和空间分析等特性,是地图与地理信息一体化存储与分发的理想解决方案。PDF地图是国内研究GeospatialPDF的重要成果,申请人所在的研究团队从2006年开始研究PDF地图,从时间上与国外的GeoPDF几乎平行。GeoPDF是TerraGo公司注册商标,由TerraGo软件创建的地图和影像产品,是业界GeospatialPDF的最佳解决方案,已被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地图对象,如果存在,进入步骤④;否则,进入步骤②;②本文档来自技高网
...

【技术保护点】
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地图的显示。...

【技术特征摘要】
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地图对象中空...

【专利技术属性】
技术研发人员:周校东孟妮娜
申请(专利权)人:中国人民解放军六一五四零部队
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1