APP下载

基于FME的分幅地形图斜轴投影转换研究

2022-06-05郭际明邸国辉

测绘地理信息 2022年3期
关键词:坐标系投影要素

李 扬 郭际明 蔡 婧 邸国辉 章 迪

1武汉大学测绘学院,湖北 武汉,430079

2湖北省水利水电规划勘测设计院,湖北武汉,430064

随着测绘产业信息化建设的兴起与发展,各种工程建设愈来愈多。但由于历史原因、使用目的和技术水平的差异,各个地区甚至同一地区不同行业、不同部门间仍采用不同坐标系统[1],导致在工程建设中要不断将现有数据资料在不同坐标系统间进行转换,严重影响了数据的交换与共享,造成了数据冗余和社会资源浪费,因此完成全系统内各类国土资源空间数据坐标系统的统一成为了亟待完成的一项工作。

在分幅地形图坐标转换理论与方法方面已有许多研究成果。张元敏[2]以CAD数据为例,提出了基于Feature Manipulate Engine(FME)的坐标转换和批量分幅方法,给出了模板编写的具体思路及实现过程;彭春晖等[3]针对图幅接边问题,提出了一种基于图幅边界缓冲区分析,兼顾要素属性匹配约束,实现多图幅数据自动接边的方法;刘雄等[4]基于Arcpy编写了几何和属性接边的Python脚本工具,实现了线状数据的自动接边,并能提示属性不一致。

在分幅地形图坐标转换处理中,分幅数据量大的情况下,若将大范围分幅数据进行整体接边,合并成大块数据后进行整体处理,会降低效率且易出现接边错误。因此,本文提出了一种根据能反映新旧图幅关系的接图表依次导入数据进行批次处理的方法,避免了对大块数据成果的直接合并处理;同时,针对多图幅接边处理时遇到的“一对多”情况,提出了一种利用GUID值去重的解决方法,实现了多图幅数据间的自动接边。本文利用FME,给出了一整套分幅地形图坐标转换方法,具备西安80坐标系至斜轴投影独立坐标系的分幅地形图逐幅转换功能,并用控制点数据成果进行了检验。

1 分幅地形图坐标转换方法

1.1 叠加分析

叠加分析是将源坐标系和目标坐标系的图廓进行面面重叠分析,获取目标坐标系下每个图廓所对应的源坐标系图廓的名称、路径、个数等。

在叠加分析中,利用Filename PartExtractor转换器提取源坐标系下图廓的图幅号、文件路径及目标坐标系下图廓的图幅号,利用Area OnArea Over⁃layer转换器对源坐标系和目标坐标系下的地形图图廓进行面面压盖分析,获取目标坐标系图廓对应的源坐标系图廓的图幅号等信息,以便进行接边融合等后续处理。

如图1所示,以工程中的10幅图为例,生成了20幅新图廓,橙色为目标坐标系下的源坐标系图廓,黑色为目标坐标系图廓。例如,目标坐标系图幅B与源坐标系图幅A11、A12、A21、A22有关联,文件路径分别为叠加分析:/内图廓要素/A11.dwg、叠加分析:/内图廓要素/A12.dwg、叠加分析:/内图廓要素/A21.dwg和叠加分析:/内图廓要素/A22.dwg。

图1 叠加分析关系图Fig.1 Relationship Diagram of Overlay Analysis

1.2 接边融合

接边融合的目的是将相邻图幅中的线、面要素因图幅关系而被分割的部分重新连接在一起,保证要素几何的完整性和属性的一致性[5]。利用叠加分析结果依次将目标坐标系接图表中图廓对应的源坐标系图幅数据进行接边融合。

实际处理时,为了降低处理难度和便于检查要素,将线、面要素分开处理[6]。利用CoordinateEx⁃tractor转换器提取两个或多个接边要素与图廓公共边相交的节点坐标[7],如果坐标相同且属于相同类型的地物、地貌要素[8],则利用UUIDGenerator转换器对其成对或者成组赋GUID值。GUID值是计算机随机分配的通用唯一标识符,其长度为36字节,由数字、字母和“⁃”组合而成。利用LineCombiner转换器对线要素接边融合,拥有相同GUID值的要素会从多个要素个体连接变成一个要素整体。

在处理过程中,由于相邻图廓公共边两侧的要素不是一一对应,可能会出现一侧的一个要素对应另一侧的多个要素,特殊接边情况如图2所示。针对这种一对多的接边状况,本文提出了利用GUID值去重的方法,其实现过程以线要素为例进行描述为:右侧的线要素LA对应左侧的线要素LB和LC。对线要素LB赋GUID1值,对线要素LC赋GUID2值,根据节点坐标的一致性,线要素LA会拥有两个GUID值,不符合处理要求。因此对线要素LA进行“复制⁃粘贴”操作,得到和线要素LB相同GUID1值的线要素LA1,和线要素LC相同GUID2值的线要素LA2,LA1与LB相连得到线LA1⁃B,LA2与LC相连得到线LA2⁃C,再将线LA1⁃B与线LA2⁃C进行几何和属性的统一,得到一条完整的直线LA⁃B⁃C。

