求高斯坐标的转换公式谢谢了,大神帮忙啊

发布网友 发布时间:2022-04-25 21:33

我来回答

1个回答

热心网友 时间:2022-06-17 17:17

有个Excel表格公式,能满足你的要求。 一、用EXCEL进行高斯投影换算 从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或从XY换算成BL(高斯投影反算),一般需要专用计算机软件完成,在目前流行的换算软件中,存在一个共同的不足之处,就是灵活性较差,大都需要一个点一个点地进行,不能成批量地完成,给实际工作带来许多不便。笔者发现,用EXCEL可以很直观、方便地完成坐标换算工作,不需要编制任何软件,只需要在EXCEL的相应单元格中输入相应的公式即可。下面以54系为例,介绍具体的计算方法。 完成经纬度BL到平面直角坐标XY的换算,在EXCEL中大约需要占用21列,当然读者可以通过简化计算公式或考虑直观性,适当增加或减少所占列数。在EXCEL中,输入公式的起始单元格不同,则反映出来的公式不同,以公式从第2行第1列(A2格)为起始单元格为例,各单元格的公式如下: 单元格 单元格内容 说明 A2 输入*子午线,以度.分秒形式输入,如115度30分则输入115.30 起算数据L0 B2 =INT(A2)+(INT(A2*100)-INT(A2)*100)/60+(A2*10000-INT(A2*100)*100)/3600 把L0化成度 C2 以度小数形式输入纬度值,如38°14′20〃则输入38.1420 起算数据B D2 以度小数形式输入经度值 起算数据L E2 =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-B2 L-L0 H2 =G2/57.2957795130823 化作弧度 I2 =TAN(RADIANS(E2)) Tan(B) J2 =COS(RADIANS(E2)) COS(B) K2 =0.006738525415*J2*J2 L2 =I2*I2 M2 =1+K2 N2 =6399698.9018/SQRT(M2) O2 =H2*H2*J2*J2 P2 =I2*J2 Q2 =P2*P2 R2 =(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 计算结果X T2=((((L2-18)*L2-(58*L2-14)*K2+5)*O2/20+M2-L2)*O2/6+1)*N2*(H2*J2) 计算结果Y 表中公式的来源及EXCEL软件的操作方法,请参阅有关资料,这里不再赘述。按上面表格中的公式输入到相应单元格后,就可方便地由经纬度求得平面直角坐标。当输入完所有的经纬度后,用鼠标下拉即可得到所有的计算结果。表中的许多单元格公式为中间过程,可以用EXCEL的列隐藏功能把这些没有必要显示的列隐藏起来,表面上形成标准的计算报表,使整个计算表简单明了。从理论上讲,可计算的数据量是无限的,当第一次输入公式后,相当于自己完成了一软件的编制,可另存起来供今后重复使用,一劳永逸。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com