基于统一坐标系的多源数据入库方法设计

2023-01-31 06:17
高速铁路技术 2022年6期
关键词:椭球图层入库

汤 曦 王 义

(中铁二院工程集团有限责任公司, 成都 610031)

目前我国铁路有基于北京1954坐标系、西安1980坐标系、CGCS2000坐标系等多种规格的测绘成果资料,然而,此类成果资料在应用时需进行大量的空间坐标及数据格式的转换,造成了数据管理和应用的困难[1-2]及资源浪费。

针对这一问题,本文提出对多源多态数据4D产品即数字正射影像(DOM)、数字高程模型(DEM)、栅格地图(DRG)、数字线划图(DLG)、卫星遥感影像及其RPC参数定向文件、航空摄影影像及其相关定向文件(像主点、POS数据等)、空三加密成果等进行基于统一空间坐标系的数据管理。采取了主流的ArcGIS平台为依托,基于ArcGIS平台二次开发接口实现数据检查、坐标系转换、格式转换以及入库等功能。同时为保证坐标转换的精度和效率,本文采用通过数学逼近模型和控制点进行数值变换,并做了相应的精度验证试验[3-4]。

1 处理流程设计

1.1 多源数据格式转换

多源数据包括多尺度的DLG(包括dwg、dxf、Shapefile和geodatabase中矢量数据集),DEM(NSDTF国标格式、tif格式和 grid格式)、DOM(包含 tiff和geotiff格式)等。在将数据按照数据类型进行格式转换的过程中,为保持数据的兼容性,入库数据中影像统一转换为geotiff格式,矢量统一转换为Shapefile格式,转换中保持数据不压缩,保证原有的数据信息不损失[5]。

1.2 坐标系转换原理

1.2.1 参数转换模型

七参数模型即7个未知数构成的具备平移、旋转、缩放功能为一体的函数,由3个平移因子(ΔX,ΔY,ΔZ)、3个旋转角度因子(Δα,Δβ,Δγ)和 1个缩放参数K组成。在旋转角度不大的情况下求解模型时,把旋转矩阵采取线性化的操作即可。然而,角度较大的情况下,坐标转换会造成精度损失[6]。空间坐标转换的拟合函数是一个矩阵函数,但可将其转化成超定非线性方程组,继而应用非线性最小二乘算法求解。本文采用一种基于非线性最小二乘的坐标换算方法得到七参数[7],该方法更容易收敛、不随初始值变化、操作简单便捷、容易实现。

以选取3个已知点坐标,组成9个方程为例进行求解,具体步骤如下:

(1)拟合矩阵函数

空间三维坐标转换模型为:

式中:x1,x2,x3——平移矩阵的 3 个分量;

x4——尺度参数;

x——某点转换前的三维坐标;

y——该点转换后的三维坐标。

(2)最小二乘原理确定七参数

等价于求式(3)的极小值问题。

(3)求解多元函数的极小值

将给定值作为已知条件进行迭代,在迭代计算的整个过程中符合选定条件时停止,得到七参数值。

1.2.2 相同椭球投影转换模型

本文投影转换采用常用的高斯正反算模型,其数学模型如下:

(1)高斯投影正算公式

式中:X——子午线弧长。

(2)高斯投影反算公式

式中:ηf、tf——分别为按Bf值计算的相应量;

Bf——表底点纬度;

a——椭球体长半轴;

b——椭球体短半轴;

f——椭球体扁率;

e——椭球体第一偏心率;

e′——椭球体第二偏心率;

B——椭球体纬度;

M——子午圈的曲率半径;

N——卯酉圈的曲率半径[8]。

1.2.3 转换流程

本文的数据可以分成矢量和栅格两大类。对于不同椭球基准间的坐标转换,首先要利用公共控制点计算转换参数,再利用转换参数进行坐标系转换;对于同一椭球不同投影间的坐标系,则直接利用投影正反算公式进行投影转换。数据处理流程如图1所示。

图1 多源数据坐标转换流程图

