APP下载

浅议利用execl进行坐标换算方法的改进

2009-08-04赵红星吕赞寅

魅力中国 2009年14期
关键词:电子表格经纬度计算结果

赵红星 吕赞寅

中图分类号:TP317.1文献标识码:A文章编号:1673-0992(2009)05-040-01

摘要对利用EXCEL电子表格进行高斯投影换算的方法进行了详细的介绍,提出了一种简单实用的坐标转换方法。

关键词:电子表格;坐标转换

一、引言

随着手持式GPS的逐渐推广,GPS在地质普查、矿业开发等领域的应用越来越广泛,许多时候都需要粗略测定点位坐标,这就涉及到了坐标换算问题。对于非测量专业的工作人员来说,虽然GPS定位操作非常容易,但坐标转换则难以掌握。EXCEL是比较普及的电子表格软件,能够处理较复杂的数学运算,用它来进行GPS坐标转换会非常轻松自如。要进行坐标转换,离不开高斯投影换算,下面介绍用EXCEL进行换算的方法。

二、用EXCEL进行高斯投影换算

从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或从XY换算成BL(高斯投影反算),一般需要专用计算机软件完成,在目前流行的换算软件中,存在有以下的不足之处:

1.个别计算程序设计过于专业,坐标转换参数过多,对于非专业人员来说,难于上手。

2.多数计算程序每次只能计算一个点,计算结果需要手工记录下来,很不方便。

3.坐标转换涉及到推算3度带、6度带中央子午线,以及Y坐标的改化问题,给非专业人员带来不便。

笔者发现,用EXCEL可以很直观、方便地完成坐标换算工作,不需要编制任何软件,只需要在EXCEL的相应单元格中输入相应的公式即可。使用时,输入纬度BL数据后,相应的坐标数据即可计算出来,省去了中间过程。计算成果即可用打印机输出,避免了手工抄录,同时方便了计算机数据存储。下面以54系坐标为例,介绍具体的计算方法。

完成经纬度BL到平面直角坐标XY的换算,在EXCEL中需要占用22列,当然读者可以通过简化计算公式或考虑直观性,适当增加或减少所占列数。在EXCEL中,输入公式的起始单元格不同,则反映出来的公式不同,以公式从第2行第1列(A2格)为起始单元格为例,各单元格的公式如下:

单元格

单元格内容

说明

A2

=U2*3

自动计算出该点所在3度带的中央子午线

B2

=INT(A2)+(INT(A2*100)-INT(A2)*100)/60+(A2*10000-INT(A2*100)*100)/3600

将中央子午线转化为度

C2

以度小数形式输入纬度值,如38°14′20″则输入38.1420

起算数据大地纬度B

D2

以度小数形式输入经度值,如111°35′15″则输入111.3515

起算数据大地经度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的初步结果

U2

=INT((F2-1.5)/3)+1

计算3度带的带号

V2

=U2*1000000+500000+T2

含带号的Y坐标值

表中的许多单元格公式为中间过程,可以用EXCEL的列隐藏功能把这些没有必要显示的列隐藏起来,表面上形成标准的计算报表,使整个计算表简单明了。我们可以隐藏B、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、T列,仅保留A、C、D、S、U、V列。

则A列为中央子午线值,C列为大地纬度值,D列为大地经度值,S列为X坐标值,U列为3度带的带号,V列为Y坐标值。其中C、D列设为数值,小数位数10位;S、V列设为数值,小数位数3位。

表中公式的来源及软件的操作方法,请参阅有关资料,这里不再赘述。按上面表格中的公式输入到相应单元格后,就可方便地由经纬度求得平面直角坐标。当输入完所有的经纬度数值后,用鼠标下拉(即使用EXCEL的填充功能)即可得到所有的计算结果。从理论上讲,可计算的数据量是无限的,当第一次输入公式后,相当于自己完成了一软件的编制,可另存起来供今后重复使用,一劳永逸。

其他坐标系的坐标换算可依照此思路,适当修改计算公式和相关参数值,即可完成。

猜你喜欢

电子表格经纬度计算结果
基于经纬度范围的多点任务打包算法
电子表格的自动化检测
电子表格的自动化检测
趣味选路
扇面等式
电子表格音乐合成器
求离散型随机变量的分布列的几种思维方式
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
在信息科技教学中渗透学科历史的实践与思考