首页> 中国专利> 矢量地理PDF地图制作中地理目标与符号图形配准方法

矢量地理PDF地图制作中地理目标与符号图形配准方法

摘要

本发明涉及矢量地理PDF地图制作中地理目标与符号图形配准方法,在利用POM和DLG数据制作矢量地理PDF地图时,将从DLG元数据创建并初始化一个平面坐标系统,依据POM中采集的控制点反向计算并修改平面坐标系统的参数值,再将DLG中地理目标和平面坐标系统参数写入PDF底稿文件,通过PDF底稿文件和PDF格式POM文件合并,生成的矢量地理PDF地图自动完成了地理目标与符号图形位置的配准。本发明利用POM和DLG两种数据源制作矢量地理PDF地图,地理目标位置和符号图形位置能快速配准,省略了地图符号化和制图编辑处理过程,显著提升无空间参考POM和有空间参考DLG配准生成矢量地理PDF地图的精度和效率。

著录项

  • 公开/公告号CN108711356A

    专利类型发明专利

  • 公开/公告日2018-10-26

    原文格式PDF

  • 申请/专利权人 中国人民解放军61540部队;

    申请/专利号CN201810475865.1

  • 申请日2018-05-17

  • 分类号

  • 代理机构西安新思维专利商标事务所有限公司;

  • 代理人李罡

  • 地址 710054 陕西省西安市雁塔路中段1号

  • 入库时间 2023-06-19 06:58:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-07

    授权

    授权

  • 2018-11-20

    实质审查的生效 IPC(主分类):G09B29/00 申请日:20180517

    实质审查的生效

  • 2018-10-26

    公开

    公开

说明书

技术领域

本发明涉及地理PDF地图制图技术领域,具体涉及一种矢量地理PDF地图制作中地理目标与符号图形配准方法。

背景技术

地理PDF地图是一种介于传统电子地图和纸质地图的新型地图产品。它既具备纸质地图图面效果稳定可靠的特点,又具备传统电子地图缩放自由,可查询分析的特点,而且它能独立与GIS系统,同时面向专业和非专业用户都能够应用。

对于矢量地理PDF地图制作中地理目标与符号图形配准,首先需要熟悉以下两类数据:①POM(Publication Original of Map)指出版原图数据,它是面向出版的地图制图最终成果(何列松等,出版原图数据与地图档案集成管理方法的探讨,测绘科学[J],2013.38(6):149-152.),从计算机的角度看,它就是地图出版前的图形、图象、文字等出版元素的集合,它既没有地理目标信息,也没有地理空间坐标系概念。POM数据通常是EPS、PDF格式,也有将图像格式作为地图出版数据使用。②DLG(Digital Line Graphic)指数字线划图数据,它是以点、线、面形式或地图特定图形符号形式表达地形要素的地理信息矢量数据集。它是地理信息最常用的存储组织形式之一。

美国的Layton Graphics公司开发出TerroGo Technologies制作的GeoPDF的地图制作模式分为矢量数据制作GeoPDF地图、影像数据制作GeoPDF地图、扫描地图制作GeoPDF地图等。胡浩杰在其硕士论文中提出的矢量地理PDF地图制图流程和栅格地理DPF地图制图流程都是面向矢量数据或者影像/栅格数据,通过对象化写入符号化或栅格化输出,并附以注释、书签或者超链接的模式制作地理PDF地图(胡浩杰地理PDF地图制图关键技术研究[D],信息工程大学硕士论文,2011,郑州)。这些矢量地理PDF地图制图是一种传统的制图模式,需要经过数据集成、符号化、制图处理、输出等流程,尤其在制图处理过程中工作量巨大。而我国测绘地理信息生产部门曾经生产了大量POM数据,这些POM数据就是前期制图处理辛勤劳动的结晶。因此,通过POM数据经过必要的更新处理,和DLG数据合成,是制作地理PDF地图的新模式和新思路,在流程生产效率上显著优于利用地理信息数据直接生产。而GeoPDF和胡浩杰的地理PDF地图制图并未涉及使用POM与DLG合成生产矢量地理PDF地图的方案。在POM与DLG合成制作矢量地理PDF地图面临两种数据源坐标系不一致问题。如何与POM的符号图形在最终地理PDF地图成果中配准,使地理目标位置和该目标的符号图形位置比较精准地对应起来,成为利用POM和DLG生产矢量地理PDF地图的关键技术之一。目前已有的软件工具例如Adobe Acrobat DC Pro,它支持地理配准PDF地图或者扫描地理空间数据,前提是要么是自动配准的两层数据文件内嵌相同的空间参考,要么是使用输入方式手动定位的概略配准,对不具有空间参考的POM和具有空间参考的DLG进行较为精确的配准变得比较困难;另一方面,POM在生产过程中可能进行了平移、旋转和缩放,因此现有工具对POM和DLG直接配准生产地理PDF地图困难较大。

