DXF格式数字地形图坐标转换软件的研究

(整期优先)网络出版时间:2018-12-22
/ 2

DXF格式数字地形图坐标转换软件的研究

陈敏兰

佛山市测绘地理信息研究院广东佛山528000

摘要:随着信息技术的不断发展,数字地形图已越来越多地应用到各项项目施工建设工作中。本文对在CAD下如何实现数字地形图坐标系的转换进行了探讨。

关键词:CAD;数字地形图;高斯投影

引言

数字地形图除具备纸质地形图的基本功能外,还具有快速存取显示、传输方便、几何要素自动测量等优点,但在统计各个地区的测量成果时,由于采用的坐标系不同,它们转换的数字地形图的标准也不同。因此,应对数字地形图进行深一步的探讨,研究出提高其精度的转换方法,具有重要的现实意义。

1.DXF文件格式说明

1.1DXF文件的组成

DXF格式文件是特定版本AutoCAD标记数据的一种表示方法。每个数据元素之前的整数,叫作组码,这种标记方法被称为标记数据。数据元素的类型以及数据元素对给定对象类型的意义,都可以通过组码来体现。现实中,DXF格式图形文件中可以表示所有用户指定的信息。DXF文件的最小组成单位是组,每个组在DXF格式文件中分组码行和组值行,分别表示数据变量的类型和数据变量的值,这两者就是图形信息存储和表达的基础。许多组的集合成为一个节,许多个组节的集合就构成了一个完整的DXF文件。

DXF文件结构被分割成7个部分,而起始段和结束段将每一部分包裹起来。起始段分为2个组,第1组是字符串SECTION,组码为0,第2组是段名称字符串,组码为2;结束段字符串为ENDSEC,组码也为0。每个数据记录的开始都可以用0码来表示。

(1)HEADER部分。主要是用来设置专用图形的,它储存在数据库中。

(2)CLASSES部分。给出图形数据库中有关应用程序所定义的对象附加信息。

(3)TABLES部分。包含符号记录。

(4)BLOCKS部分。每个块定义都包含在图元里,其中图形构成了每一个块。一直存在3个空间定义,分别为*Model_Space、*Paper_Space、*Paper_Space0。

(5)ENTITIES部分。存储所有实体对象的图形信息;所有块实体定义都在此部分被记录在图形中;在ENTITIES段中,所有的块图形都可重复使用;每一个块都是被起始段和结束段包裹起来。

(6)OBJECTS部分。包含所有非图形对象的组码。除了图元对象,符号表及其记录对象之外,此段存储了其余所有的对象。

1.2数字地形图中实体要素的坐标提取

由于DXF文件中存储的每一个图形元素都是以成对的组码和组值来表示的,而此信息主要存储在ENTITLES节中,虽然也有部分信息存储BLOCKS节中,但可以将BLOCKS节中的图元分成许多小块的实体元素,再将其转换到ENTITLES节中。ENTITLES节中的实体图元种类较多,主要包含POINT(点)、LINE(直线)、CIRCLE(圆)、ARC(圆弧)、POLYLINE(多线段)、TEXT(文本)等。在AutoCAD地形图中,DXF文件中的各种实体图元表现了数字地形图中的实体要素。因此,要实现CAD中数字地形图坐标转换,就是要实现对图中的所有实体图元的坐标转换。图件转换实现过程中,点对象只需要对其坐标值进行转换即可;直线对象需要转换其起点和终点坐标值,其余数据不变;圆弧和圆对象需要对其圆心坐标进行坐标转换,半径进行尺度变换,起始角度和终止角度进行角度旋转;文本对象需要转换其插入点坐标,如果文本旋转角不是零度,需要进行角度旋转;多线段对象转换方法同直线对象[1]。

2.坐标转换原理与程序的实现

2.1布尔沙坐标转换模型原理

