怎样计算高速公路路线坐标及高程Word文档下载推荐.docx

上传人:b****1 文档编号:4580094 上传时间:2023-05-03 格式:DOCX 页数:18 大小:717.48KB
下载 相关 举报
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第1页
第1页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第2页
第2页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第3页
第3页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第4页
第4页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第5页
第5页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第6页
第6页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第7页
第7页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第8页
第8页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第9页
第9页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第10页
第10页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第11页
第11页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第12页
第12页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第13页
第13页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第14页
第14页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第15页
第15页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第16页
第16页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第17页
第17页 / 共18页
怎样计算高速公路路线坐标及高程Word文档下载推荐.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

怎样计算高速公路路线坐标及高程Word文档下载推荐.docx

《怎样计算高速公路路线坐标及高程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《怎样计算高速公路路线坐标及高程Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。

怎样计算高速公路路线坐标及高程Word文档下载推荐.docx

并不是只能计算整数桩号数据的,是任意桩号的,也就是说桩号K38+000和K38+111.232计算出来的结果的精度是一样的。

这个模板可以让你计算任意你想要的坐标,比如其演化计算出来的桥梁墩柱坐标,涵洞坐标等等。

给大家示范一下计算涵洞的坐标。

假设某涵洞桩号是K38+433.245,左边据中桩距离是23.45M,右边距中桩距离是33.56M,基础宽度是6M,那么我要用这个模板计算出涵洞基础4个拐点的坐标。

在这里我用此模板的一个空白的工作表来给大家演示一下。

上面这张表格现在大家都会做了吧,只不过多了一个自定义函数jfw(),它也是以桩号为自变量的一个函数,其得出的值是所在路线的某桩号的方位角。

好了,有了中桩坐标和方位角,而且距离我们已经知道了,那么各边桩的坐标就可以计算出来了,x左=中桩坐标x+距离左X(乘号)cos(方位角—pi/2),y左=中桩坐标y+距离左X(乘号)sin(方位角—pi/2)。

至于右边坐标公式仅仅是把那里面角度的减号改成加号而已。

那么就可以得出来下面的表格了,离那4个拐点坐标也就越来越近了。

好了,我们计算出了涵洞轴线的两个坐标,宽度我们又是知道的,而且我们方位角也知道,那么左边两个的拐点坐标就是轴线左边的坐标分别利用三角函数就能计算出来了,只是距离变成了宽度的一半,而另外一个拐点的方位角要加上一个pi,如下表:

以上就是拐点的4个坐标。

至于边桩高程就不做介绍,竟然有了中桩高程,而且有了左边和右边的横坡度,那么自然的边桩高程也是很容易计算出来的了。

讲了这么多其实只是介绍了这个模板是怎么操作和有什么用处,可是有那么多用处又有什么用呢,它只是针对你黄祁六标项目部才能用,我们项目部又不能用。

没关系,我马上给大家详细讲解此模板的制作流程。

还回到这个模板里面来,打开这个模板,然后进入vb编辑器里面,直接按Alt+F11可以进入,也可以从以下界面进入:

工具宏vb编辑器(不好意思了,怎么都截不了那个图,还是直接按Alt+F11来的快)

接下来就进入此界面了,注意旁边的模块,之所以可以能用自定义函数全部是它们的功劳,我一个一个的模块给大家讲解,先讲模块1:

模块1

Functionzbx(zhAsDouble)AsDouble

DimxAsDouble'

交点横坐标

DimyAsDouble'

交点纵坐标

DimzhjdAsDouble'

交点桩号

DimjzjAsDouble'

转角(右转为正,左转为负)

DimrAsDouble'

圆曲线半径

DimlsAsDouble'

缓和曲线长

DimjzhAsDouble'

起始直线方位角

DimpiAsDouble'

pi=3.14159265358979

DimmAsDouble'

切垂差

DimpAsDouble'

内移距

DimtAsDouble'

切线长

DimlcAsDouble'

外矢距

Dimj0AsDouble'

缓圆点切线方位角

DimzhzhAsDouble'

直缓点桩号

DimzhhyAsDouble

DimzhyhAsDouble

DimzhhzAsDouble

DimzbzhAsDouble'

直缓点坐标

DimzbhyAsDouble

DimzbyhAsDouble

DimzbhzAsDouble

DimliAsDouble

DimxeAsDouble

DimyeAsDouble

