MIF图件的坐标系转换程序设计
2013-12-06罗峰
罗 峰
(广州市城市规划勘测设计研究院,广东 广州 510060)
MIF文件是Mapinfo用来向外交换数据的一种中间交换文件。当用户在Mapinfo中将一张Mapinfo地图表以MIF格式转出MIF文件中后,Mapinfo会同时在用户指定的保存目录下生成2个文件(*.mif,*.mid)。其中*.mif文件保存了该Mapinfo表的表结构及表中所有空间对象的空间信息(如:每个点对象的符号样式、点位坐标;每个线对象的线样式、节点数据、节点坐标;区域对象的填充模式、每个区域包含的子区域个数及每个区域的节点数等)。而*.mid文件则按记录顺序保存了每个空间对象的所有属性信息。这2个文件都为文本性质的文件,用户可以通过相应的文件读写方法实现对文件内容的读写。
我国常用的国家大地坐标系有1954北京坐标系和1980西安坐标系,但由于我国幅员辽阔,各个地方根据不同的需要还建立有独立的地方坐标系。这些坐标系一般都基于某一特定的参考椭球,属于参心系。它们都是采用传统地面测量技术建立起来的,并满足了当时实际应用的需求。随着GPS技术的发展,用户可以通过后处理或者实时差分定位获取精确的WGS-84坐标。根据某电网公司的要求,需要对原有的管理信息系统中基于地方独立坐标系统的图件转换到WGS-84坐标系下,有利于全省大范围电力设备的无缝对接。
1 MIF文件及其对象定义
1.1 基本存储信息
由于商用原因,截止至现在为止,MapInfo公司一直没有向外界公布它原始的以矢量形式存储的文件格式,即TAB格式,这就加大了直接利用MapInfo原始数据的难度。但MapInfo公司提供了与外界交换数据的机制,即MIF(MapInfo Interchange Format)格式地图。
为了解决MIF文件转换问题,首先要了解MIF基本的编码规则。MIF文件有2个区域:文件头区域和数据节,文件头中保存了如何创建MapInfo表的信息,数据节中则是所有图形对象的定义。转换时根据地物形状的不同,在MapInfo中对应的图形对象分别为点(point)、直线(line)、折线(polyline)、圆弧(arc)和区域(region)等。图1为MIF文件示例。
图1 MIF文件示例
1.2 头文件
表1是一个MIF文件头的说明,方括号内是可选信息。
表1 MIF文件头说明
1.3 数据节信息
数据节中则是所有图形对象的定义,以下分类说明常用的需转换的图形对象专有编码中与坐标转换相关的内容。
1)点(POINT)。对图件中点对象的转换只需对坐标值进行转换。点对象的实体数据见表2。
表2 点(POINT)
2)直线(LINE)。对图件中直线对象的转换,需要对直线的起点和终点坐标(X,Y)进行相应的坐标转换,其余的实体数据不变,见表3。
表3 直线(LINE)
3)折线(polyline)。对图件中折线对象的转换,需要对折线中的折线点坐标(X,Y)进行相应的坐标转换,其余的实体数据不变,见表4。
表4 折线(Polyline)
4)区域(REGION)。见表5。
表5 区域(REGION)
5)文本(TXT)。见表6。
表6 文本(TXT)
2 图件转换的实现方法
2.1 涉及坐标系统简介
2.1.1 独立地方坐标系
某市域位于高斯-克吕格3°投影第38带的西侧。若地方性测绘成果沿用国家统一的1954北京坐标系,其投影长度变形值将大于2.5cm/km,不便于工程建设的放样与测设。因而该市平面控制网采用独立坐标系,使用了与1954北京坐标系相同的椭球参数,具有独立的中央子午线,投影后的平面坐标东西和南北方向都有偏移,这就是独立的地方平面坐标系统。
2.1.2 WGS-84坐标系
WGS-84坐标是一种国际上采用的地心坐标系。坐标原点为地球质心,其地心空间直角坐标系的Z轴指向BIH(国际时间)1984.0定义的协议地球极(CTP)方向,X轴指向BIH 1984.0的零子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系,称为1984年世界大地坐标系统。
2.2 技术线路
考虑到地方独立平面坐标系与WGS-84坐标系的中央子午线不同,以及椭球参数不同,因此,平面四参数转换是不严密的,因此,需要把地方独立平面坐标先通过换带转换到北京54坐标系下的平面坐标,然后采用在2个坐标系下均有坐标成果的点计算出北京54坐标系下的平面坐标到WGS-84坐标系下的平面坐标的转换参数,这样把得到的北京54坐标换算到WGS-84坐标系即可。其具体技术方案如图2所示。
图2 坐标系统转换的技术方案
图2中(Xg,Yg)表示地方独立平面坐标,(B54,L54)是经过高斯反算的得到的北京54大地坐标,需要利用北京54椭球参数、平移常数、投影面大地高等参数。(X54,Y54)为转换后的北京54坐标。经过四参数的转换后可以得到WGS-84坐标(X84,Y84)。
2.2.1 高斯投影坐标正反算
高斯投影是一种横轴等角切圆柱投影(见图3)。它把地球视为球体,假想一个平面卷成一个横圆柱面并把它套在球体外面,使横轴圆柱的轴心通过球的中心,球面上一根子午线与横轴圆柱面相切。这样,该子午线在圆柱面上的投影为一直线,赤道面与圆柱面的交线是一条与该子午线投影垂直的直线。将横圆柱面展开成平面,由这2条正交直线就构成高斯-克吕格平面直角坐标系。
图3 高斯投影
由高斯平面坐标(X,Y)与大地坐标(L,B)的转换关系可以分为2类,第1类称为高斯投影正算公式,即由L,B求X,Y;第2类为高斯反算公式,即由X,Y求L,B。
2.2.2 平面坐标系之间的转换模型
平面坐标系之间的转换一般先旋转再平移后缩放,转换模型如下:
简化后公式
其中:a=(1+m)Δx,b=(1+m)Δy,c=(1+m)cosα,d=(1+m)sinα。通过重合点(同时已知原始坐标和目的坐标)可以利用最小二乘法求出参数a,b,c,d。
3 图件转换程序设计
通过对MIF文件的研究,掌握了MIF文件中坐标存放规律。编写针对MIF文件的坐标转换软件,使用C#编程语言编写了图件转换程序,程序流程如图4所示。
图4 图件转换流程
4 图件转换示例
以广东某电网公司中心城区的路网图形为示例(图5为其MIF源文件),依据图件转换流程所编制的坐标转换软件,转换示例(见图6)可以看出,转换后地形图中路网和电力拓扑关系不发生变化,有利于电力地形图转换目标的实现。确保了高效易用,由于地形图覆盖范围广,涉及的内容多,MIF图件转换中需要确保“技术先进、高效可靠”的原则。
图5 广东某电网公司中心城区的路网MIF文件
图6 图形转换示例
5 结束语
应用MIF文件实现图件转换是国家基准现代化进程中必须解决的技术问题。目前在ArcGIS和mapinfo基础上应用C#二次开发中均有研究,但在ArcGIS中无法实现图块的整体转换。本文通过对mif文件中图形信息存储规则的研究,实现了图形实体的整体坐标转换,确保了图形转换后的拓扑关系不发生变化。
[1]姚宜斌,孔建.基于DXF文件的图件转换方法研究及程序实 现[J].大 地 测 量 与 地 球 动 力 学,2011,31(1):117-122.
[2]罗峰,杨光,李长辉,等.广州平面坐标到1980西安坐标的转换方法研究与实现[J].全球定位系统,2010(4):35-38.
[3]党亚民,陈俊勇.全球大地测量地心坐标参考框架最新进展[J].测绘科学,2004,29(1):61-63.
[4]陈俊勇.对我国建立现代大地坐标系统和高程系统的建议[J].测绘通报,2002(8):1-5.
[5]张菊清,杨元喜,曾安敏.多种地图坐标系统的转换方法及比较[J].测绘通报,2008(8):32-35.
[6]谢鸣宇,姚宜斌.三维空间与二维空间七参数转换参数求解新方法[J].大地测量与地球动力学,2008,28(2):104-109.
[7]魏子卿.2000中国大地坐标系及其与WGS84的比较[J].大地测量与地球动力学,2008,28(5):1-5.
[8]曾安敏.基于拟合推估的1980西安坐标系到2000国家坐标系的变换[J].大地测量与地球动力学,2008,28(5):125-128.
[9]童话,李建华,徐凯.AutoCAD表格图形文件中的数据读取[J].机械设计与制造,2005(7):67-68.
[10]陈俊勇.我国建立现代大地基准的思考[J].世界科技研究与发展,2003,25(3):1-4.