CN108681595B - 地理pdf地图混合平面坐标***模型及其构建方法 - Google Patents

地理pdf地图混合平面坐标***模型及其构建方法 Download PDF

Info

Publication number
CN108681595B
CN108681595B CN201810475286.7A CN201810475286A CN108681595B CN 108681595 B CN108681595 B CN 108681595B CN 201810475286 A CN201810475286 A CN 201810475286A CN 108681595 B CN108681595 B CN 108681595B
Authority
CN
China
Prior art keywords
coordinate system
map
geographical
pdf
model
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
CN201810475286.7A
Other languages
English (en)
Other versions
CN108681595A (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
Publication of CN108681595A publication Critical patent/CN108681595A/zh
Application granted granted Critical
Publication of CN108681595B publication Critical patent/CN108681595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种地理PDF地图混合平面坐标***模型及其构建方法。PDF文档页面仅有基于像素的简单二维平面坐标系,现有的地理PDF地图案例中的平面坐标模型仅能够支持页面坐标、地理坐标和投影坐标之间的直接转换。本发明通过对地理PDF地图从生产到应用涉及到的全部六种平面直角坐标系进行聚合,并扩展利用三角网控制点坐标系,来定义二维地理PDF地图,从而构建出地理PDF地图混合平面坐标***模型,使地理PDF地图用户不仅能获取地图中任意点的地理坐标和投影坐标,还能够直接还原其数据源原始坐标和模拟等比例尺纸图坐标,并在缺乏坐标系参数的情况下扩展非精确坐标***构建。

Description

地理PDF地图混合平面坐标***模型及其构建方法
技术领域
本发明涉及地理PDF地图制图技术领域,具体涉及一种地理PDF地图混合平面坐标***模型及其构建方法。
背景技术
地理PDF地图是一种介于电子地图和纸质地图的新型地图产品。传统的电子地图和纸质地图各有优缺点,电子地图便于多尺度浏览,信息量大,但与GIS***关联紧密,需不断升级维护;纸质地图适于长期保存,稳定可靠,但成图周期长,现势性不足。随着地图非专业用户的增加,便携式终端设备使用越来越广泛,很多用户希望在便携设备上使用跨平台的电子地图,新的地图产品与地理信息保障模式有着迫切需求。地理PDF地图的出现满足了这一需求。地理PDF地图区别于普通PDF格式的地图文件,它是在PDF格式地图文件中增加空间参考***和地理信息数据等要素,能够使PDF形式的地图具备空间分析、量算等应用功能。这种方式的地图即所谓Geospatial PDF,具有地理空间特征的PDF数据。这种新型地图不仅能满足用户多尺度、高质量显示的要求,而且能够查询地理要素属性,用户还能获得一些简单分析功能,这些分析功能不依赖功能复杂的GIS***。于是Geospatial PDF的核心之一就是在PDF地图数据中建立地理空间参考系(坐标***)。因此,研究能适用于不同类型地理PDF地图,并能够支持多个坐标系转换的坐标系模型,对地理PDF地图大规模生产和应用具有重要意义。
汶建龙围绕要素编码、要素对象结构和分层结构提出并设计了一种地图跨媒介出版数据模型(汶建龙等,一种地图跨媒介出版数据模型,测绘学报[J].2015.44(8):936-942),在属性查询和量算应用时,模型需要空间参考***的支持,该模型并未涉及如何构建平面坐标系模型。现有的地理PDF地图空间参考建模方法主要有胡浩杰提出的屏幕坐标系和PDF用户坐标系转换模型(胡浩杰地理PDF地图制图关键技术研究,信息工程大学硕士论文,2011,郑州)和GeoPDF(美国的Layton Graphics公司开发出TerroGo Technologies制作的GeoPDF)的方法。胡浩杰提出的模型仅涉及制图***屏幕坐标系和PDF用户坐标系的相互转换,而且并未在输出的地理PDF文件中植入平面坐标***参数,因此其制作的地理PDF地图产品不具备独立的地理空间参考系,不能计算地理经纬度坐标、投影坐标等;GeoPDF文件具备独立的地理空间参考系,但GeoPDF空间参考模型主要问题有:(1)数据源可追溯性问题。GeoPDF空间坐标系支持地理坐标、投影坐标和页面坐标之间的直接相互转换,无法直接追溯还原到生产阶段数据源坐标***,因此不能直接利用GeoPDF进行地理空间数据整合(将原始数据隐含于GeoPDF中)。(2)扩展性问题。GeoPDF的坐标系模型在生产制作普通GeoPDF地图时能依据数据源的空间参考系建立精确的坐标***,但在生产制作诸如要闻地图、专题地图、目标图等特殊地图时,通常制图人员并不存有相关坐标***的资料和参数,因而这些地理PDF地图的坐标***难以精确构建。但用户又有构建非精确坐标***以大致确定地理目标位置的应用需求。
发明内容
本发明的目的是提供一种地理PDF地图混合平面坐标***模型及其构建方法,使地理PDF地图用户不仅能获取地图中任意点的地理坐标和投影坐标,还能够直接还原其数据源原始坐标和模拟等比例尺纸图坐标,并在缺乏坐标系参数的情况下扩展非精确坐标***构建。解决了地理PDF地图中的平面坐标模型难以直接支持数据源原始坐标、等比例尺纸图坐标和设备坐标直接转换的问题,为缺乏精准坐标系的特殊地理PDF地图建立平面坐标系提供了兼容的模型。
本发明所采用的技术方案为:
地理PDF地图混合平面坐标***模型的构建方法,其特征在于:
通过对地理PDF地图从生产到应用涉及到的全部六种平面直角坐标系进行聚合,并扩展利用三角网控制点坐标系,来定义二维地理PDF地图,从而构建出地理PDF地图混合平面坐标***模型。
具体包括以下步骤:
第一步:构建地理PDF地图的六个平面坐标系;
第二步:将六个平面坐标系组成六元组坐标***,设计坐标在六个平面坐标系中的转换接口;
第三步:对地理PDF地图六元组平面坐标系参数进行初始化;
第四步:构建基于多控制点的扩展三角网坐标系,设计并实现基于该三角网的坐标结算正解和反解接口;
第五步:地理PDF地图混合平面坐标***模型参数序列化表示与解析。
第一步,构建地理PDF地图的六个平面坐标系,分别为数据源坐标系、地理坐标系、投影坐标系、等比例尺纸图坐标系、PDF页面坐标系和输出设备坐标系,定义各平面坐标系的主要参数。
第二步,将六个平面坐标系组成六元组坐标***,,设计坐标在六个平面坐标系中的转换接口,确保某个坐标系的坐标能够转换为其他任意一个坐标系下的坐标;转换接口函数包括个数相同的正解函数和反解函数,函数个数总计为2×C62=30个;实现30个坐标系转换接口函数的计算,其中前五个分步骤列出的正解和反解函数为最基本的10个函数,其他20个函数由这10个函数组合与嵌套实现。
第三步,地理PDF地图六元组平面坐标系参数初始化,具体由以下步骤实现:
(3.a)通过地理PDF地图制图的数据源文件读取或者数据库访问,来初始化Dcs、Gcs、Pcs的内部参数,这些参数值由数据源的元数据提供;
(3.b)将Pcs中的地图图幅左下角点对应到Ecs的坐标系原点,结合地图比例尺分母数值,据此初始化Ecs的参数;
(3.c)以Ecs坐标原点对应到Fcs的坐标原点,并根据Ecs中地图内容宽高,计算Fcs中PDF单页面的宽高,若地图内容超出了PDF页面,还需要对原点进行一定的平移、缩放和旋转,据此初始化Fcs的参数;
(3.d)以试验可执行程序的视窗作为输出设备,以地图内图廓左上角点绘制在CView的左上角点,按照等比例尺等大小将欲把地理PDF地图内容显示在CView中;通过该假定和参数解算,得到Ocs中的全部参数值;
若生产地理PDF地图无法构建完整准确的六元组平面坐标系,但又需要建立概略的平面空间坐标***,则进行第四步。
第四步,构建基于多控制点的扩展三角网坐标系,由地理PDF地图生产用户采集3个以上点作为控制点,记录点的个数和每个点的PDF页面坐标与地理坐标的坐标值;按照Denaly三角网构建规则将控制点构建Denaly三角网,设计并实现基于该三角网的坐标正解和反解接口。
第五步,地理PDF地图混合平面坐标***模型参数序列化表示与解析,具体由以下步骤实现:
(5.a)构建混合平面坐标***模型对象的序列化函数,该函数包含两个功能,即序列化表示与解析混合平面坐标模型;将混合平面坐标模型参数信息按照PDF规范存储格在地理PDF地图文件中;
(5.b)从保存了混合平面坐标***模型的地理PDF地图文件读取模型序列化字符串,对该段进行解析,重新构建混合平面坐标***模型的实例。
如所述的构建方法获得的地理PDF地图混合平面坐标***模型,其特征在于:
所述模型,是通过地理PDF地图从生产到应用涉及到的全部六种平面直角坐标系进行聚合,并扩展利用三角网控制点坐标系,来定义二维地理PDF地图的平面坐标系模型。
从该模型可获取地图中任意点的地理坐标和投影坐标;
从该模型可还原其数据源原始坐标和模拟等比例尺纸图坐标;
从该模型可在缺乏坐标系参数的情况下扩展非精确坐标***构建。
本发明具有以下优点:
本发明的考虑了地理PDF地图生产制作从数据源开始,直到最终成为地理PDF地图产品全过程的坐标系变化过程,建立了可追溯到地图数据源坐标系、地理坐标系、等比例尺纸图坐标系、PDF页面坐标系、输出坐标系的混合平面坐标***模型。本发明具有以下优点:
(1)支持地理PDF地图中任意点坐标在上述六个坐标系中任意两个坐标系之间相互转换,尤其在计算地理PDF地图中任意点的数据源原始坐标、等比例尺纸图坐标、以及屏幕或打印机上的坐标时变得非常简单;
(2)兼容依靠精确参数建立普通地理PDF地图精确坐标系和依靠三个以上控制点构建特殊地理PDF地图非精确坐标系,实现普通地理PDF地图和特殊地理PDF地图坐标系模型的统一;
(3)该模型的建立,可追溯还原地图数据源坐标系,因此能够支持在地理PDF地图文件中存储原始地图数据,可用于地理信息数据整合(地理PDF地图既是地图制图成果,又是地理信息数据);可直接建立地理PDF地图文件和显示/打印设备的空间位置转换关系,为地理PDF地图跨图幅拼接、大范围打印等多方面应用奠定了基础。
附图说明
图1是混合平面坐标***示意图;
图2是混合平面坐标***的类图表示;
图3是采集控制点构建基于Denaly三角网的混合平面坐标***。
具体实施方式
下面结合具体实施方式对本发明进行详细的说明。
本发明涉及一种地理PDF地图混合平面坐标***模型及其构建方法,其思路是保持数据从地理空间数据来源到地理PDF地图应用坐标系全部能够还原,能够满足地理PDF地图在生产和应用各个环节的坐标***构建,并向外部开放该模型的参数信息,使得地理PDF产品能够融入其他***中应用,保持和其他地理空间数据坐标***的一致性。
本发明通过对地理PDF地图从生产到应用涉及到的全部六种平面直角坐标系进行聚合,并扩展利用三角网控制点坐标系,来定义二维地理PDF地图,从而构建出地理PDF地图混合平面坐标***模型。
具体通过以下设计方案得以实现:
第一步,构建地理PDF地图从生产到应用常用的6个平面坐标系及其主要成员参数和函数,并把它称为六元组平面坐标系,即Six Unit Group Coordinate System(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs)。它和控制点列表共同组成坐标***称为地理PDF地图混合平面坐标***模型MPSCS[(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs),Cps(P1,P2,……)]。
(1.a)数据源坐标系(Data Source Coordinate System,Dcs)构建:定义为存储于原始地图数据文件或者数据库中的坐标系,其原点和长度单位由数据生产者提供的元数据进行规定,坐标单位是米或者秒。
(1.b)地理坐标系(Geometric Coordinate System,Gcs)构建:定义为原点为国际通用的0度经线(格林尼治0度)和0度纬线(赤道0度),坐标单位为弧度;
(1.c)投影坐标系(Projection Coordinate System,Pcs)构建:与设备无关,坐标原点由不同的地图投影类型约定,例如位于赤道上的圆柱或者圆锥投影面,坐标单位为米。
(1.d)等比例尺纸图坐标系(Equal Scale Map Coordinate System,Ecs)构建:将地图缩小到依比例尺大小的等比例纸图坐标系,与设备无关,单位为米,可理解为依地图比例尺缩小和平移后的坐标系。坐标单位为米。
(1.e)PDF页面坐标系构建(PDF File Coordinate System,Fcs):PDF规范定义的一个设备无关坐标系,也叫用户空间,它使对象在页面上的关系保持不变。该用户空间以页面的左下角为原点,x轴水平向右扩展,y轴垂直向上增加。为确保通用性,地理PDF采用默认的长度单位,一个默认长度单位(用户空间像素)的长度值是1/72英寸。我们把这个默认长度单位称为PDF页面像素Pu(Pdf Unit)。因此Pu是一个和设备无关的有实际长度的单位,它可以有浮点数值。正因为此,基于PDF的矢量图形文字在放大后不会出现马赛克现象。
(1.f)输出设备(屏幕或者打印机)坐标系(Output Coordinate System,Ocs)构建。定义为用户制定输出设备平面,坐标原点由用户指定(屏幕和打印机通常为设备左上角,X轴向右为正值,Y轴向下为正值),坐标单位为像素。
第二步,设计并实现坐标在六个平面坐标系中的转换接口,确保某个坐标系的坐标(X,Y)能够转换为其他任意一个坐标系下的坐标。转换接口函数包括个数相同的正解函数和反解函数,函数个数总计为2×C6 2=30个。实现30个坐标系转换接口函数的计算,其中前五个分步骤列出的正解和反解函数为最基本的10个函数,其他20个函数由这10个函数组合与嵌套实现。
第三步,地理PDF地图六元组平面坐标系参数初始化。其步骤如下:
(3.a)通过地理PDF地图制图的数据源文件读取或者数据库访问,来初始化Dcs、Gcs、Pcs的内部参数,这些参数值由数据源的元数据提供。
(3.b)将Pcs中的地图图幅左下角点对应到Ecs的坐标系原点,结合地图比例尺分母数值,据此初始化Ecs的参数。
(3.c)以Ecs坐标原点对应到Fcs的坐标原点,并根据Ecs中地图内容宽高(和设备不相关的Ew,Eh),计算Fcs中PDF单页面的宽高(和设备不相关的Fw,Fh),若地图内容超出了PDF页面(地图内图廓可能有一定的倾斜而使其绘制到PDF页面之外),还需要对原点进行一定的平移、缩放和旋转,据此初始化Fcs的参数。
(3.d)以试验可执行程序的视窗(MFC中的CView为例)作为输出设备,以地图内图廓左上角点绘制在CView的左上角点,按照等比例尺等大小将欲把地理PDF地图内容显示在CView中。通过该假定和参数解算,得到Ocs中的全部参数值。
若生产地理PDF地图无法构建完整准确的六元组平面坐标系(例如扫描图生成的地理PDF地图,要闻地图、目标图、其他专题图制作的地理PDF地图等情况),但又需要建立概略的平面空间坐标***,则进行第四步。
第四步,构建基于多控制点的扩展三角网坐标系,由地理PDF地图生产用户采集多个(3个以上)点作为控制点,记录点的个数和每个点的PDF页面坐标与地理坐标的坐标值。按照Denaly三角网构建规则将控制点构建Denaly三角网,设计并实现基于该三角网的坐标正解和反解接口。
第五步,地理PDF地图混合平面坐标***模型参数序列化表示与解析。
(5.a)为了能使地理PDF地图数据在生产和应用时保持空间参考的一致性,并对应用用户保持空间参考的开放性,必须将混合平面坐标模型的参数信息以一定形式保存到地理PDF地图文件中。构建混合平面坐标***模型对象的序列化函数FormatSerialize(boolbRead,char*pzString),该函数包含两个功能,即序列化表示与解析混合平面坐标模型(读写)。将混合平面坐标模型参数信息按照PDF规范存储格在地理PDF地图文件中。
(5.b)从保存了混合平面坐标***模型的地理PDF地图文件读取模型序列化字符串,对该段进行解析,重新构建混合平面坐标***模型的实例(创建对象并初始化全部参数)。
以下对上述方案进行示例性的说明:
本发明地理PDF地图混合平面坐标***模型及其构建方法设计方案具体实施如下:
1.构建MPSCS
混合平面空间坐标***(Mixed Plane Spatial Coordinate System)可描述为一个由六元组平面坐标系和控制点串组成的***MPSCS[(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs),Cps(P1,P2,……)],如图1所示,它包含一个精确的坐标定位模式和一个依赖控制点的粗略坐标定位模式,通过确定一系列参数值或者控制点坐标,实现六种坐标之间的相互转换,为地理PDF地图生产和应用提供了开放的、完整的、可扩展的平面空间坐标转换接口。
本发明设计的混合平面空间坐标***(MPSCS)的类图表示如图2所示。该模型的类图可分别作如下八个表进行描述说明:
表1控制点类(ControlPoint)
属性 名称 类型 单位 备注
m_XI X方向的经度 double 弧度 -
m_Yb Y方向的纬度 double 弧度 -
m_Xf X方向的PDF页面横坐标 double Pu -
m_Yf Y方向的PDF页面纵坐标 double Pu -
表2 Dcs坐标系
Figure BDA0001664288350000111
表3 Gcs坐标系
Figure BDA0001664288350000112
表4 Pcs坐标系
Figure BDA0001664288350000121
表5 Ecs坐标系
Figure BDA0001664288350000122
表6 Fcs坐标系
Figure BDA0001664288350000123
表7 Ocs坐标系
Figure BDA0001664288350000131
表8混合平面坐标***(MPSCS)
Figure BDA0001664288350000141
Figure BDA0001664288350000151
MPSCS模型中涉及用数值定义的枚举类型对应表和参数数组对应表如下(也可以采用OGC标准进行定义):
表9坐标单位枚举类型对应表
Figure BDA0001664288350000152
表10大地坐标系类型对应表
Figure BDA0001664288350000153
表11地图投影类型对应表
Figure BDA0001664288350000154
表12详细地球椭球参数数组对应表
Figure BDA0001664288350000161
表13详细投影参数数组对应表
Figure BDA0001664288350000162
2.六元组平面空间坐标系中的转换接口函数实现
为支持精确的空间计算,本发明设计的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 (1)
2)Gcs坐标(Gx,Gy)转换为Pcs坐标(x,y)
按照不同的投影类型,可参考相应的投影公式进行计算。计算式(2)以高斯投影(李国藻,杨启和,胡定荃.地图投影[M].解放军出版社.1993.:248-251.)为例。本例中,l为Gx经度和中央经线的经度差,B为Gy,x和y分别是得到的Px和Py。
Figure BDA0001664288350000171
Figure BDA0001664288350000172
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 (3)
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 (4)
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个基本的坐标系转换正解函数,可推导出5个坐标系转换反解函数,又通过这10个基本函数的组合可实现30个坐标转换函数,即本发明的MPSCS模型支持其中6个坐标系共计30个坐标系相互转换功能函数。
3.六元组平面空间坐标系(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs)参数初始化
本过程利用C++语言的程序代码逐步进行说明。
制作生产普通地理PDF地图数据源(矢量数据、影像数据、DEM数据或者其他数据)通常都附有元数据信息,这些元数据信息中包含数据采用何种坐标单位、坐标偏移量、坐标放大系数、地图投影类型、大地坐标系类型等。以下具体实现方法以矢量地图数据为例。
a)首先创建MPSCS模型实例,读取矢量地图数据文件或者访问地图数据库中数据,提取如表14所示的地图图幅的元数据信息,初始化Dcs、Gcs、Pcs中的参数。
表14矢量地图数据元数据示例
Figure BDA0001664288350000201
利用表中元数据信息,用C++程序语言表示(部分参数省略)为:
MPSCS*pInterface=CoCreate();
pInterface->m_Dcs.Init(1.0,1.0,20689693.63,3450175.70,21);
pInterface->m_Gcs.Init(7130,......);
pInterface->m_Pcs.Init(8200,500000,117,......);
b)将Pcs中的地图图幅左下角点对应到Ecs的坐标系原点,结合地图比例尺分母数值,据此初始化Ecs的参数。
double B=31.166667;double L=119;double ExLeft,EyBottom;
pInterface->GcsToPcs(L,B,ExLeft,EyBottom);
pInterface->m_Ecs.Init(50000,ExLeft,EyBottom);
c)以Ecs坐标原点对应到Fcs的坐标原点,根据ppix和ppiy(PDF页面分辨率,它通常固定为72Pu/英寸进行换算)计算Fcs中PDF单页面的宽高(Fw,Fh),若地图内容超出了PDF页面(地图内图廓可能有一定的倾斜而使其绘制到PDF页面之外),还需要对原点进行部分平移,并假设地图旋转角度为0,横坐标和纵坐标放大系数为1,据此初始化Fcs的最终参数。
double ppix=72*100/2.54,ppiy=72*100/2.54;
pInterface->m_Fcs.Init(ppix,ppiy,100,100,0,0,1.0,1.0,0);
double Fx1,Fx2,Fx3,Fx4,Fy1,Fy2,Fy3,Fy4;
pInterface->GcsToFcs(119,31.166667,Fx1,Fy1);
pInterface->GcsToFcs(119.25,31.166667,Fx2,Fy2);
pInterface->GcsToFcs(119.25,31.333333,Fx3,Fy3);
pInterface->GcsToFcs(119,31.333333,Fx4,Fy4);
double Fxmin=min(Fx1,min(Fx2,min(Fx3,Fx4)));
double Fymin=min(Fy1,min(Fy2,min(Fy3,Fy4)));
double Fw=max(Fx1,max(Fx2,max(Fx3,Fx4)))-Fxmin;
double Fh=max(Fy1,max(Fy2,max(Fy3,Fy4)))-Fymin;
double Exmin,Eymin;
pInterface->.FcsToEcs(Fxmin,Fymin,Exmin,Eymin);
double Xfe0=Exmin,Yfe0=Eymin;
pInterface->.m_Fcs.Init(ppix,ppiy,Fw,Fh,Xfe0,Yfe0,1.0,1.0,0);
pInterface->m_Fcs.Init(ppix,ppiy,Fw,Fh,Xfe0,Yfe0,1.0,1.0,0);
基于PDF-1.6规范的开放标准,并基于胡浩杰的研究成果(胡浩杰地理PDF地图制图关键技术研究[D],信息工程大学硕士论文,2011,郑州),编写PDF输出引擎,该引擎具备创建PDF文件,在PDF文件中写入图形、图象、文字、目标对象、坐标系模型等功能。根据计算得到的PDF页面大小,利用PDF输出引擎,创建地理PDF地图文件,并将地图绘制在该地理PDF地图的页面中。最后把MPSCS模型写入成果文件中。
IPdfEngine*pEng=GetPdfEngine();
pEng->CreatePdf("C:\\08500351.geo.pdf",Fw,Fh);
pEng->DrawMap(pMapDoc,pInterface);
pEng->WriteSpatialRef(pInterface);
pEng->SavePdf();
pInterface->Release();
上述代码中的pMapDoc是矢量数据访问引擎中的DLG地图文档。本发明使用的矢量数据访问引擎为基于开源代码封装而成,专门用来读写DLG数据。
上述计算是地图图廓4个角点的情况,若地图经过投影图廓有更多的角点,则按照上面类似的方法进行计算。
以上步骤是在生产制作普通地理PDF地图过程中建立MPSCS的步骤,以下是应用地理PDF地图(显示或者打印等)过程中建立MPSCS的步骤。
d)以VC6.0创建的试验可执行程序的视窗(MFC中的CView为例)作为输出设备,以地图内图廓左上角点绘制在CView的左上角点(CView设备原点),按照等比例大小将欲把地理PDF地图内容显示在CView中,旋转角度为0。通过该假定和参数解算,得到Ocs中的全部参数值。其中CView的hdc默认分辨率(像素/米)。
IPdfEngine*pEng=GetPdfEngine();
pEng->OpenPdf("C:\\08500351.geo.pdf");
MPSCS*pInterface=pEng->GetMpscs();
double dpix=96*100/2.54;double dpiy=96*100/2.54;
int m_C=-1;//CView的hdc默认Y轴向下为正方向
double Fxleft,Fytop;//地图内图廓左上角点的PDF页面坐标
pInterface->GcsToFcs(119,31.333333,Fxleft,Fytop);
pInterface->m_Ocs.Init(dpix,dpiy,Fxleft,Fytop,-1,1.0,1.0,0);
在地理PDF地图应用开发中,通过修改Ocs的相关参数,可以实现地图的旋转、放大、缩小与漫游显示,或者在打印机上打印输出。该过程直接从PDF文件中读出的MPSCS模型,对其Ocs初始化设置后,即可用于在输出设备上坐标计算,无需另外建立其他专门的坐标系转换模型。
4.扩展基于多控制点的三角网平面坐标系Cps(P1,P2,……)初始化
在MPSCS模型中,六元组平面空间坐标系(Dcs,Gcs,Pcs,Ecs,Fcs,Ocs)未设置且无效时,可扩展对三角网平面坐标系Cps(P1,P2,……)初始化来建立MPSCS。通常采用多控制点(3个以上)进行初始化。通过编写控制点采集程序,装载“中华人民共和国地图.PDF”显示在窗口中并于经纬网交点采集控制点,输入经纬度数值(如图3所示),逐点采集控制点并且输入坐标经纬度,将全部采集的控制点保存到MPSCS实例中。根据多个控制点,按照Denaly三角网构建规则可构建Denaly三角网。因此,MPSCS中仅需要存储多控制点坐标串作为三角网平面坐标系Cps(P1,P2,……)的参数。
IPdfEngine*pEng=GetPdfEngine();
pEng->OpenPdf("C:\\中华人民共和国地图.pdf");
MPSCS*pInterface=pEng->GetMpscs();
......//采集点集合pts过程代码略
pInterface->CreateTinFromCtrPoints(pts);
利用控制点串建立的MPSCS模型,在计算地理PDF地图页面任意点某点地理坐标时,先找出该点所处其内的三角形,利用三角形三个顶点的控制点坐标经过插值得到该点经纬度坐标。
5.地理PDF地图文件中MPSCS模型参数序列化表示
MPSCS模型考虑了地理PDF地图从生产到应用过程不同的用户需求,即它既支持地理PDF地图生产,也支持地理PDF地图应用,在这两种模式下使用统一的MPSCS模型。地理PDF地图最终成果形式为包含地理空间信息和图形展示信息融于一体的PDF格式文件,通常以地图图幅划分不同的文件。地理PDF地图的用户通常分为3类:地理PDF地图生产制作软件的开发者;地理PDF地图专业应用(可能要多文档拼接,大范围漫游等)的开发者;地理PDF地图非专业应用的用户(使用商用软件Adobe Reader或者Foxit使用地理PDF文件)。
对于前两类用户来说,地理PDF地图中的MPSCS的Ocs参数是根据软件功能需求动态变化,其他参数保持不变。对于第三类用户来说,他们根本不需要获得地理PDF地图MPSCS中的Ocs参数。因此,对于保持不变的MPSCS内部参数,必须写入PDF文件,而MPSCS中的Ocs参数不写入PDF文件而由开发用户设置。综上,MPSCS模型参数除了Ocs参数不写入地理PDF地图数据以外,其他部分均需要以PDF标准规范(基于PDF-1.6标准)的形式写入PDF文件。为便于内部和外部访问MPSCS模型,本发明采用PDF中的字典对象的表示方法来格式化存储MPSCS参数。存储MPSCS的过程使用FormatSerialize()函数写入地理PDF地图文件。
以下是生产制作一幅普通地理PDF地图写入的MPSCS参数示例。
/SpatialReference_MPSCS_1_0
<<
/Dcs[(1.000000)(1.000000)(20689693.63)(3450175.70)(21)]
/Gcs 7130
/SphParams[(6378137.0)(6356752.3142)(0.003352810664)(0.00669437999013)(0.006739496742227)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)]
/Pcs 8200
/PrjParams[(500000.000000000)(117.000000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)]
/Ecs[(50000.0)(20690693.63)(3451175.70)]
/Fcs[(2834.645892)(2834.645892)(1721.354458)(1425.342542)(-0.067)(-0.031)(1.0)(1.0)(0.000000)]
/DenalyTIN 0
/Type/SpatialReference_MPSCS_1_0
>>
以下是利用控制点采集制作地理PDF地图写入的MPSCS参数示例,该示例给出了6个控制点。
/SpatialReference_MPSCS_1_0
<<
/Dcs[(1.000000)(1.000000)(0.000000)(0.000000)(0.000000)]
/Gcs 0
/SphParams[(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)]
/Pcs 0
/PrjParams[(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)(0.000000)]
/Ecs[(1.000000)(0.000000)(0.000000)]
/Fcs[[(2834.645892)(2834.645892)(3615.254718)(3219.244154)(0.000000)(0.000000)(1.0)(1.0)(0.000000)]
/DenalyTIN 6
/CtlPnts[(85.0)(23.0)(505.0)(301.0)(90.0)(23.0)(861.0)(337.0)(95.0)(23.0)(1181.0)(277.0)(85.0)(33.0)(341.0)(629.0)(90.0)(33.0)(845.0)(689.0)(95.0)(33.0)(1253.0)(673.0)]
/Type/SpatialReference_MPSCS_1_0
>>
开发者用户读取地理PDF地图中MPSCS时,使用普通的文件读写接口,先完整取出SpatialReference_MPSCS_1_0的双括号中间部分字符串内容,然后仍旧使用FormatSerialize()函数加载该段字符串,这样所有参数值读入MPSCS中。
本发明根据地理PDF地图从生产制作源头到应用末端坐标系的演变过程,设计了一种基于六个平面坐标系聚合而成的混合平面坐标***模型,实现了它们之间坐标相互转换方法和模型参数初始化方法。本发明不仅满足了用户浏览地理PDF地图地理坐标和投影坐标的需求,还满足了用户使用数据源坐标系、等比例尺纸图坐标系和输出设备坐标系坐标的需求。本发明为大规模生产不同类型地理PDF地图产品提供了一个标准的坐标系模型,并为地理PDF地图应用提供了构建平面坐标***的案例。为地理PDF地图整合地理信息数据、跨图幅拼接、大范围打印奠定了基础。
本发明的内容不限于实施例所列举,本领域普通技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明的权利要求所涵盖。

Claims (6)

1.地理PDF地图混合平面坐标***模型的构建方法,其特征在于:
通过对地理PDF地图从生产到应用涉及到的全部六种平面直角坐标系进行聚合,并扩展利用三角网控制点坐标系,来定义二维地理PDF地图,从而构建出地理PDF地图混合平面坐标***模型;
具体包括以下步骤:
第一步:构建地理PDF地图的六个平面坐标系;
第二步:将六个平面坐标系组成六元组坐标***,设计坐标在六个平面坐标系中的转换接口;
第三步:对地理PDF地图六元组平面坐标系参数进行初始化;
第四步:构建基于多控制点的扩展三角网坐标系,设计并实现基于该三角网的坐标结算正解和反解接口;
第五步:地理PDF地图混合平面坐标***模型参数序列化表示与解析;
第一步中,构建地理PDF地图的六个平面坐标系,分别为数据源坐标系、地理坐标系、投影坐标系、等比例尺纸图坐标系、PDF页面坐标系和输出设备坐标系,定义各平面坐标系的主要参数;
第四步中,构建基于多控制点的扩展三角网坐标系,由地理PDF地图生产用户采集3个以上点作为控制点,记录点的个数和每个点的PDF页面坐标与地理坐标的坐标值;按照Denaly三角网构建规则将控制点构建Denaly三角网,设计并实现基于该三角网的坐标正解和反解接口。
2.根据权利要求1所述的地理PDF地图混合平面坐标***模型的构建方法,其特征在于:
第二步,将六个平面坐标系组成六元组坐标***,设计坐标在六个平面坐标系中的转换接口,确保某个坐标系的坐标能够转换为其他任意一个坐标系下的坐标;转换接口函数包括个数相同的正解函数和反解函数,函数个数总计为2×C6 2=30个;实现30个坐标系转换接口函数的计算,其中前五个分步骤列出的正解和反解函数为最基本的10个函数,其他20个函数由这10个函数组合与嵌套实现。
3.根据权利要求2所述的地理PDF地图混合平面坐标***模型的构建方法,其特征在于:
第三步,地理PDF地图六元组平面坐标系参数初始化,具体由以下步骤实现:
(3.a)通过地理PDF地图制图的数据源文件读取或者数据库访问,来初始化Dcs、Gcs、Pcs的内部参数,这些参数值由数据源的元数据提供;
(3.b)将Pcs中的地图左下角点对应到Ecs的坐标系原点,结合地图比例尺分母数值,据此初始化Ecs的参数;
(3.c)以Ecs坐标原点对应到Fcs的坐标原点,并根据Ecs中地图内容宽高,计算Fcs中PDF单页面的宽高,若地图内容超出了PDF页面,还需要对原点进行一定的平移、缩放和旋转,据此初始化Fcs的参数;
(3.d)以试验可执行程序的视窗作为输出设备,以地图内图廓左上角点绘制在CView的左上角点,按照等比例尺等大小将欲把地理PDF地图内容显示在CView中,得到Ocs中的全部参数值;
若生产地理PDF地图无法构建完整准确的六元组平面坐标系,但又需要建立概略的平面空间坐标***,则进行第四步。
4.根据权利要求3所述的地理PDF地图混合平面坐标***模型的构建方法,其特征在于:
第五步,地理PDF地图混合平面坐标***模型参数序列化表示与解析,具体由以下步骤实现:
(5.a)构建混合平面坐标***模型对象的序列化函数,该函数包含两个功能,即序列化表示与解析混合平面坐标模型;将混合平面坐标模型参数信息按照PDF规范存储在地理PDF地图文件中;
(5.b)从保存了混合平面坐标***模型的地理PDF地图文件读取模型序列化字符串,对该段模型序列化字符串进行解析,重新构建混合平面坐标***模型的实例。
5.如权利要求4所述的构建方法获得的地理PDF地图混合平面坐标***模型,其特征在于:
所述模型,是通过地理PDF地图从生产到应用涉及到的全部六种平面直角坐标系进行聚合,并扩展利用三角网控制点坐标系,来定义二维地理PDF地图的平面坐标系模型。
6.根据权利要求5所述的地理PDF地图混合平面坐标***模型,其特征在于:
从该模型可获取地图中任意点的地理坐标和投影坐标;
从该模型可还原其数据源原始坐标和模拟等比例尺纸图坐标;
从该模型可在缺乏坐标系参数的情况下扩展非精确坐标***构建。
CN201810475286.7A 2018-02-08 2018-05-17 地理pdf地图混合平面坐标***模型及其构建方法 Active CN108681595B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2018101285904 2018-02-08
CN201810128590 2018-02-08

Publications (2)

Publication Number Publication Date
CN108681595A CN108681595A (zh) 2018-10-19
CN108681595B true CN108681595B (zh) 2021-10-29

Family

ID=63806634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810475286.7A Active CN108681595B (zh) 2018-02-08 2018-05-17 地理pdf地图混合平面坐标***模型及其构建方法

Country Status (1)

Country Link
CN (1) CN108681595B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542996B (zh) * 2018-11-23 2022-09-13 云南省地图院 基于GeoPDF技术的新型移动地图应用服务***
CN110516015B (zh) * 2019-07-24 2023-03-17 中国人民解放军61540部队 基于地图图形数据和dlg制作地理pdf地图的方法
JP7421923B2 (ja) * 2019-12-23 2024-01-25 フォルシアクラリオン・エレクトロニクス株式会社 位置推定装置、及び位置推定方法
CN112837604B (zh) * 2020-09-21 2024-03-12 中国地质调查局发展研究中心 确定地图中的目标点的地理坐标的方法和装置
CN113157988B (zh) * 2021-01-20 2024-05-24 北京数科网维技术有限责任公司 由ofd格式文件表示地理信息的方法和装置
CN114018243A (zh) * 2021-11-05 2022-02-08 苍穹数码技术股份有限公司 地图数据处理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779231A (zh) * 2012-06-18 2012-11-14 郑州大学 基于邻近的坐标转换参数计算方法
CN104048659A (zh) * 2014-06-16 2014-09-17 广州杰赛科技股份有限公司 地图坐标系的转换方法和***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530250B2 (en) * 2013-12-10 2016-12-27 Dassault Systemes Augmented reality updating of 3D CAD models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779231A (zh) * 2012-06-18 2012-11-14 郑州大学 基于邻近的坐标转换参数计算方法
CN104048659A (zh) * 2014-06-16 2014-09-17 广州杰赛科技股份有限公司 地图坐标系的转换方法和***

Also Published As

Publication number Publication date
CN108681595A (zh) 2018-10-19

Similar Documents

Publication Publication Date Title
CN108681595B (zh) 地理pdf地图混合平面坐标***模型及其构建方法
CN112035433B (zh) 将bim模型转为支持大体量分级加载gis模型的方法
CN110516015B (zh) 基于地图图形数据和dlg制作地理pdf地图的方法
CN108711356B (zh) 矢量地理pdf地图制作中地理目标与符号图形配准方法
KR20090058036A (ko) 디지털 맵 상에 그래픽 객체를 표시하기 위한 방법 및 시스템
CN107992589B (zh) 一种svg地图数据的加载方法、装置及***
US8525832B2 (en) Mesh formation for multi-element volumes
Dimitrov et al. 3d city model as a first step towards digital twin of Sofia city
Arundel et al. Preparing The National Map for the 3D Elevation Program–products, process and research
Sampson et al. WRF Hydro GIS Pre-Processing Tools, Version 5.0, Documentation
Chenaux et al. A review of 3D GIS for use in creating virtual historic Dublin
CN113157988B (zh) 由ofd格式文件表示地理信息的方法和装置
Kocmoud et al. A constraint-based approach to constructing continuous cartograms
CN108491173B (zh) 基于地理pdf地图的跨图幅分页打印方法
Gold Spatial context: an introduction to fundamental computer algorithms for spatial analysis
Nys et al. An extension of CityJSON to support point clouds
US10460427B2 (en) Converting imagery and charts to polar projection
CN108710674B (zh) 减小矢量地理pdf地图数据量的处理方法
Coors et al. Integrating quality management into a 3D geospatial server
Apollonio et al. The palladiolibrary geo-models: An open 3D archive to manage and visualize information-communication resources about palladio
CN110717004A (zh) 一种基于OsgEarth的S57海图数据的加载方法
Waugh et al. GIMMS/An Example of an Operational System for Computer Cartography
Hakim et al. Development of a Geo to BIM converter: CityJSON importer plugin for Autodesk Revit
CN113160344A (zh) 一种基于前端地图可视化平台的专题图生成方法及装置
TWI235342B (en) Geographic information system demonstrating 3D virtual reality

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