excel坐标正反算程序
【技术】在Excel表格中,轻松做到坐标反算。。。
【技术】在Excel表格中,轻松做到坐标反算。
定期推送测量资讯,资源共享,求职招聘,测量软件,测量书籍规范,5800编程,⼟⽯⽅计算等诸多优质内容,测量最接地⽓、重服务的本地微信平台!关注我们妥妥没错!⼩编提⽰Excel电⼦表格也是我们测量⼯作中必不可少的软件,利⽤Excel电⼦表格可以取代⼀些⼤量的计算与减少⼿⼯计算误会,接下来,我们说说在Office Excel电⼦表格中求⽅位⾓和距离的公式。
如上图所⽰;⽅位⾓“度”格式公式:=(PI()*(1 - SIGN(B3-$B$1) / 2) - ATAN((A3-$A$1) /(B3-$B$1)))*180/PI()Excel 中求⽅位⾓公式:a1,b1放起始点坐标 a3,b3放终点坐标。
⽅位⾓度分秒格式公式:=INT((PI()*(1 - SIGN(B3-$b$1) / 2) - ATAN((A3-$a$1) /(B3-$b$1)))*180/PI())&'-'& INT( ((PI()*(1 - SIGN(B3-$b$1) / 2) - ATAN((A3-$a$1) /(B3-$b$1)))*180/PI()-INT((PI()*(1 - SIGN(B3-$b$1) / 2) - ATAN((A3-$a$1) /(B3-$b$1)))*180/PI()))*60)&'-'&INT( (((PI()*(1 - SIGN(B3-$b$1) / 2) - ATAN((A3-$a$1) /(B3-$b$1)))*180/PI()-INT((PI()*(1 - SIGN(B3-$b$1) / 2) - ATAN((A3-$a$1) /(B3-$b$1)))*180/PI()))*60-INT(((PI()*(1 - SIGN(B3-$b$1) / 2) - ATAN((A3-$a$1) /(B3-$b$1)))*180/PI()-INT((PI()*(1 - SIGN(B3-$b$1) / 2) - ATAN((A3-$a$1) /(B3-$b$1)))*180/PI()))*60))*600)/10其中:A1,B1中存放测站坐标,a3,b3放终点坐标。
利用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进行高斯投影正反算
利用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 表格中就可以进行计算了。
其实,我们用的其他软件中高斯正反算基本全都是用这两个公式实现的,然而由于各种程序语言以及软件计算数据时精度不同所以最后结果也会有很小的误差。
坐标正反算计算程序
坐标正反算计算程序在进行坐标正反算计算之前,需要先了解一些基本概念和公式:1.大地坐标系:大地坐标系是用经纬度表示地球表面上的点的坐标系统,其中经度表示东西方向的位置,纬度表示南北方向的位置。
2.平面坐标系:平面坐标系是用平面直角坐标系表示地球上的点的坐标系统,其中X轴表示东西方向的位置,Y轴表示南北方向的位置。
3.椭球坐标参数:椭球坐标参数包括椭球体长半轴a、短半轴b和偏心率e等参数,用来描述地球表面的形状。
4.大地坐标与平面坐标的转换公式:-大地坐标转平面坐标:平面X坐标 = N * (cosB * (L - L0))平面Y坐标 = M + N * sinB * tan(B - B0)-平面坐标转大地坐标:B=B0+(Y-M)/NL = L0 + X / (N * cosB)H = (N / cosB) - N其中,N、M、B0、L0分别代表椭球的参数计算中的一些辅助数值,H 代表大地高。
下面是一个示例的坐标正反算计算程序:```pythonimport mathclass CoordinateConverter:def __init__(self, a, b, e, lon_origin, lat_origin):self.a = aself.b = bself.e = eself.lon_origin = lon_origint_origin = lat_origindef geodetic_to_plane(self, lon, lat):lon_diff = lon - self.lon_originM = self.a * (1 - self.e ** 2) / (1 - self.e ** 2 * math.sin(t_origin) ** 2) ** 1.5N = self.a / math.sqrt(1 - self.e ** 2 *math.sin(t_origin) ** 2)X = N * math.cos(t_origin) * lon_diffY = M + N * math.sin(t_origin) * math.tan(lat - t_origin)return X, Ydef plane_to_geodetic(self, X, Y):M = self.a * (1 - self.e ** 2) / (1 - self.e ** 2 *math.sin(t_origin) ** 2) ** 1.5N = self.a / math.sqrt(1 - self.e ** 2 *math.sin(t_origin) ** 2)lat = t_origin + (Y - M) / Nlon = self.lon_origin + X / (N * math.cos(lat))H = (N / math.cos(lat)) - Nreturn lon, lat, H#示例用法#大地坐标转平面坐标X, Y = converter.geodetic_to_plane(lon=121, lat=41)print("平面坐标:", X, Y)#平面坐标转大地坐标print("大地坐标:", lon, lat, H)```注意:在实际使用时,需要根据具体的椭球参数和坐标系定义进行适当修改,以满足实际需求。
利用EXCEL计算转换坐标
利用EXCEL计算转换坐标在Excel中,可以使用一些内置的函数和公式来计算转换坐标。
以下是一种可能的方法:1. 打开Excel,并在第一列输入原始坐标的横坐标值。
假设这些值位于A列,从第2行开始。
如下所示:A------X1X2X3...2.在第二列输入原始坐标的纵坐标值,假设这些值位于B列,从第2行开始。
如下所示:AB------X1Y1X2Y2X3Y3...3.在第三列输入转换后的坐标的横坐标值,假设这些值位于C列,从第2行开始。
如下所示:ABC------------X1Y1X1'X2Y2X2'X3Y3X3'...4.在第四列输入转换后的坐标的纵坐标值,假设这些值位于D列,从第2行开始。
如下所示:ABCD----------------X1Y1X1'Y1'X2Y2X2'Y2'X3Y3X3'Y3'...5.在C2单元格中输入以下公式来计算转换后的横坐标值:`=A2*缩放比例+平移值`缩放比例和平移值可以根据具体的坐标转换规则来确定。
例如,假设原始坐标的单位为英尺,我们想将其转换为米,则缩放比例应为0.3048(1英尺=0.3048米),平移值为0(因为不需要进行平移)。
6.在D2单元格中输入以下公式来计算转换后的纵坐标值:`=B2*缩放比例+平移值`同样,缩放比例和平移值根据具体的坐标转换规则来确定。
7.复制C2和D2单元格的公式,并将其粘贴到剩余的单元格中,以计算所有的转换后的坐标。
通过这种方法,您可以在Excel中轻松地计算坐标的转换。
请注意,缩放比例和平移值应根据您的具体需求进行调整。
利用EXCEL实现空间直角坐标与大地坐标间的转换
大地纬度 B 转换度分秒方法与 L 同, 相 在此不 做累述。表 1 为空间直角坐标与大地坐标的正反算 ( 反算) 有关参数 , 2为某两点的具体计算示例。 表
表 1 空间直角坐标 与大地坐标 的正反算 ( 反算 ) 有关参数
点名 x
已知数 据空 间直角坐标 Y z 经度 L ” ( )
u与 B 的转换 关 系 , 得到 Байду номын сангаас. 为 的更
需要指 出的是 , 出的 L和 B均为 度 的十进 求 制, 通常使用度分秒形式来表示经纬度 , 以需要将 所 十进制度的形式转换 为度分秒形式 , L为例 , 以 其 转换 过程 为 : 利用 E C L中的 T U C函数 , XE RN 首先将度 的整 数部分求 出: 在相应的单元格 内用 T U C L 算 0 R N ( 计 ,) 表示 即可 完成 。 然后 将 不 足整 数 的十进 制 度 化 为分 的形 式 , 同 样在 相应 的单元 格 内用 【 计 L 算一T U C( 计 0 ]X R N L 算,) 6 将计算结果对应 的单元格记为 L 。 O, 进一步将不足分 的部分化为秒 , 在相应 的单元 格内用【 T U C L ,) × 0 , L 一 R N ( 】 6” 0 将计算结果对应 的单 元格 记为 L, , 。 最终将三部分合并起来 , 即在相应 的单 元格 内
rM = e2acos3U
P ,
M= 一e b i P 2 sn U ,
rM
= e =e
2acos3u
() 7
Q
即可求 出大 地经度 L 并 保证 其为正 值 。利 用式 , (O , 1 ) 可首先计算出辅助角 , 然后利用式 ( ) 8 或式( ) 9 即可求出大地纬度 B 通过 B进而求出大地高 H。 , 大地高除可利用式 ( ) 3 求得 以外 , 可通过严 还 密公式 ( 1 求得 。 1)
用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行高斯投影正反算————————————————————————————————作者:————————————————————————————————日期:利用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中的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 点对应的坐标。
利用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坐标反算方位角公式
excel坐标反算方位角公式Excel坐标反算方位角公式是一种计算两个坐标点之间方位角的数学公式。
方位角是指从一个点到另一个点的方向角度,通常以北向为参考方向。
在Excel中,可以使用以下公式来计算方位角:1. 首先,确定两个坐标点的纬度和经度值。
假设第一个点的纬度为lat1,经度为lon1;第二个点的纬度为lat2,经度为lon2。
2. 将经纬度转换为弧度制。
Excel中的弧度函数是RADIANS()。
可以使用以下公式进行转换:lat1_rad = RADIANS(lat1)lat2_rad = RADIANS(lat2)lon1_rad = RADIANS(lon1)lon2_rad = RADIANS(lon2)3. 计算方位角。
使用以下公式计算方位角:x = COS(lat2_rad) * SIN(lon2_rad - lon1_rad)y = COS(lat1_rad) * SIN(lat2_rad) - SIN(lat1_rad) * COS(lat2_rad) *COS(lon2_rad - lon1_rad)angle_rad = ATAN2(x, y)4. 将弧度制的方位角转换为度数。
Excel中的度数函数是DEGREES()。
可以使用以下公式进行转换:angle_deg = DEGREES(angle_rad)最终,angle_deg即为两个坐标点之间的方位角,以度数表示。
请注意,计算结果的范围一般为[-180, 180],其中0度表示正北,正负数表示相对于正北的偏转角度。
以上是使用Excel进行坐标反算方位角的公式。
您可以在Excel中按照上述步骤进行计算,以获得具体的方位角数值。
坐标方位角EXCEL计算公式
坐标方位角EXCEL计算公式1.计算坐标方位角的基本公式:方位角=ATAN2(y轴坐标差,x轴坐标差)2.公式解释:ATAN2是Excel的一个数学函数,用于计算给定点的反正切值。
其中,y轴坐标差为点的纵坐标与原点纵坐标之差,x轴坐标差为点的横坐标与原点横坐标之差。
3.公式应用示例:假设在A1单元格中输入点的横坐标,B1单元格中输入点的纵坐标,C1单元格中输入原点的横坐标,D1单元格中输入原点的纵坐标。
则在E1单元格中输入如下公式:=ATAN2(B1-$D$1,A1-$C$1)这样就可以得到点相对于原点的坐标方位角。
需要注意的是,Excel中的数学函数ATAN2返回的角度以弧度为单位,如果需要以度数显示,可以使用Excel的DEGREES函数将结果转换为度数。
例如,在F1单元格中输入如下公式:=DEGREES(E1)这样就可以得到以度数表示的坐标方位角。
在使用以上公式计算坐标方位角时,需要确保原点的横纵坐标与点的横纵坐标分别对应。
另外,Excel中的坐标系正方向为向右为x轴正方向,向下为y轴正方向,因此计算得到的方位角范围为-π到π,即-180°到180°。
如果需要将角度值映射到0°到360°的范围,可以使用如下公式:IF(F1<0,F1+360,F1)总结:在Excel中,我们可以使用ATAN2函数来计算坐标方位角,公式为方位角 = ATAN2(y轴坐标差, x轴坐标差)。
在计算得到的结果为弧度时,可以使用DEGREES函数将其转换为度数。
另外,如果需要将角度值映射到0°到360°的范围,可以使用IF函数进行判断和调整。
以上是关于在Excel中计算坐标方位角的基本方法和公式示例。