- kikcik
-
摘 要:AutoLISP是针对AutoCAD系统的开发工具之一,也是开发AutoCAD图形软件的强有力工具,在很大程度上减轻了作业人员的工作强度。本文作者在研究AutoLISP与尼康全站仪原始数据结构的基础上,编制出应用广泛的全站仪原始数据重新计算程序。
关键词:AutoLISP 全站仪 程序
中图分类号:TP3 文献标识码:A 文章编号:1672-3791(2012)05(a)-0012-02
AutoCAD是一套向量式计算机辅助制图软件,可广泛地应用于机械、土木、结构、建筑、水电、消防、室内设计、地理信息、地图、考古及服装设计等各行业中的工作图绘制。而各行业各有其特有的制图方法及所需的绘图功能,如果将这些功能都放进来,AutoCAD势必会变得庞大而笨拙。因此,AutoCAD提供了程序应用界面,让用户以AutoCAD作为平台,利用AutoLISP、VisualLISP、VBA、VB、ObjectARX(C++)等计算机语言进行二次开发,如此能同时兼顾软件的执行速度与用户的工作效率。
AutoLISP语言是一种嵌在AutoCAD内部的LISP编程语言,既具有一般高级语言的基本结构和功能,包括赋值、打印、条件、循环、文件等函数,又具备AutoCAD所特有的图形处理能力。利用AutoLISP语言编制的程序可以直接增加、修改和调用AutoCAD命令,在各种工程CAD系统的开发中起着重要的作用。
在现今测绘行业中,全站仪是最普遍的碎部点采集工具。利用AutoLISP语言对全站仪原始观测数据进行开发,是一个全新的课题。本文以尼康全站仪为例,进行介绍。
1 尼康全站仪的数据分析
在使用全站仪进行常规测量中,首先应通过GPS、导线测量等方式进行控制测量,计算出控制点的平面坐标和高程,然后再进行碎步点的采集。但也经常出现控制点坐标录入错误,X与Y值输反等错误。如出现控制点平面坐标录入错误的情况,需要逐站进行平移、旋转来解决;如出现控制点高程录入错误的情况,需要逐站进行常数改正;如出现X与Y值输反的情况,需要重新进行外业数据采集。
经过对尼康全站仪通讯数据进行研究发现,尼康全站仪具有存储功能,进行碎步点采集的同时,可生成两个数据文件:raw原始观测数据文件和xyz坐标数据文件。通过传输软件可将这两个数据文件下传至计算机。
1.1 原始观测数据(raw数据)分析
raw数据为全站仪外业原始观测数据,示例如下。
CO,Temp:0CPress:1024hPaPrism:3015-Feb-200815:35:12
MP,G1,,284867.451,512096.664,28.169,102
MP,G2,,284721.423,512087.176,26.570,102
MP,G3,,284534.903,512153.025,26.135,102
ST,G1,,G2,,1.440,180.0000,180.0000
F1,G2,1.800,,0.0000,90.2832,15:35:12
SS,G2A,1.800,146.368,180.0001,90.2834,15:37:36,102
SS,1,1.800,146.366,180.0003,90.2833,15:38:06,
SS,2,1.800,24.312,92.3516,89.2145,15:46:31,GAO
SS,3,1.800,32.593,113.1934,90.0001,15:47:38,KAN
SS,4,1.800,28.045,121.4828,90.2821,15:48:07,KAN
SS,5,1.800,22.977,257.5212,89.3530,15:49:46,KAN
SS,6,1.800,44.188,147.0905,91.4958,15:50:41,PENG
SS,7,1.800,39.705,172.2815,91.5047,15:52:09,GAO
SS,8,1.800,66.224,257.0453,91.0520,15:54:18,LB
SS,9,1.800,70.833,256.4149,91.0424,15:54:35,LB
SS,10,1.800,69.744,261.3030,90.2914,15:55:14,KENG
可通过每行第一个逗号之前的字母代码确定本行的数据类型,详见表1。
1.2 坐标成果数据(xyz数据)分析
xyz数据为全站仪坐标成果数据,示例如下。
G1,284867.451,512096.664,28.169,102
G2,284721.423,512087.176,26.570,102
G3,284534.903,512153.025,26.135,102
G2A,284721.396,512087.173,26.593,102
1,284721.398,512087.172,26.594,
2,284864.781,512120.827,28.080,GAO
3,284852.632,512125.693,27.809,KAN
4,284851.156,512119.488,27.578,KAN
5,284864.090,512073.935,27.973,KAN
6,284828.872,512118.164,26.396,PENG
7,284827.854,512099.302,26.530,GAO
8,284856.864,512031.304,26.550,LB
9,284855.658,512026.832,26.482,LB
10,284861.646,512027.164,27.216,KENG
数据格式解释为以逗号为分隔,分别表示点名,纵坐标,横坐标,高程,代码。
2 算法流程
进行重新计算之前,先将raw文件中的MP,UP后的控制点坐标数据修改正确。然后,根据ST后的摆站信息中读出摆站方位角,并与利用控制点坐标数据计算出的方位角进行比较:如一致,则ST后的所有碎步观测的方位角数据均不用进行改正,直接利用坐标正算计算xyz即可;如不一致,则ST后的所有碎步观测的方位角数据均需进行常数改正后,再进行xyz计算。具体流程详见图1。
为了使条例更加清晰,并增加运算速度,程序中自定义了3个函数。分别实现将平面坐标数据小数点后不满3位的补足3位,将弧度转换为度分秒,度分秒数据相减的功能。
3 结语
采用了全站仪等先进外业采集设备,并不能意味着测绘任务的圆满完成,还需采用实用的内业程序来减少人工干预,提高工作效率。本程序在北京市测绘设计研究院市政测量、管线测量中应用广泛,经受了实践和时间检验,有效提高了工作效率。
参考文献
[1] 蓝屹生.AutoLISP学习导引[M].北京:中国铁道出版社,2003.
[2] 全琳卡.AUTOLISP在城市道路规划中的应用[J].科技信息,2009(19):453~454.
[3] 汪河,周永辉,孙永辉.AutoLISP在公路普查测量中的应用[J].中国非金属矿工业导刊(增刊),2009(76):51~53.