综上,传统地理PDF地图制图模式在制作矢量地理PDF地图因大量制图处理工作影响制图效率,而使用POM与DLG制作地理PDF地图省略了大量制图处理流程而效率能够显著提升,而DLG的地理目标如何与POM的符号图形配准问题是后者的关键技术之一。

发明内容

本发明的目的是提供一种矢量地理PDF地图制作中地理目标与符号图形配准方法,解决了利用POM和DLG快速生产地理PDF地图时两类数据源坐标系不一致而导致合成地理PDF地图时坐标系不统一的问题,为POM和DLG数据合成模式快速批量生产矢量地理PDF地图奠定了基础。

本发明所采用的技术方案为:

矢量地理PDF地图制作中地理目标与符号图形配准方法,其特征在于:

包括以下步骤:

在利用POM和DLG数据制作矢量地理PDF地图时,将从DLG元数据创建并初始化一个平面坐标系统,依据POM中采集的控制点反向计算并修改平面坐标系统的参数值,再将DLG中地理目标和平面坐标系统参数写入PDF底稿文件,通过PDF底稿文件和PDF格式POM文件合并,生成的矢量地理PDF地图自动完成了地理目标与符号图形位置的配准。

具体包括以下步骤:

第一步,基于六元组平面坐标系和控制点列表,组成地理PDF地图混合平面坐标系统模型,设计并实现坐标在六个平面坐标系中的转换接口,确保某个坐标系的坐标能够转换为其他任意一个坐标系下的坐标;

第二步,将PDF格式POM作为图形层,采集其页面地图的内图廓左下角和右上角两个控制点保存到临时文件中;

第三步,利用矢量数据访问引擎读取对应的DLG数据,创建MPSCS实例并初始化;

第四步,从临时文件取出控制点信息和POM文件页面大小,将第三步中的MPSCS实例根据POM页面中的控制点进行配准计算,修改MPSCS中Fcs参数;

第五步,创建一个和POM页面大小相同的PDF底稿文件,利用基于PDF-1.6规范的开放标准编写的PDF输出引擎将第三步中矢量数据访问引擎里的地理目标,以白色线划的方式绘制到PDF底稿文件中,同时以PDF对象的方式将地理目标也保存到PDF底稿文件;

第六步,利用PDF输出引擎,将第五步的PDF底稿文件和POM文件进行合并,最终得到配准后的矢量地理PDF地图。

所述第一步中,六元组平面坐标系分别为数据源坐标系、地理坐标系、投影坐标系、等比例尺纸图坐标系、PDF页面坐标系和输出设备坐标系,定义各平面坐标系的主要参数。

所述第一步中,转换接口函数包括个数相同的正解函数和反解函数,函数个数总计为2×C62=30个,实现30个坐标系转换接口函数的计算,其中前五个分步骤列出的正解和反解函数为最基本的10个函数,其他20个函数由这10个函数组合与嵌套实现。

所述第三步,利用矢量数据访问引擎读取对应的DLG数据,创建MPSCS实例并初始化,具体包括以下步骤:

(1)通过读取DLG数据元数据,来初始化Dcs、Gcs、Pcs的内部参数;

(2)将Pcs中的地图图幅左下角点对应到Ecs的坐标系原点,结合地图比例尺分母数值,据此初始化Ecs的参数。

