最牛逼最简单输入excel坐标正反算程序
3.1.4第十一讲导线测量原理与方法 - 用Excel进行坐标反算
用Excel进行坐标反算
坐标反算要求根据两个已知点的高斯平面坐标,计算两点间的距离和坐标方位角,方位角的计算结果以度分秒为单位。
具体计算过程如下:
第一步,设计表格。
在Excel表格的前三行,按照上图所示的格式设计表头使各项目列宽合适,文字居中。
第二步,输入起算数据。
在A4单元格输入边名,在B4、C4单元格输入起点的X、Y坐标,在D4、E4输入终点的X、Y坐标。
第三步,计算坐标增量。
在F4单元格输入公式“=D4-B4”,在G4单元格输入公式“=E4-C4”。
第四步,计算距离。
在H4单元格输入公式“=SQRT(SUMSQ(F4,G4))”。
第五步,计算坐标方位角。
为了简化计算,避免嵌套的逻辑判断,这里采用坐标方位角的通用计算公式,在I4单元格输入公式“=PI()-SIGN(G4)*PI()*0.5-ATAN(F4/G4)”,得到以弧度为单位的坐标方位角。
第六步,将坐标方位角转换为以度、分、秒为单位。
在J4单元格输入公式
“=DEGREES(I4)”,先将坐标方位角的单位转换为十进制度,然后在K4单元格输入公式“=INT(J4)”,在L4单元格输入公式“=INT((J4-K4)*60)”,在M4单元格输入公式“=((J4-K4)*60-L4)*60”,分别计算出坐标方位角的度、分、秒值;
如果需要计算其他边的坐标方位角,只需要把第4行拷贝粘贴到下一行,修改边名和两个端点的坐标即可计算坐标方位角,不需要再次输入公式。
excel坐标正算公式
excel坐标正算公式
Excel坐标正算公式是用于计算单元格地址的公式。
在Excel中,单元格的地址由列字母和行号组成。
输入特定的行号和列字母,可以使用正算公式来计算出对应单元格的地址。
要计算单元格地址,首先需要了解列字母的表示方法。
Excel中的列字母从A
开始,依次为B、C、D,以此类推。
当列字母不够用的情况下,会在前面添加一
个或多个字母来进行表示,例如AA、AB、AC等。
每个字母代表一个26进制的
数值,A为1,B为2,以此类推。
正算公式的一般形式为:=COLUMN([列字母]1)+ROW(A[行号]),其中[列字母]为要计算的列字母,[行号]为要计算的行号。
例如,假设要计算单元格地址F5,可以使用以下公式:
=COLUMN(F1)+ROW(A5)
在这个公式中,COLUMN(F1)返回F列的列号(即6),ROW(A5)返回第5行
的行号(即5)。
将两个结果相加,即可得到单元格地址F5。
类似地,如果要计算单元格地址B10,可以使用以下公式:
=COLUMN(B1)+ROW(A10)
在这个公式中,COLUMN(B1)返回B列的列号(即2),ROW(A10)返回第10
行的行号(即10)。
将两个结果相加,即可得到单元格地址B10。
通过正算公式,我们可以根据给定的行号和列字母来计算出对应单元格的地址,方便在Excel中进行单元格的定位和数据操作。
坐标正算、反算计算方法及在Excel中的VBA编程
坐标正算、反算计算方法及在Excel 中的VBA 编程测量中经常需要将某点相对坐标系坐标转换成线路的里程、偏距,或根据线路某一里程偏距计算出对应的相对坐标系坐标,为寻求一种快速简单高效的计算方法,本文对线路正算反算的原理进行了阐述,并结合Excel VBA 编程,将编程和Excel 的拖拽的功能相结合,编制出实用计算表,特别适用于需要大量计算边桩、围护桩的情况。
关键词:坐标方位角坐标正算坐标反算 V AB 编程循环迭代直接算法一、坐标方位角的反算1.坐标方位角反算如图1所示,已知点A 、B 的坐标,求直线AB坐标方位角α。
图1坐标方位角反算直线AB 之间的坐标增量:AB B AAB B Ax x x y y y ∆=−∆=−当0,0AB AB x y ∆>∆>时,角α位于第一象限角:arctan ABABy x α∆=∆当0,0AB AB x y ∆<∆>时,角α位于第二象限角:arctan 180AB ABy x α∆=+°∆当0,0AB AB x y ∆<∆<时,角α位于第三象限角:arctan 180AB ABy x α∆=+°∆当0,0AB AB x y ∆>∆<时,角α位于第二象限角:arctan360AB AB y x α∆=+°∆2.坐标方位角反算的VBA 编程可用VBA 将上述过程定义为一个名为angel()的函数,代码如下:Function angel(x0As Double, y0 As Double, x1 As Double, y1 As Double) As Double dx = x1- x0dy = y1- y0If dx > 0 And dy > 0 Thenangel = Atn(dy / dx)End IfIf dx < 0 And dy > 0 Thenangel = Atn(dy / dx) + 3.14159265358979End IfIf dx < 0 And dy < 0 Thenangel = Atn(dy / dx) + 3.14159265358979End IfIf dx > 0 And dy < 0 Thenangel = Atn(dy / dx) + 3.14159265358979 * 2End IfEnd Function二、直线段坐标正算与反算1.直线段正算图2直线段计算已知HZ 点坐标(x1,y1)、里程N HZ ,ZH 点坐标(x2,y2),正算时已知P 点对应的中桩里程Np 和偏距e (规定沿着线路前进方向,左边偏距为负,右边偏距为正),Np>N HZ ,求P 点对应的坐标。
坐标正反算计算程序
坐标正反算计算程序```pythonimport mathdef coordinate_forward(h0, l0, alpha, s):"""坐标正算函数,根据给定的起始位置和观测角度、距离计算目标位置的坐标。
:param h0: 起始位置的水平坐标。
:param l0: 起始位置的纵向坐标。
:param alpha: 观测角度,以正北方向为基准,顺时针方向为正。
:param s: 距离。
:return: 目标位置的水平坐标和纵向坐标。
"""d = math.radians(alpha)h = h0 + s * math.sin(d)l = l0 + s * math.cos(d)return h, ldef coordinate_inverse(h0, l0, h, l):"""坐标反算函数,根据给定的起始位置和目标位置的坐标计算观测角度和距离。
:param h0: 起始位置的水平坐标。
:param l0: 起始位置的纵向坐标。
:param h: 目标位置的水平坐标。
:param l: 目标位置的纵向坐标。
:return: 观测角度和距离。
"""dh = h - h0dl = l - l0s = math.sqrt(dh ** 2 + dl ** 2)alpha = math.degrees(math.atan2(dh, dl))if alpha < 0:alpha += 360return alpha, s```使用这个坐标正反算计算程序,可以简单地实现坐标的正反算。
例如:```python#坐标正算示例h0=0l0=0alpha = 45s=10h, l = coordinate_forward(h0, l0, alpha, s)print(f"目标位置坐标:h={h}, l={l}")#坐标反算示例h0=0l0=0h=5l=5alpha, s = coordinate_inverse(h0, l0, h, l)print(f"观测角度和距离:alpha={alpha}, s={s}")```这段程序中的坐标正算函数`coordinate_forward`接受起始位置的坐标`h0`和`l0`,观测角度`alpha`(以正北方向为基准,顺时针方向为正),以及距离`s`作为参数,返回目标位置的水平坐标`h`和纵向坐标`l`。
用EXCEL完成GPS坐标转换的简易方法
一、用EXCEL进行高斯投影换算从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或从XY换算成BL(高斯投影反算),一般需要专用计算机软件完成,在目前流行的换算软件中,存在一个共同的不足之处,就是灵活性较差,大都需要一个点一个点地进行,不能成批量地完成,给实际工作带来许多不便。
笔者发现,用EXCEL可以很直观、方便地完成坐标换算工作,不需要编制任何软件,只需要在EXCEL的相应单元格中输入相应的公式即可。
下面以54系为例,介绍具体的计算方法。
完成经纬度BL到平面直角坐标XY的换算,在EXCEL中大约需要占用21列,当然读者可以通过简化计算公式或考虑直观性,适当增加或减少所占列数。
在EXCEL中,输入公式的起始单元格不同,则反映出来的公式不同,以公式从第2行第1列(A2格)为起始单元格为例,各单元格的公式如下:单元格单元格内容说明A2输入中央子午线,以度.分秒形式输入,如115度30分则输入115.30 起算数据L0B2=INT(A2)+(INT(A2*100)-INT(A2)*100)/60+(A2*10000-INT(A2*100)*100)/3600把L0化成度C2以度小数形式输入纬度值,如38°14′20″则输入38.1420起算数据BD2以度小数形式输入经度值起算数据LE2=INT(C2)+(INT(C2*100)-INT(C2)*100)/60+(C2*10000-INT(C2*100) *100)/3600把B化成度F2=INT(D2)+(INT(D2*100)-INT(D2)*100)/60+(D2*10000-INT(D2*100 )*100)/3600把L化成度G2=F2-B2L-L0H2=G2/57.2957795130823 化作弧度I2=TAN(RADIANS(E2)) Tan(B)J2=COS(RADIANS(E2)) COS(B)K2=0.006738525415*J2*J2L2=I2*I2M2=1+K2N2=6399698.9018/SQRT(M2)O2=H2*H2*J2*J2P2=I2*J2Q2=P2*P2R2=(32005.78006+Q2*(133.92133+Q2*0.7031))S2=6367558.49686*E2/57.29577951308-P2*J2*R2+((((L2-58)*L2+61) *O2/30+(4*K2+5)*M2-L2)*O2/12+1)*N2*I2*O2/2计算结果XT2=((((L2-18)*L2-(58*L2-14)*K2+5)*O2/20+M2-L2)*O2/6+1)*N2*(H2 *J2)计算结果Y表中公式的来源及EXCEL软件的操作方法,请参阅有关资料,这里不再赘述。
利用EXCEL进行高斯投影正反算
利用EXCEL 进行高斯投影正反算在工作中常需要将大量经纬度转换成高斯平面坐标、将高斯平面坐标转换成经纬度、将6度带坐标转换成3度带坐标等坐标转换问题。
面对这些问题,我们希望能找个坐标转换软件进行批量转换从而降低劳动强度、提高工作效率。
然而我们通常用的软件对批量转换往往有一定的限制而且对转换数据的格式要求比较严格不容易掌握和使用。
实际上我们通常用的办公软件EXCEL 就可以完成这项工作。
EXCEL 办公软件操作简单方便、易于掌握。
想要用EXCEL 实现正反算,我们必须知道高斯投影正反算数学公式。
(高斯投影正算实际就是把大地坐标通过高斯投影数学模型转换为平面坐标,反之则为高斯投影反算)下面就是高斯投影公式:正算公式:"2322"4""4sin cos sin cos (59)22N N x X B Bl B B t l ηρρ=++-+ "322"3524"5""3"5cos cos (1)cos (118)6120NN N y X Bl B t l B t t l ηρρρ=++-++-+ 反算公式:23222424635(539)(619045)224720f f f f f f f f f f ff f f ft t N B B y t t y t t y M N M N M N ηη=-+-+---+ 22324535111(12)(52824)cos 6cos 120cos f f f f f f f f f fl y t y t t y N B N B N B η=-+++++ 我们只需要把上述两个公式用EXCEL 函数写于EXCEL 表格中就可以进行计算了。
其实,我们用的其他软件中高斯正反算基本全都是用这两个公式实现的,然而由于各种程序语言以及软件计算数据时精度不同所以最后结果也会有很小的误差。
EXCEL计算坐标方法
计算坐标需要"桥型布置图"、"桥台结构图"、"桥墩结构图"、"点位图"、"纵断面".
先点开"桥型布置图","纵断面",找出台帽前墙位置与纵断线上已知一点的距离,例:
量取已知点距台帽前墙距离,如:1.978m
再点开"点位图",找到已知点投影到拟定桥梁中线的位置.
再在该位置向路线方向移动1.978m.
以该点为基点,并在CAD中点出该点的坐标,记录下来.
但是注意CAD的坐标和测量的坐标X、Y是相反的.记下坐标X:6645.8554 ;Y:4103.3546.
再查看桥型布置图,查看两台帽前墙间的距离,13.04m
再在点位图中把之前的基点移动13.04m,并记录下在CAD中的坐标.
如:X:6658.8019,Y:4101.7962
再打开设计完的"桥台结构图",算出台帽至基础前点的平面距离2.7m,并记录下来.
再查看基础的侧面长度,如6.7m,和基础的横向宽度7.0m,并记录下来.
OK有这些记录下来的数据就可以通过EXCEL计算基础坐标了.
方法:
打开excel并把记录下的数据填如表中:
黄色的框是要填入的数据.
注意:EXCEL计算1#台填入的"间距"等于13.04减去1#台台帽前墙距基础前点的平面距离. 如果是斜交的桥梁,输入的交角是路线方向逆时针旋转至桥台前墙的角度.如图中斜交60度,就输入60度.
1 / 1。
坐标转换快捷法:用Excel 计算高斯投影正算
坐标转换快捷法:用Excel 计算高斯投影正算1、概述GPS测量作为现代高新技术手段,能方便快捷的测定点位坐标,在操作上比全站仪等其他常规测量设备有明显的优越性。
随着我国各地GPS连续运行参考站(CORS)的不断建设,使得单机作业模式得到大范围推广,在CORS的支持下定位的精度大大提高,已经达到了亚米级、厘米级精度,能够满足国土资源调查、土地利用更新、道路工程测量、遥感监测等工作的应用。
一般情况,我们使用的是北京54坐标系统或西安80坐标系统,而GPS测定的坐标是WGS-84坐标系坐标,需要进行坐标系转换。
对于非测量专业的工作人员来说,虽然GPS定位操作非常容易,但坐标转换则难以掌握,EXCEL 是比较普及的电子表格软件,能够处理较复杂的数学运算,用它来进行GPS 坐标转换会非常轻松自如。
要进行坐标系转换,离不开高斯投影换算,下面介绍用EXCEL进行换算的方法将GPS坐标转换为平面坐标格式。
2、坐标转换从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或从XY换算成BL(高斯投影反算),一般需要专用计算机软件完成,在目前流行的换算软件中,存在一个共同的不足之处,就是灵活性较差,大都需要一个点一个点地进行,不能成批量地完成,而具有批量转换功能的软件大多是收费的,价格不菲,这样给实际的工作带来许多不便。
2.1 用EXCEL表格进行坐标转换EXCEL可以处理复杂的数学运算,可以很直观、方便地完成坐标换算工作,不需要写代码,不需要编制任何软件,只需要在EXCEL的相应单元格中输入相应的公式即可。
下面以北京54坐标系统为例,介绍具体的计算方法。
本方法完成经纬度坐标BL到平面直角坐标XY的换算,在EXCEL表格中大约需要占用21列,也可以通过简化计算公式或考虑直观性,适当减少或增加所占列数。
在EXCEL中,输入公式的起始单元格不同,则反映出来的公式不同,以公式从第2行第1列(A2格)为起始单元格为例,各单元格的公式如下:按上面表格中的公式输入到相应单元格后,就可方便地由经纬度求得平面直角坐标。
Excel反向查找,这5个超简单的方法,请收好
Excel反向查找,这5个超简单的⽅法,请收好在实际⼯作中,反向查找的⽅法主要有以下⼏个:①VLOOKUP + IF②VLOOKUP + CHOOSE③INDEX + MATCH④LOOKUP⑤OFFSET + MATCH下⾯我将通过⼀个例⼦分别⽤以上这5种⽅法给⼤家演⽰反向查找。
下图中,E3单元格我们设置了下拉选择,通过选择产品找到对应的品牌。
⽅法⼀:使⽤VLOOKUP + IF。
具体操作步骤如下:1、选中F3单元格 -- 在编辑栏中输⼊公式“=VLOOKUP(E3,IF({1,0},$C$3:$C$7,$B$3:$B$7),2,0)”-- 按回车键回车。
2、动图演⽰如下。
3、公式解析。
IF({1,0},$C$3:$C$7,$B$3:$B$7):当条件为1时,返回第⼀个结果C3:C7;当条件为0时,返回第⼆个结果B3:B7,这⾥{1,0}两个条件是同时判断的,所返回的两个结果组成⼀个C列数据在前B列数据在后的数组{'⽔润⾯膜','WIS';'补⽔⾯膜','⾃然堂';'⿊⾯膜','膜法世家';'泡泡⾯膜','珀莱雅';'保湿⾯膜','百雀羚'}。
⽅法⼆:使⽤VLOOKUP+CHOOSE。
具体操作步骤如下:1、选中F3单元格 -- 在编辑栏中输⼊公式“=VLOOKUP(E3,CHOOSE({1,2},$C$3:$C$7,$B$3:$B$7),2,0)” -- 按回车键回车。
2、动图演⽰如下。
3、公式解析。
CHOOSE({1,2},$C$3:$C$7,$B$3:$B$7):可以返回⼀个C列数据在前B列数据在后的数组{'⽔润⾯膜','WIS';'补⽔⾯膜','⾃然堂';'⿊⾯膜','膜法世家';'泡泡⾯膜','珀莱雅';'保湿⾯膜','百雀羚'},当公式执⾏时,CHOOSE先从索引号数组中取出第⼀个元素1,⽽1对应的值为C3:C7,因此从C3:C7中取出C3单元格的值“⽔润⾯膜”;接着,从索引号数组中取出2,2对应的值为B3:B7,所以从B3:B7中取出B3单元格的值“WIS”;按此循环直到取完C3:C7和B3:B7中的所有值。