当前位置:文档之家› excel经纬度转距离公式

excel经纬度转距离公式

excel经纬度转距离公式
知道两个点的经纬度,怎么用excel转换成距离?例如:A(118°19'20",35°4'4");B(118°19'56”,35°4’46”)

======================函数分割线=========================
A1 : 第一点经度 B1 :第一点纬度
A2 : 第二点经度 B2 :第二点纬度
经纬度格式:118°19'20" (度分秒的字符不要搞错)
如:
118°19'20" 35°4'4"
118°19'56" 35°4'46"

计算结果是:1708.610943 米 。当然,将地球视作标准圆球

=6371000*ACOS(COS(RADIANS(SUM(1*LEFT(A2,FIND("°",A2)-1),MID(A2,FIND("°",A2)+1,FIND("'",A2)-FIND("°",A2)-1)/60,RIGHT(LEFT(A2,LEN(A2)-1),LEN(A2)-FIND("'",A2)-1)/3600)-SUM(1*LEFT(A1,FIND("°",A1)-1),MID(A1,FIND("°",A1)+1,FIND("'",A1)-FIND("°",A1)-1)/60,RIGHT(LEFT(A1,LEN(A1)-1),LEN(A1)-FIND("'",A1)-1)/3600)))*COS(RADIANS(SUM(1*LEFT(B2,FIND("°",B2)-1),MID(B2,FIND("°",B2)+1,FIND("'",B2)-FIND("°",B2)-1)/60,RIGHT(LEFT(B2,LEN(B2)-1),LEN(B2)-FIND("'",B2)-1)/3600)-SUM(1*LEFT(B1,FIND("°",B1)-1),MID(B1,FIND("°",B1)+1,FIND("'",B1)-FIND("°",B1)-1)/60,RIGHT(LEFT(B1,LEN(B1)-1),LEN(B1)-FIND("'",B1)-1)/3600))))

==========================算法分割线=========================

假设A点经纬度坐标为(a0,a1),B点经纬度坐标为(b0,b1),地球半径为R。则理论上AB两点间的弧长为 R * arccos[cos(b0-a0) * cos(b1-a1)]

=======================详细算法分割线========================

用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的列隐藏功能把这些没有必要显示的列隐藏起来,表面上形成标准的计算报表,使整个计算表简单明了。从理论上讲,可计算的数据量是无限的,当第一次输入公式后,相当于自己完成了一软件的编制,可另存起来供今后重复使用,一劳永逸。

相关主题
文本预览
相关文档 最新文档