所述第四步,从临时文件取出控制点信息和POM文件页面大小,将第三步中的MPSCS实例根据POM页面中的控制点进行配准计算,修改MPSCS中Fcs参数,具体包括以下步骤:

(1)读取控制点文件并计算坐标系配准的旋转角度;

(2)基于两个控制点反解计算坐标系配准的平移缩放参数。

所述第六步中,旋转和平移PDF底稿文件或POM文件中的一个进行PDF底稿文件和POM文件的合并。

本发明具有以下优点:

本发明以DLG输出的底稿PDF地图文件及其中定义的精确平面坐标系统为基础,利用PDF格式的POM上采集的控制点作为基准,对底稿PDF平面坐标系的参数进行修改,使得底稿PDF文件和PDF格式POM数据文件合并后,矢量地理PDF地图文件成果的地理目标与符号图形在位置上较为准确的对应。本发明的方法使用的前提是DLG和POM两个数据源必须是同一图幅、同一任务来源的数据,否则合成处理就因地理范围、地图投影类型、现势性等因素的不一致性而不具备实际意义。本发明具有以下优点:

(1)该方法使用少量控制点(两个),就能够将DLG和POM数据进行精准合成,快速将地理目标与符号图形位置匹配合并成矢量地理PDF地图新成果;

(2)该方法无需对地理目标及其符号图形逐个配准,而是整图幅的地理目标一次性全部配准。

附图说明

图1是地理目标与符号图形匹配方案示意图;

图2是POM和DLG配准合并制作地理PDF地图示意图;

图3是混合平面坐标系统的类图表示;

图4是混合平面坐标系统模型示意图;

图5是POM版面元素示意图;

图6是地图坐标系统变化过程与配准示意图;

图7是控制点采集过程示意图;

图8是配准后的矢量地理PDF地图示例。

具体实施方式

下面结合具体实施方式对本发明进行详细的说明。

本发明的思路是在利用POM和DLG数据制作矢量地理PDF地图时,将从DLG元数据创建并初始化一个平面坐标系统,依据POM中采集的控制点反向计算并修改平面坐标系统的参数值,再将DLG中地理目标和平面坐标系统参数写入PDF底稿文件。通过PDF底稿文件和PDF格式POM文件合并,生成的矢量地理PDF地图自动完成地理目标与符号图形位置的配准(如图1所示)。该方法是在利用POM和DLG制作地理PDF地图时,于POM上采集配准点,通过计算来还原地理PDF地图中空间参考系的方法,通过还原空间参考系,使地理PDF地图中地理目标位置和该目标的制图图形位置比较精准地对应起来。

本发明通过以下技术方案得以实现(如图2所示):

第一步,定义地理PDF地图从生产到应用常用的6个平面坐标系及其主要成员参数和函数,并把它称为六元组平面坐标系,即Six Unit Group Coordinate System(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs)。它和控制点列表共同组成坐标系统称为地理PDF地图混合平面坐标系统模型MPSCS[(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs),Cps(P1,P2,……)]。设计并实现坐标在六个平面坐标系中的转换接口,确保某个坐标系的坐标(X,Y)能够转换为其他任意一个坐标系下的坐标。转换接口函数包括个数相同的正解函数和反解函数,函数个数总计为2×C62=30个。实现30个坐标系转换接口函数的计算,其中前五个分步骤列出的正解和反解函数为最基本的10个函数,其他20个函数由这10个函数组合与嵌套实现。

六元组平面坐标系包括:数据源坐标系(Data Source Coordinate System,Dcs)、地理坐标系(Geometric Coordinate System,Gcs)、投影坐标系(Projection CoordinateSystem,Pcs)、等比例尺纸图坐标系(Equal Scale Map Coordinate System,Ecs)、PDF页面坐标系(PDF File Coordinate System,Fcs)、输出设备(屏幕或者打印机)坐标系(OutputCoordinate System,Ocs)。

第二步,将PDF格式POM(若是其他格式POM,可用Illustrator软件转存为PDF格式)作为图形层,采集其页面地图的内图廓左下角和右上角两个控制点保存到临时文件中。

第三步,利用矢量数据访问引擎读取对应的DLG数据,创建MPSCS实例并初始化。本发明使用的矢量数据访问引擎为基于开源代码封装而成,专门用来读写DLG数据。