DimdsAsDouble'

弦长

DimjiAsDouble'

转角

DimiAsDouble'

转角正负号

Ifzh>

=35290Andzh<

36571.636Then'

从这里开始

x=3302618.225

y=515805.714

zhjd=36087.224

jzj=-1*dzh(46.3735)

r=1096.226

ls=130

jzh=dzh(299.1304)

ElseIfzh<

37683.43Then

x=3302286.5

y=514747.726

zhjd=37142.734

jzj=dzh(34.263)

r=1600

ls=150

jzh=dzh(252.353)

38850.118Then

x=3302680.931

y=513460.274

zhjd=38458.851

jzj=-1*dzh(28.2945)

r=1300

jzh=dzh(287.0159)

=40400Then

x=3302433.987

y=512242.43

zhjd=39687.464

jzj=dzh(28.4725)

r=1700

jzh=dzh(258.3215)

Else

zbx=Null

ExitFunction

EndIf'

到这里结束

pi=3.14159265358979

i=Sgn(jzj)

j0=ls/r/2

m=ls/2-ls^3/r^2/240

p=ls^2/r/24

t=m+(r+p)*Tan(Abs(jzj)/2)

e=(r+p)/Cos(Abs(jzj))-r

lc=r*(Abs(jzj)-2*j0)

li=ls

xe=li-li^5/r^2/ls^2/40+li^9/r^4/ls^4/3456-li^13/r^6/ls^6/599040+li^17/r^8/ls^8/175472640-li^21/r^10/ls^10/(7.80337152*10^10)

ye=li^3/r/ls/6-li^7/r^3/ls^3/336+li^11/r^5/ls^5/42240-li^15/r^7/ls^7/9676800+li^19/r^9/ls^9/(3.53009664*10^9)-li^23/r^11/ls^11/(1.8802409472*10^12)

ds=(xe^2+ye^2)^(1/2)

ji=Atn(ye/xe)

zhzh=zhjd-t

zhhy=zhzh+ls

zhyh=zhhy+lc

zhhz=zhyh+ls

zbzh=x+t*Cos(jzh+pi)

zbhy=zbzh+ds*Cos(jzh+i*ji)

zbhz=x+t*Cos(jzh+jzj)

zbyh=zbhz+ds*Cos(jzh+jzj-i*ji+pi)

Ifzh<

zhzhThen

li=zhzh-zh

ds=li

ji=jzh+pi

x=zbzh+ds*Cos(ji)

zhhyThen

li=zh-zhzh

ji=jzh+i*Atn(ye/xe)

zhyhThen

li=zh-zhhy

ds=2*r*Sin(li/r/2)

ji=jzh+i*j0+i*li/r/2

x=zbhy+ds*Cos(ji)

zhhzThen

li=zhhz-zh

ji=jzh+jzj-i*Atn(ye/xe)+pi

x=zbhz+ds*Cos(ji)

li=zh-zhhz

ji=jzh+jzj

EndIf

zbx=x

EndFunction

以上模块其实就是一个以自变量为桩号的函数,名字是叫zbx(),所返回的值就是坐标x。

也许有人会说什么乱七八糟的东西,我一点也看不懂。

呵呵,没关系,我们所要的只是把它运用于实际中来,并不要求所有人都能看懂,毕竟要全部看懂,还得学会编程语言vba。

这里我只讲它的用法,怎么能让它运用到所有项目的路线中去。

首先让我们知道这个函数所要运用到的已知条件,如下:

这是设计院所给的数据,那么我现在要用到哪些呢?

注意了,到重点了,以下的大家只要跟着我一步一步做就行,请不要问为什么(如果你很想知道为什么的话,我就推荐你看一下excle关于vba的书)。

在模块中看见从“从这里开始”和“到这里结束”了吗?

呵呵,为了写这个特意加上的。

好了,竟然我们要运用到新的路线上面去,那么它的已知条件的各个数据是变化的。

所以必须得改一些东西。

刚才说的那个把它全部删除,什么?

删除?

对,全部删了!

呵呵,然后改成下面的:

=起始桩号Andzh<

第一个交点的第二缓和曲线终点桩号Then'

x=交点横坐标

y=交点纵坐标

zhjd=交点桩号

jzj=-1*dzh(转角)