图2 特殊接边状况Fig.2 Special Cases of Edge Matching

1.3 地形图斜轴投影坐标转换

接边融合后要对源坐标系数据进行坐标转换。根据不同的坐标转换条件,FME提供了相应的转换方法。一类以Affiner转换器为代表,在坐标系参数未知的情况下,通过控制点计算转换参数,实现坐标转换[9]。另一类以Reprojector转换器为代表,在坐标系参数已知的情况下,在FME中自定义其椭球参数、基准面参数、投影参数,实现要素的坐标转换[10]。

FME中地形图坐标转换的方法有以下两大类:①在FME中设置相似变换或仿射变换模型进行转换;②利用Python语言编写斜轴转换[11]代码,并将其加入FME,利用FME完成投影。方法①是利用转换参数和Affiner转换器实现坐标转换;方法②是利用PythonCaller转换器框架结合Python开发语言,在转换器中插入程序代码进行斜轴转换,利用FME完成投影。本文利用方法②实现了1980西安坐标系至斜轴投影独立坐标系的转换。

1.4 批量处理

批量处理是根据叠加分析的结果,自动读取源坐标系分幅数据并进行接边融合、坐标转换和分幅裁剪,自动写出目标坐标系分幅数据,自动化地完成一整套地形图的坐标转换。

批量处理主要利用了Feature Reader转换器、Feature Writer转换器以及自定义转换器。Fea⁃tureReader转换器和FeatureWriter转换器分别用来读取文件夹中的分幅数据和写出分幅数据到文件夹中[12]。利用自定义转换器中的循环功能,配合Fea⁃tureReader、Feature Writer等转换器,可以自动化地实现分幅数据的读取、处理和写出。

2 坐标转换结果检验

本文以某工程项目为例进行实验,项目提供航空摄影技术成图得到的1∶2 000的50×50地形图数据,测区采用1980西安坐标系。原始地形图数据共涉及分幅数据209幅,主要图层类型有等高线、道路设施、地貌特征、高程点、管道及附属设施、居民点、控制点、水下设施、植被特征、注记等。

由于该工程为西北⁃东南走向,距离长,海拔高,范围大,普通的高斯投影长度变形十分严重,因此施工时以工程线路的中轴线为斜轴投影的伪中央子午线建立工程独立坐标系。在此基础上,利用已完成的FME模板将已有的1980西安坐标系的高斯投影地形图转换为施工坐标对应的斜轴投影地形图,并且转换后的图幅仍以1∶2 000比例尺进行保存。

坐标转换结果检验主要分为接边检验和精度检验。接边检验是将具有相同几何类型和属性信息的要素连接在一起,如果相邻图幅中找不到接边线要素或面要素,或者能找到相邻要素但某项属性中内容不匹配[13],需要将其特殊标记,输出成dwg报错文件进行人工判断。在对测区内的209幅分幅数据进行接边时,并未发现接边结果错误的情况,接边结果正确。

为检验FME坐标转换结果的精度,根据项目提供的控制点,通过前文提到的两种方法进行坐标转换,将转换结果与已有独立坐标系下的坐标进行作差得到转换误差,平面坐标x、y的差值如图3所示。

图3 两种方法的转换误差Fig.3 Transformation Error of Two Methods

方法①平面坐标x的残差中误差为1.31 dm,平面坐标y的残差中误差为1.45 dm,点位中误差为1.95 dm。方法②平面坐标x残差中误差为0.78 mm,平面坐标y残差中误差为0.75 mm,点位中误差为1.08 mm。

3 结束语

本文研究了基于FME对分幅地形图数据进行坐标转换的技术方法,建立了相应的图幅转换模板,完成了地形图的接边、融合、分幅、裁剪等一整套坐标转换处理。本文建立了1种基于FME的1980西安坐标系到斜轴投影独立坐标系的转换方法,并通过控制点数据验证了其正确性,点位转换精度达到1.08 mm。作业人员可以在运行过程中根据日志了解转换过程中出现的问题,方便及时修改模板。

猜你喜欢

坐标系投影要素
論詞樂“均拍”對詞體格律之投影
投影向量问题
极坐标系中的奇妙曲线
找投影
三角函数的坐标系模型
求坐标系内三角形的面积
《投影与视图》单元测试题
例谈坐标系与参数方程常考题型
2015年8月债券发行要素一览表
2015年6月债券发行要素一览表