(3.a)通过读取DLG数据元数据,来初始化Dcs、Gcs、Pcs的内部参数。

(3.b)将Pcs中的地图图幅左下角点对应到Ecs的坐标系原点,结合地图比例尺分母数值,据此初始化Ecs的参数。

第四步,从临时文件取出控制点信息和POM文件页面大小,将第三步中的MPSCS实例根据POM页面中的控制点进行配准计算,修改MPSCS中Fcs参数。

(4.a)读取控制点文件并计算坐标系配准的旋转角度。

(4.b)基于两个控制点反解计算坐标系配准的平移缩放参数。

第五步,创建一个和POM页面大小相同的PDF底稿文件,利用基于PDF-1.6规范的开放标准编写的PDF输出引擎将第三步中矢量数据访问引擎里的地理目标,以白色(底色)线划的方式绘制到PDF底稿文件中,同时以PDF对象的方式将地理目标也保存到PDF底稿文件。

第六步,利用PDF输出引擎,将第五步的PDF底稿文件和POM文件进行合并,最终得到配准后的矢量地理PDF地图。

以下对上述方案进行示例性的说明:

本发明矢量地理PDF地图制作中地理目标与符号图形配准方法技术方案具体实施如下:

1.构建MPSCS

本发明设计的混合平面空间坐标系统(MPSCS)的类图表示如图3所示。该模型的类图可分别作如下八个表进行描述说明:

(1)数据源坐标系(Data Source Coordinate System,Dcs)构建:定义为存储于原始地图数据文件或者数据库中的坐标系,其原点和长度单位由数据生产者提供的元数据进行规定,坐标单位是米或者秒。

表1 Dcs坐标系

(2)地理坐标系(Geometric Coordinate System,Gcs)构建:定义为原点为国际通用的0度经线(格林尼治0度)和0度纬线(赤道0度),坐标单位为弧度;

表2 Gcs坐标系

(3)投影坐标系(Projection Coordinate System,Pcs)构建:与设备无关,坐标原点由不同的地图投影类型约定,例如位于赤道上的圆柱或者圆锥投影面,坐标单位为米。

表3 Pcs坐标系

(4)等比例尺纸图坐标系(Equal Scale Map Coordinate System,Ecs)构建:将地图缩小到依比例尺大小的等比例纸图坐标系,与设备无关,单位为米,可理解为依地图比例尺缩小和平移后的坐标系。坐标单位为米。

表4 Ecs坐标系

(5)PDF页面坐标系构建(PDF File Coordinate System,Fcs):PDF规范定义的一个设备无关坐标系,也叫用户空间,它使对象在页面上的关系保持不变。该用户空间以页面的左下角为原点,x轴水平向右扩展,y轴垂直向上增加。为确保通用性,地理PDF采用默认的长度单位,一个默认长度单位(用户空间像素)的长度值是1/72英寸。我们把这个默认长度单位称为PDF页面像素Pu(Pdf Unit)。因此Pu是一个和设备无关的有实际长度的单位,它可以有浮点数值。正因为此,基于PDF的矢量图形文字在放大后不会出现马赛克现象。

表5 Fcs坐标系

(6)输出设备(屏幕或者打印机)坐标系(Output Coordinate System,Ocs)构建。定义为用户制定输出设备平面,坐标原点由用户指定(屏幕和打印机通常为设备左上角,X轴向右为正值,Y轴向下为正值),坐标单位为像素。

表6 Ocs坐标系

(7)控制点类,用来表示Fcs中某点在Gcs中的对应点,包含了该控制点在Fcs与Gcs中的坐标值。

表7控制点类(ControlPoint)

属性名称类型单位备注m_XIX方向的经度double弧度-m_YbY方向的纬度double弧度-mXfX方向的PDF页面横坐标doublePu-m_YfY方向的PDF页面纵坐标doublePu-

