利用数据库改编任意线形中桩边桩坐标计算通用程序(线元法)09
利用VisualLisp语言实现CAD中轴线任意点的中边桩计算

利用VisualLisp语言实现CAD中轴线任意点的中边桩计算
利用VisualLisp语言实现CAD中轴线任意点的中边桩计
算
张炜1,陈俊样1,刘新华2
【摘要】摘要:在线状工程施工中,轴线的桩号及坐标计算存在繁琐的重复工作,桩号的设定需要计算轴线起点桩号及起终点长度求得终点桩号,曲线段的桩号编制更为繁琐。
利用CAD中的二次开发程序Lisp 语言实现轴线任意点中边桩自动计算及列表显示,极大地提高了内业计算效率。
【期刊名称】浙江水利科技
【年(卷),期】2011(000)003
【总页数】2
【关键词】关键词:线状工程;Lisp语言;中边桩计算
1 问题的提出
桩号的定位及标注过程中主要遇到以下几个问题:①在初设阶段,需要分段确定地理位置(如道路工程中经过河流山川需要设计桥涵隧洞等),当确定设计轴线后对地段的桩号进行确定;②在工程施工阶段,局部需要变更(如遇到地质情况变化较大,需要对局部地段进行工程位置的说明);③在竣工阶段,工程资料整理及技术报告的编制需要准确确定实地位置,坐标可以表示绝对位置,但不直观,采用桩号的表示更加形象直观。
以上3种情况都需要对实地位置进行快速确定桩号,便于对工程进行直观形象的描述。
传统的方法采用计算器进行计算,则参数多计算繁琐,数据的输入和输出过程容易出错;采用EXCEL软件编程进行计算虽然比较方便,但不能自动判断桩号点位置的线段类型(直线、圆曲线等)无法实现数据的全过程电脑计算智能化。
线元法线路坐标正反算程序

经苦心钻研,奋战多日,终于编写出了代码短,速度快,精度高,功能全的线路坐标正反算程序,欢迎试用并提出宝贵意见。
功能简介及特点:1、选用高斯-勒让德公式作计算内核,保证精度,模块化设计,便于扩充功能。
2、线元数据可自动从数据库调用,也可手工输入。
3、可管理多条线路,如里程不在线路或线元范围,将警告里程偏大、偏小。
4、边桩计算设计为导线式递推方式,可用于由一个中桩推出结构物所有角点坐标。
5、反算实现了智能化操作,只需输入线路号(或手工输线元资料)、坐标,不需近似里程,即可自动从起点向后开始试算出里程、位置,如对算出里程、位置表示怀疑,还可以让计算器从终点起再向前试算下一个可能的位置(匝道、回头曲线同一坐标可能会有一个以上结果)。
第三次及以后试算才要求输入近似里程。
6、程序代码规范简洁,便于阅读、理解。
完整程序清单:ZFS %正反算主程序B=.1739274226:C=.5-B:Lbl 1:U"0 ZS 1 FS"=0=>Prog "ZS":≠>U=1=>Prog"FS":≠>Goto 1ZS %正算子程序{K}:Prog"ZZ":I=0:{I}:I"L"≠0=>"Prog"WY":≠>Prog"ZB"FS %反算子程序{KVW}:V"XC"W"YC":Lbl 2:Prog "ZZ":I=V-S:J=W-T:Pol(I,J: J=J-F:K=K+Rec(I,J:AbsI<1m=>Prog"WZ":≠>Goto 2ΔM=0:{M}:M"0 NEXT"=0=>U=U+1:Goto 2:≠>U=1ZZ %高斯法中桩子程序(4节点)Prog"XL":M=K-L:O=(P-R)÷2PQR:D=.0694318442:E=.3300094782:F=1:G=1-E:H=1-D:I=5:Lbl 1:C[I]=A+MrC[I](1÷P+OMC[I]:Dsz I:Goto 1:S=X+M(BcosD+CcosE+CcosG+BcosH:T=Y+M(BsinD+CsinE+CsinG+BsinHWY %外移点计算子程序Lbl 1:J=90:{J}:J=F+J"<":F=J:S=S+Rec(I,J:T=T+J: Prog"ZB":I=0:{I}:I"L"≠0=>Goto 1WZ %位置显示子程序"KJ":K:Pause 1:J◢ZB %坐标显示子程序"XY":S:Pause 1:T◢YC %异常处理子程序U=1=>K=L:U=2ΔU=3=>K=M:U=4ΔU=5=>{K}:U=4ΔK<L=>"<<!":Z=1ΔK>M=>">>!":Z=1DL %断链处理子程序"DL":K=L:I>0=>K=L+Q-------------------------以上为程序运算部分,以下为数据库部分-------------------------------XL %线路数据库选择子程序Lbl 1:Z=0:N"0 SD"=0=>Prog"0"△N=1=>Prog"1"△N=2=>Prog"2"△...有几条线路仿上行格式输几行Z=1=>{NLXYOPQRK}:Goto 10 %手工输入子程序L"K0"XYAQ"LS"P"R0"R"RN":M=L+Q:Prog"YC"1 %线路一数据库子程序①Lbl B:L=线路起点里程:M=线路终点里程:Prog"YC":Z=1=>Goto EΔ②Q=线元长:P=起点半径:R=终点半径:K≤L+Q=>X=起点X坐标:Y=起点Y坐标:A=起点方位角:Goto EΔL=L+Q:③......④Q=短链长:K<L+Q=>Prog "DL":Goto BΔL=L+Q:⑤Q=线元长:P=起点半径:R=终点半径:K≤L+Q=>X=起点X坐标:Y=起点Y坐标:A=起点方位角:Goto EΔL=L+Q:⑥......⑦Q=线元长:P=起点半径:R=终点半径:X=起点X坐标:Y=起点Y坐标:A=起点方位角:Lbl E2 %线路二数据库子程序输入要求和线路一相同。
线元法任意线型坐标计算