最严密而准确的坐标转换方法是布尔沙坐标转换模型。其原理是提取两坐标系中3对或以上的公共点坐标,由最小二乘法VTPV=min的原则,求解转换参数,即3个平移参数(ΔΧ、ΔY、ΔΖ)、3个旋转参数(ωX、ωY、ωZ)和1个尺度缩放因子(m)。转换参数的精度与公共点的数量,和分布有关。其主要原理公式如下:

令a1=m+1,a2=a1ωX,a3=a1ωY,a4=a1ωZ

则有:

误差方程为:

将(2)带入(3)得:

将式(4)写成:V=AX+L(5)

式中,

V=(VX2,VY2,VZ2)T,

X=(ΔX,ΔY,ΔZ,a1,a2,a3,a4)T,

L=(X2,Y2,Z2)T已知值,

A为系数矩阵,

根据最小二乘法VTPV=min,即X的偏导数为零:

即X=-(ATPA)-1ATPL(8)

进一步得出:

布尔沙模型可以较准确地实现两个不同坐标系的转换。

高斯正算是指已知大地坐标来求得高斯投影坐标的过程。高斯反算是指已知高斯投影坐标来求得大地坐标的过程。在进行坐标转换运算时把不同的椭球参数带入高斯正反算公式即得到不同椭球的高斯正反算公式[2]。

2.2坐标转换程序的实现

在读取了数字地形图DXF文件中实体要素的坐标后,将其坐标进行坐标转换。实体要素坐标数据主要以组码为标识,要素数据是组值,而在其组值中存在最大值和最小值,最大值可以很大,所以要考虑实体要素坐标组值的取值范围,设置转换的限定值。对于图块的坐标转换,要检查基点坐标是否位于要求的范围之内。在使用独立坐标系的数字地形图时,图块基点坐标容易出现严重偏离,因此需要将基点坐标转换到数字地形图的某个实体要素的坐标上,使基点坐标位于要求的坐标范围之内,然后将图块的插入坐标也进行一样的变化。完成一系列的改化之后,就可以进行图块的坐标转换。

根据布尔沙模型以及最小二乘原理编写求解两坐标系转换七参数的程序代码,根据两坐标系的椭球参数编写了高斯正反算程序设计代码。需要在地形图中提取3对以上公共点坐标,求出坐标转换需要的参数,利用求得的转换参数对提取的实体要素坐标进行坐标转换,最后保存转换坐标的成果。

数字地形图的坐标转换流程如图1所示。

图1坐标转换流程图

2.3主要模块界面

此次实验中,要完成数字地形图的坐标转换,设计了布尔沙模型坐标转换的程序界面,输入3对以上的已知坐标,便可以求出两坐标系之间的转换参数,从而完成其他图形元素的转换,其中还实现了高斯投影正反算,角度换算和临带换算的功能等,其中,它们的转换界面如图2至图4所示[3]。

图2高斯正算单点转换界面

3.实例验证

本实验是利用布尔沙坐标转换原理以及最小二乘原理对在数字地形图中提取出的图形元素进行坐标转换的,所以要用实际数据对完成的程序进行可用性验证,以确保程序的实用性。实验中以某一地区数字地形图为例,将数字地形图进行了北京54和西安80坐标系之间的相互转换,转换后的地形图没有出现变形,且转换后的坐标值在限差范围内,由于数据的保密性,只列出部分未知点坐标转换结果,转换成果及误差数据见表1。

表1坐标转换结果

由表格数据可知,坐标转换后的坐标值与原坐标值之差均在毫米范围内,可以满足精度要求。

4.结束语

综上所述,本文研究的布尔沙坐标系统的模型和参数求解的方法和分析的数字地形图DXF文件的读取方法,实现了基于CAD下数字地形图的坐标转换、精度达标、实用而且操作简单,可以完成对数字地形图的坐标转换。

参考文献:

[1]基于Autocad地形图坐标转换系统研究[J].王义.铁道勘察.2015(02)

[2]三维数字地形图的测绘技术研究[J].李永刚.新疆有色金属.2017(04)

[3]三坐标测量方法的研究[J].李志芬,逯永,王尧,胡建英.科技创新导报.2015(26)