(8)混合平面空间坐标系统(Mixed Plane Spatial Coordinate System)可描述为一个由上述(1)-(6)六个平面坐标系组成六元组平面坐标系和控制点串组成的系统MPSCS[(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs),Cps(P1,P2,……)],如图4所示,它包含一个精确的坐标定位模式和一个依赖控制点的非精确坐标定位模式,通过确定一系列参数值或者控制点坐标,实现六种坐标之间的相互转换,为地理PDF地图生产和应用提供了开放的、完整的、可扩展的平面空间坐标转换接口。设计坐标在六个平面坐标系中的转换接口,确保某个坐标系的坐标(X,Y)能够转换为其他任意一个坐标系下的坐标。转换接口函数包括个数相同的正解函数和反解函数,函数个数总计为2×C62=30个。实现30个坐标系转换接口函数的计算,其中前五个分步骤列出的正解和反解函数为最基本的10个函数,其他20个函数由这10个函数组合与嵌套实现。MPSCS模型成员和方法如表8所示。

表8混合平面坐标系统(MPSCS)

MPSCS模型中涉及用数值定义的枚举类型对应表和参数数组对应表如下(也可以采用OGC标准进行定义):

表9坐标单位枚举类型对应表

表10大地坐标系类型对应表

表11地图投影类型对应表

表12详细地球椭球参数数组对应表

表13详细投影参数数组对应表

为支持精确的空间计算,本发明设计的MPSCS模型中需建立六元组平面空间坐标系每两个坐标系之间的相互转换关系,通过以下五个基础的坐标系转换(正解和反解)方法来实现。

1)Dcs坐标(Dx,Dy)转换为Gcs坐标(L,B)

分两种情况:a)当Dsc中的坐标是投影后的坐标,则需要先进行投影反接变换,得到地理坐标。b)当Dsc中的坐标没有经过投影,则坐标正解依照公式(1)进行计算,反解变换由公式(1)逆变换推导。其中Sx,Sy,X0,Y0分别表示X坐标方向的比例系数,Y坐标方向的比例系数,X坐标方向的坐标偏移,Y坐标方向的坐标偏移。

L=Dx/Sx+X0

B=Dy/Sy+Y0>

2)Gcs坐标(Gx,Gy)转换为Pcs坐标(x,y)

按照不同的投影类型,可参考相应的投影公式进行计算。计算式(2)以高斯投影(李国藻,杨启和,胡定荃.地图投影[M].解放军出版社.1993.:248-251.)为例。本例中,l为Gx经度和中央经线的经度差,B为Gy,x和y分别是得到的Px和Py。

3)Pcs坐标(Xp,Yp)转换为Ecs坐标(Xe,Ye)

建立坐标系Pcs到坐标系Ecs的坐标转换接口PcsToEcs函数与反解EcsToPcs函数。实现Pcs坐标系统点(Xp,Yp)到Ecs坐标系(Xe,Ye)的相互转换。正解依照公式(3)进行计算,反解变换由公式(3)逆变换推导。Ecs坐标系原点(0,0)在投影坐标系中的坐标为(Xep0,Yep0)。

Xe=(Xp-Xep0)/Ms

Ye=(Yp-Yep0)/Ms>

4)Ecs坐标(Xe,Ye)转换为Fcs坐标(Xf,Yf)

建立坐标系Ecs到坐标系Fcs的坐标转换接口EcsToFcs函数与反解FcsToEcs函数。实现Ecs坐标系统点(Xe,Ye)到Fcs坐标系(Xf,Yf)的相互转换。依照公式(4)进行计算,反解变换由公式(4)逆变换推导。其中fppix和fppiy分别表示PDF页面X轴和Y轴的分辨率(它通常固定为72像素/英寸进行换算),即1米用多少个PDF页面像素来表示。PDF页面坐标系原点(0,0)在Ecs中的坐标为(Xfe0,Yfe0)。其中Sfx为Fcs横轴放大系数,Sfy为Fcs纵轴放大系数,取值都为1时表明坐标无缩放。a1表示将Ecs据点(Xfe0,Yfe0)的旋转角度。

X’=Sfx·(Xe-Xfe0)·fppix

Y’=Sfy·(Ye-Yfe0)·fppiy

Xf=X’·cosa1-Y’·sina1

Yf=X’·sina1+Y’·cosa1>

5)Fcs坐标(Xf,Yf)转换为Ocs坐标(Xo,Yo)

