APP下载

测绘行业5480坐标在CASS中的开发研讨

2012-09-06谭晋佶

城市建设理论研究 2012年22期
关键词:坐标系程序设计测绘

谭晋佶

摘要: 本文讨论了测绘行业5480坐标系转换的必要性与重要性;详细叙述了5480坐标系的内含与基本内容;介绍了CASS成图系统的优越性与基本原理;阐述了CASS开发语言VBA的相关原理;文章给出了5480坐标在CASS中开发的基本思路,并重点论证了程序的实现过程;最后,笔者总结了5480坐标在CASS中开发存在问题,并给出了解决的措施。

关键词:5480坐标,测绘,CASS,二次开发

中图分类号:P201文献标识码:A 文章编号:

早在80年代前后,国家为了更好地适应经济建设、国防建设的需要进行了国家参考坐标系的更新,测量坐标体系由以前的1954年北京坐标系改为1980年西安坐标系。随着西安80坐标系的建立,中国测绘工作者利用建国后20多年的天文大地网观测资料成功地在西安80坐标系中完成了全国天文大地网整体平差,并在随后的十多年里逐步完成了旧北京54大地坐标点的整体转换。由于保密上的原因,两个坐标系的位置参数及各省内两坐标系之间的转换参数并没有发布。随着GIS技术在各部门的推广与普及,新旧坐标系的矛盾似乎越来越突出。各种各样的信息源在GIS中汇集,而分散在各部门、各单位的这些信息的空间坐标系一般不会像测绘部门那样及时得到更新。甚至在一些大的科研课题研究中,由于各协作单位采用了不同的地理参照系,以至于最终成果无法整合[1]。

鉴于CASS的使用率较高,作者通过对前人研究的各种坐标转换方法的仔细分析和实践,对国家1954坐标与1980坐标在CASS中的转换方法作了进一步的探索,并利用CASS的二次开发语言VBA实现了54与80坐标系的相互转换,希望能对同行带来一定的借鉴意义。

1 CASS与5480坐标系

1.1 CASS成图软件与VBA

Cass 是一个非常好的专业测量工具,主要是由南方测绘仪器公司在 AutoCAD 2000 上开发的新一代数字化地形地籍成图软件。其主要特色是面向GIS,彻底打通了数字化成图系统与GIS 的接口。对于这一特色的主要支撑技术包括在属性编码基础上进一步研究开发的骨架线实时编辑、简码用户化、GIS 用户码用户化等[2]。

CASS是基于CAD开发的,因此CASS 的开发归根结底就是CAD 的二次开发。CAD公司在AUTOCAD(R14) 版本以后增加了开发工具VBA(Visual Basic For Application),和其它的二次开发工具相比更具魅力:一是与VB有着几乎相同的开发环境和语法,功能强大且易于掌握;第二在于它的For Application 功能,它的针对性非常强。与VB相比,它驻留在主程序的内部,结构精简,代码运行效率非常高,采用VBA 实现结构设计是最佳选择。

VBA是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用CASS套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用CASS 套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。

1.2 5480坐标

北京54坐标系是采用前苏联的克拉索夫斯基椭球参数(长轴6 378 245 m,短轴6 356 863m,扁率1/298.3),并与前苏联1942年坐标系进行联测,通过计算建立了我国大地坐标系,定名为1954年北京坐标系。其坐标的原点不在北京,而是在前苏联的普尔科沃。

西安80坐标系是1980年国家大地坐标系,利用多点定位,采用地球椭球基本参数为1975年国际大地测量与地球物理联合会第十六届大会推荐的数据(长轴6 378 140 m,短轴6 356 755 m,扁率l/298.257 221 01)。该坐标系的大地原点设在我国中部的陕西省泾阳县永乐镇,位于西安市西北方向约60 km,故称1980年西安坐标系[3]。

2 基本思路

5480坐标在CASS中开发的基本流程图如图1所示:

图1 5480坐标在CASS中开发基本流程图

3 程序实现

3.1 三参数模型

两个椭球间的坐标转换,一般而言比较严密的是用七参数布尔莎模型,即 X 平移, Y 平移, Z 平移, X 旋转(WX), Y 旋转(WY), Z 旋转(WZ),尺度变化(DM )。要求得七参数就需要在一个地区需要 3 个以上的已知点。如果区域范围不大,最远点间的距离不大于 30Km( 经验值 ) ,这可以用三参数,即 X 平移, Y 平移, Z 平移,而将 X 旋转, Y 旋转, Z 旋转,尺度变化面DM视为 0 。三参数的公式如下:

在CASS中引用实体的定义,三参数转换实现的部份代码如下:

For i = 0 To UBound(aryData)

If aryData(i).id = " 10" Then

' Or aryData(i).id = " 10" Or aryCon(i) = " 38"

If aryData(i + 1).id > 99999 Then

y2 = aryData(i + 1).id

x2 = aryData(i + 3).id

aryData(i + 3).id = dx + x2

aryData(i + 1).id = dy + y2

End If

ElseIf aryData(i).id = "10" Then

If aryData(i + 1).id > 99999 Then

y2 = aryData(i + 1).id

x2 = aryData(i + 3).id

aryData(i + 3).id = dx + (1 + m) * (x2 + qh * y2 - qy * h2)

aryData(i + 1).id = dy + (1 + m) * (-qh * x2 + y2 + qx * h2)

End If

next

3.2 四参数模型

当考虑在图幅内其格网坐标改正数在X方向和Y方向为等量且均匀线性变形时,可采用四参数相似变换方法。四参数坐标转换的原理和计算步骤如下:

(1)根据所在的图幅经纬度及中央子午线经度,计算出北京54坐标系下的高斯投影坐标;

(2)根据1图幅图廓格网坐标改正数及相应的北京54坐标,按四参数相似变换模型列立误差方程,按最小二乘法求解四参数。四参数相似变换模型如下:

式中:△x和△Y为平移参数;K为比例因子;δ为旋转因子。四参数转换实现的部份代码如下:

qx = qx1 / 3600 * 3.14159 / 180: qy = qy1 / 3600 * 3.14159 / 180: qh = qh1 / 3600 * 3.14159 / 180

BatchConvert = False

f = FreeFile

Open strSourFile For Input As #f

strTmp = StrConv(InputB(LOF(f), #f), vbUnicode)

Close #f

aryCon = Split(strTmp, vbCrLf)

j = 0

t = 0

z = 0

For i = 0 To UBound(aryCon)

t = i: z = j

t = t - 2: z = z - 2

If IsNumeric(aryCon(i))==0 Then

If i > 2 Then

t = i: z = j

t = t - 2: z = z - 2

3.3 七参数模型

当两个空间直角坐标系的坐标系换算既有旋转又有平移时,则存在3个平移参数和3个旋转参数,再顾及两个坐标系尺度不尽一致,故还有一个尺度变化参数,共计7参数,七参数模型公式如下:

其中 K 为比例系数,Dx、Dy、Dz 为加常数,ωx、ωy、ωz 为旋转参数(弧度)。上式中矩阵 R 的逆矩阵如下:

七参数转换实现的部份代码如下:

If aryData(i).id = " 12" Then

If aryData(i + 1).id > 99999 Then

y2 = aryData(i + 1).id

x2 = aryData(i + 3).id

End If

ElseIf aryData(i).id = " 13" Then

If aryData(i + 1).id > 99999 Then

y2 = aryData(i + 1).id

x2 = aryData(i + 3).id

End If

End If

Next

4 小结

本文针对实践中碰到的国家1954年北京坐标系与1980年西安坐标系之间的矛盾,根据布尔莎模型理论,基于CASS基础上用VBA语言开发了54 80坐标转换程序。程序虽然针对大数据运行速度有限,但却从根本上解决了新旧坐标系的衔接转换。本文论述由浅入深,希望能对广大从事测绘行业的同行带来一定的理论与实践意义。

参考文献

[1] 房新玉,闻道秋,张秀梅等.相似变换在大比例尺地形图的投影

换带中的应用[J].现代测绘,2006(11):36-38.

[2] 南方测绘集团.南方CASS软件使用手册[Z].

[3] 孔祥元,郭际明,刘宗泉.大地测量学基础[M].武汉:武汉大学出版社,2006:206.

注:文章内所有公式及图表请以PDF形式查看。

猜你喜欢

坐标系程序设计测绘
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
极坐标系中的奇妙曲线
城市地籍测绘与不动产测绘中的问题探讨
三角函数的坐标系模型
浅析影响地质测绘质量的因素及提高措施
我国房地产测绘发展现状的浅谈
求坐标系内三角形的面积