由图1可知,图中控制点和数字线划图作为矢量数据先进行坐标基准检查,若坐标基准相同,则直接进行坐标投影转换;若坐标基准不同,则首先进行坐标基准转化,随后进行坐标投影转换,更新图形要素,并输出转换结果,该流程结束。矢量要素逐点进行坐标转换效率不高,因而采用逐要素坐标转换的方法,对图层中的每个要素逐次逐级转换,转换流程如图2所示。

图2 矢量数据坐标转换流程图

由图2可知,流程转换分为数据输入、数据处理、数据输出3层。数据输入包括输入已知n组重合点坐标和输入已知转换参数。重合点坐标作为输入点计算转换参数,通过转换参数提取图形要素的原始坐标,计算得到各要素的目标坐标。最后,更新图形要素得到输出的转换结果。矢量数据坐标转换利用ArcGIS Engine中已有的ITransform2D方法实现。

数字高程模型图、航空数字影像、卫星遥感影像、数字正射影像图作为栅格数据进行转换。栅格数据的坐标换算可采用几何校正的方法,但需注意的是,该方法实施环节存在过多的人工干预,自动化程度不高。栅格数据坐标转换可采用IRasterGeometryProc方法下的Wrap方法,首先将栅格影像的4个角点坐标作为坐标换算的已知点,其次根据转换参数求出要转换的新坐标系下的坐标,基于此图像单元进行重采样,达到空间转换的目的,得到转换后的栅格数据。栅格数据转换流程如图3所示。

图3 栅格数据坐标转换流程图

1.3 拓扑关系检查

拓扑关系是描述空间要素的几何关系,包括点、线、面的邻接、包含、相离等关系。在数据入库之前,需对数据进行拓扑关系检查,本文所设计的系统根据生产需要对拓扑规则进行了拓展并设置了相应的规则,比如面状要素遵循不能自相交、面边线的节点上必须有点、不能有碎面等规则,线状要素遵循节点上必须有点、不能有碎线、线不能跨越两个以上面等规则,点状要素遵循点不能重叠、两个点层不能互相重叠、点必须在线的节点上等规则。

上述拓扑关系检查通过利用ArcGIS Engine中提供的ISpatialFilter、IGeometry、IHitTest和ITopologicalOperator等接口实现。检查完毕后自动修改或者提示人工修改,可以按索引自动跳到错误所在位置,修改完成后进入下一环节。

1.4 数据入库

数据入库前要按不同的数据类型设置相对应的入库模板。栅格数据入库模板设置相对简单,矢量数据尤其是线划图数据要复杂得多。矢量数据入库图层代码统一采用国标图层代码,将铁路数字线划图图层代码转换到国标规定图层代码,通过建立线划图数据入库模板,建立一一对应关系,利用“铁路地理空间信息数据入库系统”进行转换。线划图图层对应关系(即铁路图层码和标准GB码的对应关系)如表1所示。除此之外,还要将数据的空间信息和时间信息作为数据库的关键索引值,数据入库时可以将这些信息自动添加,再人工检查,这样多源多时相的数据就可以录入到统一数据库中,可按不同的坐标和时间浏览和查询,方便进行管理。

表1 铁路与GB码应关系表

2 系统开发

本项目开发了名为“铁路地理空间信息数据入库系统”入库软件。

2.1 软件概要

本软件由ArcEngine和C#二次开发,主要功能包括新建工程、数据导入、属性检查、拓扑检查、坐标转换和图层管理等。

2.2 程序结构

平台中主程序与主窗体的代码为程序中的GeoDataStorageSystems.sln,其余模块以组件形式引入。其中,Catalog模块封装了数据选择窗体;CommonLib模块封装了操作矢量要素、影像、数据库的通用方法;Coordinate Transformations模块封装了坐标转换功能;DataManage模块封装了数据导入导出功能;Project Manage模块封装了与工程有关的操作。

3 应用实例与误差分析