建立坐标系Fcs到坐标系Ocs的坐标转换接口FcsToOcs函数与反解OcsToFcs函数。实现Fcs坐标系统点(Xf,Yf)到Ocs坐标系(Xo,Yo)的相互转换。依照公式(5)进行计算,反解变换由公式(5)逆变换推导。其中fdpxi和fdpiy分别表示输出设备X轴和Y轴的分辨率,即1米用多少个输出设备像素来表示,C的取值为1或者-1,设备坐标系Y向上为1,设备坐标系Y向下为-1。Sox为X坐标放大系数,Soy为Y坐标放大系数,取值都为1时表明等比例大小。输出设备坐标系原点(0,0)在PDF页面坐标系中的坐标为(Xof0,Yof0)。a2表示将Fcs据点(Xof0,Yof0)的旋转角度。

X’=Sox·(Xf-Xof0)·fdpix/fppix

Y’=Soy·(Yf-Yof0)·fdpiy·C/fppiy

Xo=X’·cosa2-Y’·sina2

Yo=X’·sina2+Y’·cosa2>

经过上述5个基本的坐标系转换正解函数,可推导出5个坐标系转换反解函数,又通过这10个基本函数的组合可实现30个坐标转换函数,即本发明的MPSCS模型支持其中6个坐标系共计30个坐标系相互转换功能函数。

2.POM中控制点采集

若POM是EPS或者栅格图象等格式,则首先利用成熟的商用软件Illustrator直接另存为PDF-1.6标准的PDF格式POM。POM中通常除了地图内容外还包含有内图廓、外图廓、方里网、经纬网等图外整饰要素和数学基础要素(如图5所示)。因此,制图人员很容易根据经验找到地图中的控制点,即那些具有准确经纬度值的坐标点。一幅完整地图的POM中,地图内图廓四个角点具有明确的经纬度,可作为控制点。经纬网等分图幅的经纬度范围,因此经纬网的交叉节点也可作为控制点。然而配对的POM和DLG具有相同的数学基础,它们之间参考系差别仅在于POM经过了编辑排版,为使出版效果更佳而进行了相应的平移、缩放或者旋转。因此这种变化是坐标系最简单的二维平面仿射变换,其平移、缩放和旋转的参数仅需两个控制点即可还原。因此,POM上控制点有很多,但仅需两个即可进行配准。那么取哪两个控制点最为有效则取决于配准精度的需要。根据理论、经验和通常的做法,取地图内相距最远的两个点进行配准定位,可获得最高的配准精度。于是地图对角线方向的两个点作为控制点选点。地图内有两条对角线,它们的长度大小取决于地图所在的经纬度范围和投影方式。在POM中可以直接量算比较两条对角线长度。为简单起见,本发明以地图图幅左下角点(西南角)和右上角点(东北角)作为匹配的最终控制点。该过程的匹配示意图如图6所示。

采用开源PDF读取程序经过改造的单文档应用程序作为控制点采集工具软件,实现PDF文件读取和显示功能。在此基础上开发采集左下角控制点、采集右上角控制点、保存控制点的菜单或者工具条。工具软件准备好之后的实施的步骤为:1)打开POM文件“DN08511344.pdf”并将地图页面显示与窗口中,将地图放大到6400%以提高采集精度;2)选取地图内图廓左下角点;3)选取地图内图廓右上角点;4)保存采集结果(如图7所示)到本地文件“DN08511344.pdf.cpt”中,该文件写入了两个控制点坐标和该POM文件的页面大小(宽和高的Pu值)。该步骤写出一个和POM文件名相同的控制点文件,而不是在内存中直接用于配准处理的原因是:单独写出一个对应文件,能够使控制点采集和配准处理工作分开进行,利于后续配准处理批量化进行。

3.读取DLG数据并初始化MPSCS实例

a)利用开源矢量数据访问引擎进行封装,读取图幅08511344的一系列DLG数据文件(包括元数据文件),地理目标存储于矢量数据访问引擎中,提取地图图幅的元数据信息(如表14所示),初始化Dcs、Gcs、Pcs中的参数。

表14 DLG实验数据元数据信息