(说明:

输入方式,比如31°

02′19″就输入31.0219左转就如上一样输入,如右转就是jzj=dzh(转角)没有负号的。

r=圆曲线半径

ls=缓和曲线长度

jzh=dzh(前一个交点到下一个交点的方位角)

02′19″就输入31.0219)

第二个交点的第二缓和曲线终点桩号Then

x=第二个交点横坐标

y=第二个交点纵坐标

zhjd=第二个交点桩号

jzj=dzh(第二转角)

ls=缓和曲线长度

jzh=dzh(第二交点与第一交点的方位角)

(……直到全部输完,用的都是第二段语句的格式)

明白了吗?

黑体字换成你应该要输入的数据,文字说明就免了,而且必须免了,不然程序就会出错。

数据在你输入的时候一定要保证准确无误,不然的话就到时候计算出来的数据就全错了。

到这里模块1应该弄清楚了吧,接下来的就特别简单了,我们继续讲解模块2:

模块2跟模块1所要改的东西几乎是一模一样的,你所需要的仅仅是把模块1输入的数据首先复制过来,然后在一个地方要改写一下,倒数第3行(“到这里结束”是算最后一行),模块1里面是zbx,如果到了模块2里面请将其改为zby就OK了。

是不是觉得万事开头难这句话很有道理,这么快就搞定模块2了。

模块2好了,就应该是模块3了吧。

啊?

怎么可能,改的完全是一样的,只是还要改正一下倒数第三行,把模块1里面的zbx改成jfw就行了,哈哈,这也太简单了吧。

是的,就是这么简单。

再接再厉,我们进行模块4的研究:

这个大家什么都不用改,只是一个输入转换的小程序,意思就是如果你要输入角度,比如31°

02′44″,只要输入dzh(31.0244)就会把角度转换成对应的弧度。

这就是上面说明中解释角度为什么要这样子输入,嘿嘿,方便吧。

快了,离成功就只有一点点了,我们现在已经能计算出全部的坐标了,让我们看看高程是怎么计算的吧。

模块5登场了:

要知道高程怎么计算,我们先看看设计院能提供给我们的数据有哪些呢?

我们还从这个模块里面的“从这里开始”和“到这里结束”谈起,大家知道怎么做了吧,不错,正如你所想,把它删掉。

然后……没有然后了,这样子就行了,嘿嘿,开玩笑的了,还得改成下面的:

=起始桩号Andzh<

第一个圆曲线的终点桩号Then'

zh1=前一个交点桩号

zh2=中间的交点桩号(也就是正用的第一个)

zh3=下一个交点桩号

gc1=前一个交点的高程

gc2=中间的交点的高程

gc3=下一个交点的高程

第二个圆曲线的终点桩号Then

zh1=相对于这个交点的前一点桩号

zh2=这个交点的桩号

zh3=相对于这个交点的下一个桩号

gc1=还用说明你就是傻瓜

gc2=还用说明你就是傻瓜

gc3=还用说明你就是傻瓜

(……一直到结束,用的都是第二段语句的格式)

sqx=Null

注意:

所有输入的数据在等号后面是没有空格的,直接输入数据,而数据后面都跟上一个空格或N个空格,我也不怎么记得语法了,你这样做至少能够保证是正确的。

我们还要研究模块7和模块8了吗?

嘿嘿,大家就自己琢磨吧,这已经差不多够用了。

现在我们已经在vb编辑器里面全部改过来了,我们可以在工作表里面试验一下子了,刚才我们用了几个自定义函数呢,x坐标zbx()、y坐标zby()、方位家jfw()、中桩高程sqx()。

这么累,让我们来体会一下劳动的果实吧。

我们来求任意一个桩号的坐标、方位角和高程,比如K37+777:

怎么回事,出现这种情况了,怎么办?

不用担心,这其实是office自己的一种保护方法,它是不允许不信任的函数随意运行的,万一是病毒怎么办。

但这是我自己编的程序呀,一定不是病毒了,我要它运行该怎么做呢?

继续跟我来,首先在菜单栏工具里面找到宏下的子菜单安全性这一项,点开它,把它改成“中”,然后点确定,关掉excel,再重新打开,看见了吗?

点击启用宏,再看看,好了。

还没显示的话就按alt+ctrl+shift+F9强制它运行就可以了。

说了这么多其实只是针对本人制作的一个模板才能运行的,如果谁有兴趣的话可以联系本人取得模板。

QQ:

看书被书耍

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2