边桩பைடு நூலகம்
N (m) #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? E (m) #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME?
坐标计算表
中桩
方位角 #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? 偏距 (m) -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 -12.25 夹角 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
备注
公司: 项目:
计算里程 (m)
K209+580.000 K209+600.000 K209+620.000 K209+640.000 K209+660.000 K209+680.000 K209+700.000 K209+720.000 K209+740.000 K209+760.000 K209+780.000 K209+800.000 K209+820.000 K209+840.000 K209+860.000 K209+880.000 K209+900.000 K209+920.000 K209+940.000 K209+960.000 K209+980.000 K210+000.000 N (m) #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? E (m) #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME?
线路中边桩坐标通用计算

线的路线单元为计算对象,编辑了适用于直、缓、圆各类线型的路线单元中、边桩坐标和中桩切线方位角以及由测站点到放样点极坐标的CASIO fx-4850P型编程计算器的计算程序,可供公、铁路工程施工技术人员参考应用。
本计算器具有存储计算程序字符容量大,计算速度快,且体积特小,重量特轻之特点,特别适用于外业测量人员使用。
2 直、缓、圆任一线型的路线中桩、边桩坐标计算的统一公式2.1 路线单元计算图形及其已知数据不完全缓和曲线的路线单元如图1所示,设路线单元起点为A、终点为B。
已知路线单元起点A的坐标(XA、YA),切线方位角αΑ中,里程LA,半径RA;路线单元终点里程LB,半径RB;设由起点到终点路线为右转向(每个路线单元的七个已知数据可从路线设计资料中查找)。
若计算左、右边桩点的坐标,还应已知中、边桩间的平距Di中-左/右及中、边桩直线与中桩切线间夹角β(计算边桩时,其平距及角度均已知,图中未示出)。
2.2任一中桩切线方位角的计算式(因篇幅所限,分析过程略,直接给出)αi中=αA中+(Li-LA)÷RA+(RA-RB)( Li-LA)2÷(2RARB(LB-LA))公铁路线中边桩坐标计算通用程序孙孝军 陕西铁路工程职业技术学院 7140001 引言公路、铁路路线按照几何线型分类,可分为直线路线、圆曲线路线和缓和曲线路线。
一般情况下,缓和曲线是连接直线与圆曲线的过渡性的曲线,该缓和曲线称为完全的缓和曲线。
特殊情况下,截取完全缓和曲线的一段,其两端连接两个不等半径的圆曲线,即将一个半径的圆曲线逐渐过渡到另一半径的圆曲线,这种缓和曲线称为不完全缓和曲线。
所以,缓和曲线可分为完全的和不完全的两种。
那么,一条很长的铁路线可划分为一个一个单一线形的路线单元,即直线单元、圆曲线单元、完全缓和曲线单元和不完全缓和曲线单元。
各类线型路线单元具有各自不同的几何性质,直线单元是半径为无穷大而曲率为零且始终保持不变的线型;圆曲线单元是始终保持某一半径和相应曲率不变的线型;缓和曲线单元是半径和曲率处处不等且均匀渐变的线型。
线元法曲线任意里程中边桩坐标正反算(CASIO_fx-5800P计算器)程序(附带高程)