初始化Dcs、Gcs、Pcs的参数用C++程序语言表示(部分参数省略)为:

MPSCS*pInterface=CoCreate();

pInterface->m_Dcs.Init(1.0,1.0,21277653.76,3099482.81,21);

pInterface->m_Gcs.Init(7130,......);

pInterface->m_Pcs.Init(8200,0,123,......);

此时两个控制点的Gcs坐标也已从DLG元数据中读出,分别为Gpt1(120.75,28.0)和Gpt2(121.0,28.166667)。

b)将Pcs中的地图图幅左下角点对应到Ecs的坐标系原点,结合地图比例尺分母数值,据此初始化Ecs的参数。用C++程序语言表示为:

double ExLeft,EyBottom;

pInterface->GcsToPcs(Gpt1.x,Gpt1.y,ExLeft,EyBottom);

pInterface->m_Ecs.Init(50000,ExLeft,EyBottom);

4.基于POM中控制点配准计算并修改MPSCS中Fcs参数

由于POM中页面和地图图形是产品成果数据,其页面大小和图形坐标都不宜修改,因此DLG数据输出的地理目标要与POM的符号图形位置匹配准确,需要根据MPSCS模型中坐标系变换公式(4)来模拟POM的生产过程(从DLG制作矢量符号化地图的坐标系演变过程,如图6所示)。公式(4)表明,坐标系变换的顺序为平移、缩放和旋转。该过程即图6所示的从坐标系(a)平移到坐标系(b),从坐标系(b)缩放得到坐标系(c),再由坐标系(c)旋转得到坐标系(d),坐标系(d)就是DLG数据要输出地理目标的底稿PDF页面坐标系,此时坐标系(d)可与POM页面坐标系(e)保持一致。该变化过程是基于地图左下角和右上角两个控制点的空间参考系变换过程。

a)读取控制点文件并计算旋转角度

读取第3步骤中采集保存的控制点文件“DN08511344.pdf.cpt”,得到图6所示坐标系(d)中地图内图廓左下角点坐标为Fpt1(18.562485,103.951828),右上角点坐标为Fpt2(1412.436768,1151.607544),POM中页面宽Fw为1688.969971,高Fh为1206.170044。在图6中坐标系(a)->(b)->(c)的变化过程中,两个控制点连线的角度保持不变,且(d)与(e)是一致的,因此坐标系(c)->(d)的旋转角度da就是坐标系(a)->(e)的旋转角度。于是可首先计算da值,它是坐标系(e)两个控制点连线对水平线的夹角a2和坐标系(a)两个控制点连线对水平线的夹角a1的差(注:若坐标系(b)到(c)在x方向和y方向缩放比例不同,则夹角da需要依靠3个以上的控制点进行解算,但生产实践中,地图缩放在x方向和y方向基本都保持一致,为使用2个控制点解算提供了前提条件。因此,两个控制点在图6坐标系(b)中连线角度和坐标系(c)中连线角度相同)。由于Fcs中参数m_a默认的值为0,经过旋转后,m_a的参数值就是da值。

double ppi=72*100/2.54;

double Fw=1688.969971;double Fh=1206.170044;

double Ex1a,Ex2a,Ey1a,Ey2a;

pInterface->GsToEs(Gpt1.xGpt1.y,Ex1a,Ey1a);

pInterface->GsToEs(Gpt2.x,Gpt2.y,Ex2a,Ey2a);

double a1=GetAngle(Ex1a,Ey1a.Ex2a,Ey2a);

double a2=GetAngle(Fptl.x,Fpt1.y,Fpt2.x,Fpt2.y);

double da=a2-a1;

b)基于两个控制点反解计算平移缩放参数

Fcs中的m_fx、m_fy、m_ppix、m_ppiy参数,由于Fcs在X轴和Y轴方向缩放比例和分辨率相同,分别令其为fs(未知)、ppi(默认值),根据公式(4)可以进行如下反解计算,并调用Fcs的初始化函数完成图6中坐标系(a)->(b)->(c)->(d)的转换。公式(4)的反解公式为:

X’=Xf·cosa1+Yf·sina1

Y’=Yf·cosa1-Xf·sina1