基于ArcGIS Engine二次开发组件,采用C#实现了多源数据统一管理的坐标转换程序。“铁路地理空间信息数据入库系统”包括工程管理、数据管理和辅助工具三大功能模块,本文针对辅助工具中的坐标转换模块进行重点说明。该模块可以对矢量数据、栅格数据以及dwg数据等进行统一坐标转换。针对dwg数据,本程序首先调用ArcGIS接口将其转换成shp格式文件,然后以矢量数据的方式进行坐标转换;在矢量数据转换中,为提高转换效率,以要素为单位遍历图层,通过ArcGIS接口为每个要素单独赋予新的坐标系;对于栅格数据,只提取其四至点的坐标,并对其进行坐标转换,然后以新坐标为标准,对栅格数据进行重采样,以完成栅格图层的定位。

坐标转换模块主要包括生成转换方案和坐标转换两部分。生成转换方案中需设置源坐标系、目标坐标系和转换参数。其中,转换参数包括七参数和可能需要的投影参数,完成配置后,生成转换方案文件,作为下一步坐标转换的输入文件。在计算七参数界面,输入已知n组重合的源坐标和目标坐标的值作为已知控制点数据,数据在编辑过程可以进行增删改的操作,确认无误后计算生成转换参数。

(1)实验一:利用同一区域矢量和栅格的历史数据,矢量数据较新采用了CGCS2000大地坐标系,而栅格数据采用了WGS84经纬度坐标系,转换前两组坐标差异较大,变换到同一坐标系后的结果显示了较好的一致性。

(2)实验二:为验证坐标转换结果的精度,选取有实际坐标的20个控制点计算7参数,选取58个检查点将转换后的坐标与实际数据进行对比,结果如表2所示。

表2 坐标转换结果与实际数据的较差表(m)

由计算结果可得,测试数据转换中X方向转换误差为0.039 m,Y方向转换误差为0.051 m,高程误差为0.220 m。在实际生产中,国内项目的高程大都采用国家85高程为基准,高程需要转换较少;而平面坐标历史或者是跨带等原因需要转换的情况比较多。经试验,在小区域采用七参数转换法。可满足规范精度要求,效率比较高,能转换各种类型的数据。相同椭球距离较远的情况下,利用高斯投影正反算公式实现坐标转换,转换原理更严密,转换精度可靠。

4 结束语

在生产过程中积累了大量的历史空间数据时,如何保存和管理显得越来越重要,以数据库的形式管理空间数据是目前应用的理想方式。为方便数据查询,有必要将这些数据纳入到同一坐标系下,因此,在入库之前需利用转换参数将这些杂乱的空间数据转换到CGCS2000坐标系下。

为实现多源地理空间数据的统一管理,本文基于七参数坐标转换模型的非线性最小二乘解及高斯正反算公式,设计实现了矢量及栅格数据统一坐标转换方法。该方法利用同一套坐标转换参数即可同时转换矢量数据与栅格数据,提高了多源数据的入库效率,并保证了数据的准确性和可靠性。把历年保存的矢量与栅格数据基于相同坐标系入库,方便数据的叠加、查询等操作,同时为后续的综合分析提供了数据保障。得到的主要研究结论为:

(1)设计了与数据性质相对应坐标转换方案并进行了验证,结果表明该方案满足精度要求。

(2)基于ArcGIS Engine二次开发平台,采用C#语言开发了数据入库前坐标转换、格式转换、查错等模块。

(3)对同一区域的矢量栅格数据入库,保证了数据库坐标系和格式的统一性。

猜你喜欢
椭球图层入库
独立坐标系椭球变换与坐标换算
重磅!广东省“三旧”改造标图入库标准正式发布!
椭球槽宏程序编制及其Vericut仿真
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
解密照片合成利器图层混合模式
椭球精加工轨迹及程序设计
基于外定界椭球集员估计的纯方位目标跟踪
身临其境探究竟 主动思考完任务——《仓储与配送实务》入库作业之“入库订单处理”教学案例
跟我学添加真实的光照效果