线元法曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序(附带高程)一、功能及原理说明1. 功能说明:本程序由一个主程序(1-MAIN)和七个子程序——正算子程序(1-SUB-ZS)、反算子程序(1-SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO FX-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<=0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出反算结果。
3. 程序输入计算器后,请根据统计串列List X,Y,freq[N]在程序中实际可能被使用的维数,将其统计矩阵串列改为包含相应维数的任意数据的矩阵,即在list列表中随机输入相应维数的数据,保证矩阵大小符合维数要求。
4. 本程序正算速度在1-2秒左右,反算比正算慢点,可根据需要调整精度加快速度。
本程序可建立曲线要素数据库及高程变坡点数据库,一次输入整条线路数据,计算时自动调用数据库,实现全线贯通,也可临时手动输入线元计算要素进行计算。
5. 本程序由小骆在前人的基础上改进而成,经个人测试可用。
学识浅薄,不足之处,在所难免,欢迎提出改进意见。
二、源程序1.主程序(1-MAIN)Deg:fix 320→DimZLbl 0:cls:“INPUT(0),ZX(1),YX(2)”?I (选择手动输入计算参数0,还是调用线路数据1,2)If I=0:Then Prog “1-DAT1”:IfEnd“SZ=>XY(1),XY=>SZ(2)”?N(正算,反算)If N=1 :Then Goto 1Else If N=2 :Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“KP=”?S(输入待求桩号)If S<0:Then Goto 0:IfEnd“JL(m)=”?Z (输入偏距)If Z≠0:Then “ANGLE→R(Deg)=”?M:IfEnd (输入斜交右角)If I≠0:Then Prog “1-DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then cls:locate 6,2,"KP OUT"◢Goto 0:IfEnd:IfEnd(前半条针对“DAT”情况,后半条针对“INPUT”情况。
公路中桩边桩坐标计算方法

高等级公路中桩边桩坐标计算方法一、平面坐标系间的坐标转换公式如图 9 .设有平面坐标系 xoy 和 x'o'y' (左手系—— x 、 x' 轴正向顺时针旋转90°为 y 、 y' 轴正向); x 轴与 x' 轴间的夹角为θ( x 轴正向顺时针旋转至 x' 轴正向.θ范围:0° —360°)。
设 o' 点在 xoy 坐标系中的坐标为( xo',yo' ).则任一点 P 在 xoy 坐标系中的坐标( x,y )与其在 x'o'y' 坐标系中的坐标( x',y' )的关系式为:二、公路中桩边桩统一坐标的计算(一)引言传统的公路中桩测设.常以设计的交点( JD )为线路控制.用转点延长法放样直线段.用切线支距法或偏角法放样曲线段;边桩测设则是根据横断面图上左、右边桩距中桩的距离(、).在实地沿横断面方向进行丈量。
随着高等级公路特别是高速公路建设的兴起.公路施工精度要求的提高以及全站仪、 GPS 等先进仪器的出现.这种传统方法由于存在放样精度低、自动化程度低、现场测设不灵活(出现虚交.处理麻烦)等缺点.已越来越不能满足现代公路建设的需要.遵照《测绘法》的有关规定.大中型建设工程项目的坐标系统应与国家坐标系统一致或与国家坐标系统相联系.故公路工程一般用光电导线或 GPS 测量方法建立线路统一坐标系.根据控制点坐标和中边桩坐标.用“极坐标法”测设出各中边桩。
如何根据设计的线路交点( JD )的坐标和曲线元素.计算出各中边桩在统一坐标系中的坐标.是本文要探讨的问题。
(二)中桩坐标计算任何复杂的公路平面线形都是由直线、缓和曲线、圆曲线几个基本线形单元组成的。
一般情况下在线路拐弯时多采用“完整对称曲线”.所谓“完整”指第一缓和曲线和第二缓和曲线的起点( ZH 或 HZ )处的半径为∞ ;所谓“对称”指第一缓和曲线长和第二缓和曲线长相等。
线路中边桩任意里程坐标正反算改编程序CASIO4850

线路中边桩任意里程坐标正反算改编程序CASIO4850| 2006-10-5 23:45:00含数据库、测站放样计算(第五次修改-正式版)1.加编数据库及计算总调度程序,计算中不必逐项输入"线元要素",提高运算速度,避免现场忙中出错2.可加入多条线路的数据库,内业输入数据,外业一目了然3.计算直观,人性化4.正算直接输入里程和边距,反算输入近似里程便可5.增加了“计算点与测站点”的距离和方位角计算语句,方便直接放样6.愿收获与大家共享,同时也希望大家提出心得和宝贵建议7.核心计算程序摘自“yshf”一.改动后的程序清单,增设数据库程序,可输入n条线路的数据库1.(QXZDJS 计算总调度程序)M=1=>Prog "SJK1":Prog "SUBSJK"△←┘...........M=n=>Prog "SJKn":Prog "SUBSJK"△←┘2.(SJK1 数据库程序)"1.SZ => XY":"2.XY => SZ":{N,S}:N:S"DKI"←┘S≤本线元终点里程=>U=本线元起点X坐标:V=本线元起点Y坐标:G=本线元起点正切线方位角:P=本线元起点曲率半径:R=本线元终点曲率半径:O=本线元起点里程:H=本线元终点里程:Q=本线元左直右偏向(0或1、-1):Goto0Δ←┘S≤下一线元终点里程=>O=。
:Goto0Δ←┘LB1 03.(SUBSJK 运算主程序){UVGPROHQ}:U"XA":V"YA":G"FA":P"RA":R"RB":O"DKA":H"DKB":Q←┘Deg:S>H=>Goto AΔD=(P-R)÷2PR(H-O):N=1=>Goto 1:≠>Goto 2Δ←┘Lbl 1:{Z}:Z:W=Abs(S-O):Prog "SUB1":"XS=":X◢"YS=":Y◢"QX-FWJ=":F=F-90←DMS◢I=0:J=0:Pol(X-C"XC",Y-E"YC"):J<0=>J=J+360:Δ“FWJ=”:J←DMS◢“I=”:I◢Goto A←┘Lbl 2:{XY}:I=X:J=Y:Prog "SUB2":"S=":S=O+W◢"Z=":Z◢Lbl A4. (SUB1 正算子程序)A=0.1739274226:B=0.3260725774:K=0.0694318442:L=0.3300094782:X=U+W(Acos(G+180QKW(1÷P+KWD)÷π)+Bcos(G+180QLW(1÷P+LWD)÷π)+Bcos(G+180(1-L)QW(1÷P+(1-L)WD)÷π)+Acos(G+180(1-K)QW(1÷P +(1-K)WD)÷π)):Y=V+W(Asin(G+180QKW(1÷P+KWD)÷π)+Bsin(G+180QLW(1÷P+LWD)÷π)+Bsin(G+180(1-L)QW(1÷P+(1-L)WD)÷π)+Asin(G+18 0(1-K)QW(1÷P+(1-K)WD)÷π)):F=G+180QW(1÷P+WD)÷π+90:X=X+ZcosF:Y=Y+ZsinF5.(SUB2 反算子程序)T=G-90:W=Abs((Y-V)cosT-(X-U)sinT):Z=0:Lbl 0:Prog "SUB1":L=T+1 80QW(1÷P+WD)÷π:Z=(J-Y)cosL-(I-X)sinL:AbsZ<1÷10^6=>Goto1:≠>W=W+Z:Goto 0Δ←┘Lbl 1:Z=0:Prog "SUB1":Z=(J-Y)÷sinF二. 使用说明:1.把所有相关的”线元要素“依次输入”SJK“,如果有多条线路,可把“SJ K”分成SJK1...SJKn等n条线路数据库,然后对应“计算总调度程序”中的M1...Mn备用2.运算时直接调用“SJK”运行,程序提示输入里程“S”?时,正算直接输入待求点里程,反算输入所求点“近似“里程3.如果在正算中途想进行反算,重新给”N“?赋值"2"便可4.程序中“XC、YC”为测站坐标,“I=”、“FWJ=”为放样距离和方位角5.程序中“QX-FWJ=”为计算点在中线上的正切线方位角,此方位角在新线路输入数据库时非常重要,我们在每输入完一段曲线元要素后,立即退出返回到“计算总调度程序(SUBSJK)”中,然后输入该段曲线元的终点里程,其计算出来的X,Y中桩坐标应该与设计图纸(当然是经过复查无误的图纸)上的该点中桩坐标一致,否则一定是哪个地方数据输入或者程序有误,这时候我们一定要把该计算点在中线上的正切线方位角“QX-FWJ=”记录下来为下一段曲线元要素数据输入服务,因为它就是下一段曲线元的起点正切线方位角,嘿嘿!6.其它输入与"yshf"原程序一致-----------------------------------------------------------------------附件:(原yshf程序)曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序一、程序功能本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
公铁路线中边桩坐标计算通用程序

转向(左输一l,右输+1);
FYD DY ZZ LC=?
提示输入放
围; DAN YUAN FAN YANG JIE SHU
提示本线型单元放样结束。
镰惫篱拳
孙孝军(1 9 5 1
).男 汉族.陕西丹
凤人.本科,讲师,主要从事工程测量
教学与研究工作。
暖《上接第92页
规章规定的程序和原则,对道路货运业的 发展给予保障并加以规范和监督。法律保 障体系中的法律制度包括市场主体法律制 度、市场行为法律制度、市场秩序法律制 :度、市场调控与管理法律制度和商业信用 ‘法律制度等,法律保障体系的内容应涵盖 立法、执法、司法、法律监督和普法等 各个方面。 4总结
图2计算程序编辑框图
CHA0 CHIT DAN YUAN FAN WEI
UNIVERSITY OF AMERICAN.2000
万方数据 94
公铁路线中边桩坐标计算通用程序
作者: 作者单位: 刊名:
英文刊名:un 陕西铁路工程职业技术学院,714000
『51.Mr.duns PUNTAKS.PRfVAT;SATl0N AND
计算并显示待球点I的切蟪f里程增加矗同)方
FYD ZB E(Y)=
提示计算的放样
REGULATlON OF gOAD FREIGHT
点坐标E(Y);
TRANSPORT,EUROPEAN CONFERENCE OF
计算井显示待掌点I的X,Y坐标爱l 是 艘样极坐标.是否继续计算下一棒球{
里程均为负数(L。、L。L.均为负),
万方数据 93
露琵e誊。强≈秘驻爨l嚣靠i。_j尊||渔麓毒。E蕊薯☆·l甏蕾强j—i
镶篱鬻溪《甏慧攀攀鋈i誉《攀|葛甍赣赣警5《曦攀《鋈l电国辑寝谯怠2Q∞毒寨、2戴
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用数据库改编任意线形中桩边桩坐标计算通用程序(线元法)
09
利用数据库改编任意线形中桩、边桩坐标计算通用程序(线元法)09
利用数据库进行任意直线单元中桩和边桩的坐标计算
通用程序09(线元法)
一、主程序(xy-z-h-r)
deg:2→dimz:fix3lbi0
n:?s:“e=90(r),-90(l)”?eprog“zd―data”x=“:xs”y=“:ysgoto0
二、数据库文件(zd―data)
18013.122→z[1]:18083.122→z[2]
ifn≤z〖2〗:then464435.269→a:474023.60→b:173°24”35.3→f:0→r:400→u:1→gprog“sub―h1”prog“sub―h2”return:ifend
z[2]→z[1]:18151.1→z[2]干扰素≤z[2]:然后是464365。
551→a:474029.600→b:178°25“23.47→女:400→r:400→“sub-zd-r”
return:ifend`z[2]→z[1]:18221.1→z[2]
干扰素≤z[2]:然后是464297。
766→ A:474025.702→ B:188°9“37.14→ FPROG“sub-zd-z”返回:IfEnd描述:
z[1]、z[2]---分别为起点、终点桩号a、b、f---起点的坐标、正方位角
r、 U分别指直线元素的起点和终点的半径。
当曲线向右转弯时,输入正值,当曲线向左转弯时输入负值。
N、 s为待计算点的桩号和侧桩与中桩的距离(m)
e---边桩待测点与对应中桩的连线与道路前进方向的右夹角,
输入e表示右夹角,输入e-180表示左夹角
注:
1.该程序可以计算任意线单元的中桩和边桩坐标;
2、该程序只需要输入计算线元的起点桩号、坐标,终点桩号,线元起点正方位角,即可计算该线元中任意点坐标。
3.本程序的优点:可以计算全线任意点的坐标,通用性强;计算速度非常快。
4.附上应用程序和案例图。