Xe=Xfe0+X’/fppi/fs;

Ye=Yfe0+Y’/fppi/fs;>

因Fcs中Fpt1点对应Ecs中(0,0)点,Fcs中Fpt2点对应Ecs中Ept2,通过MPSCS模型转换计算Ept2的坐标,把值代入公式(6)消元并解方程,得到参数fs、Xfe0、Yfe0的值。完成MPSCS中Fcs的初始化。

pInterface->GcsToEcs(Gpt2.x,Gpt2.y,Ept2.x,Ept2.y);

double A=Fpt1.x*cos(da)+Fpt1.y*sin(da);

double B=Fpt1.y*cos(da)-Fpt1.x*sin(da);

double C=Fpt2.x*cos(da)+Fpt2.y*sin(da);

double D=Ftp2.y*cos(da)-Ftp2.x*sin(da);

double Xfe0=(A*C*Ept2.y-A*D*Ept2.x-A*C*Ept1.y+B*C*Ept1.x)/(B*C-A*D);

double Yfe0=(B*D*Ept2.x-B*C*Ept2.y-B*D*Ept1.x+A*D*Ept1.y)/(A*D-B*C);

double fs=(Fpt1.x*cos(da)+Fpt1.y*sin(da))/(Ept1.x-Xfe0)/ppi;

pInterface->m_Fcs.Init(ppi,ppi,Fw,Fh,Xfe0,Yfe0,fs,fs,da);

5.开发PDF输出引擎输出底稿PDF文件

基于PDF-1.6规范的开放标准,编写PDF输出引擎,该引擎具备创建PDF文件,在PDF文件中写入图形、图象、文字、目标对象、坐标系模型等功能。利用PDF输出引擎创建页面大小和POM一致的底稿PDF文件“08511344.temp.pdf”,并用PDF输出引擎将地图中所有地理目标以白色线划(底稿背景色)绘制在底稿PDF页面中并写入地理目标对象。此时绘制的地理目标隐藏在页面中,不用来展示地图效果,而用来在最后矢量地理PDF地图成果中地理目标查询选取。底稿PDF文件绘制完成后保存到本地磁盘。pMapDoc是矢量数据访问引擎中的DLG地图文档。

IPdfEngine*pEng=GetPdfEngine();

pEng->CreatePdf(″C:\08511344.temp.pdf″,Fw,Fh);

pEng->DrawMapWhite(pMapDoc,pInterface);

pEng->SavePdf(f();//MPSCS序列化参数也被写入PDF文件

6.利用PDF输出引擎合并底稿PDF文件和POM文件

文件合并采用分段写入的方法,利用PDF输出引擎,先写合成文件的文件头,将底稿PDF文件中含有地理目标的内容写在前,POM中含有符号图形内容写在之后,随后载将MPSCS参数写入,最后写入文件尾,合成一个矢量地理PDF地图文件,另存到一个与POM文件同名且文件名称增加了“.geo”段的PDF文件“DN08511344.geo.pdf”中。

pEng->CombinePdf(″C:\DN08511344.pdf″,″C:\08511344.temp.pdf″,″C:\DN08511344.geo.pdf″);

写入的矢量地理PDF地图示例如图8所示。用商用软件Adobe Acrobat对象工具选取一个面状河流,其地理目标和符号图形位置匹配准确。

本发明针对同源相同图幅的POM与DLG数据合并制作矢量地理PDF地图的生产模式,通过地理PDF地图MPSCS模型构建平面坐标系统,利用在POM页面中采集的地图内图廓左下与右上两个角点作为控制点,模拟PLG到POM生产过程地图坐标系平移、缩放和旋转的变化,解算并修改MPSCS中的参数,最终将基于PLG输出的底稿PDF文件和POM文件合并生成矢量地理PDF地图,实现了来自DLG数据的地理目标和来自POM的符号图形自动配准,旋转和平移PDF底稿文件或POM文件中的一个进行PDF底稿文件和POM文件的合并,均为本发明的技术方案。本发明为基于同源相同图幅DLG和POM数据大规模生产矢量地理PDF地图奠定了基础。

本发明的内容不限于实施例所列举,本领域普通技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明的权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号