2022-11-24 02:55来源:m.sf1369.com作者:宇宇
使用EXCEL来设计一个计算xy坐标的长度:
1、首先先设置以下相关计算要素:坐标1、坐标2、勾边、股边、长度——长度就是我们要求的结果。
2、接着输入XY坐标值,分别在x1、y1、x2、y2列输入相关数据。
3、选择E3单元格——输入公式计算勾边:=C3-A3——按回车确定。
4、点击选择F3单元格——输入计算股边公式:=D3-B3——按回车确定。
5、选择G3单元格,输入计算xy坐标长度公式,即弦平方开根公式:=SQRT(E3^2+F3^2)。
6、注意,EXCEL中输入平方按shift+6键,输入“^”符号,再输入2,就是某个数的平方了。由此即可成功算出xy坐标的长度。
在地球上同一条经线上纬度相差一度,实际距离是111公里;在赤道经度相差一度,实际距离是111公里,在其他的纬线上,经度每相差一度,实际距离是111*经度数*cos经度数,例如在北纬30度,经度相差5度,实际距离是:111*5*cos30度。
一般计算器的超欠挖计算是根据实测坐标及高程推算测点里程及偏距,然后与设计偏距和高程对比得出excel表由坐标反算里程偏距就很困难,如果只是根据里程偏距对比高程的话还可以
下面以54坐标系为例,介绍具体的计算方法。
完成经纬度BL到平面直角坐标XY的换算。在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
按上面表格中的公式输入到相应单元格后,就可方便地由经纬度求得平面直角坐标。当输入完所有的经纬度后,用鼠标下拉即可得到所有的计算结果。
原理:
设地球上某点的经度为lambda,纬度为phi,
则这点的空间坐标是
x=cos(phi)*cos(lambda)
y=cos(phi)*sin(lambda)
z=sin(phi)
设地球上两点的空间坐标分别为(x1,y1,z1),(x2,y2,z2)
则它们的夹角为
A=acos(x1*x2+y1*y2+z1*z2),A是角度
则两地距离为
A/180*pi*R,其中R为地球平均半径6371
误差不超过1%
1.打开excel,查看要添加的点的经纬度坐标,打开arcgis,点击Arctoolbox。
2.选择【转换工具】-【excel转表】,添加excel文件,点击【确定】。
3.查看转换后的表发现数据一致,右键鼠标选择【显示XY数据】。
4.X字段表示经度,Y字段表示纬度,点击编辑更改坐标,设置完成后点击【确定】。
分为3步计算:
第1步 分别将两点经纬度转换为三维直角坐标:
假设地球球心为三维直角坐标系的原点,球心与赤道上0经度点的连线为X轴,球心与赤道上东经90度点的连线为Y轴,球心与北极点的连线为Z轴,则地面上点的直角坐标与其经纬度的关系为:
x=R×cosα×cosβ
y=R×cosα×sinβ
z=R×sinα
R为地球半径,约等于6400km;
α为纬度,北纬取+,南纬取-;
β为经度,东经取+,西经取-。
第2步 根据直角坐标求两点间的直线距离(即弦长):
如果两点的直角坐标分别为(x1,y1,z1)和(x2,y2,z2),则它们之间的直线距离为:
L=[(x1-x2)^2+(y1-y2)^2+(z1-z2)^2]^0.5
上式为三维勾股定理,L为直线距离。
第3步 根据弦长求两点间的距离(即弧长):
由平面几何知识可知弧长与弦长的关系为:
S=R×π×2[arc sin(0.5L/R)]/180
上式中角的单位为度,1度=π/180弧度,S为弧长。
按上述的公式自己用程序或者EXCEL表编写一个,方便实用
excel表格中已知两点的从标,求这两点间的距离,将两点坐标分别输入相应的单元格,通过横纵坐标差的平方和再开方即可求得两点距离。
方法步骤如下:
1、打开需要操作的EXCEL表格,将两点坐标(x1,y1)和(x2,y2)分别输入相应单元格中,假设两点为(1,1)和(4,5)。
2、在目标单元格中输入公式=SQRT((C2-A2)^2+(D2-B2)^2)。【自其中SQRT是开方公式,两点距离等于横纵坐标差的平方和开平方】
3、回车完成公式编辑输入即可,返回EXCEL表格,发现在EXCEL中,通过两点的坐标求两点距离公式编辑完成。
可以通过以下方法来计算两点间的经纬度。
1、首先在表格中输入两点的经度跟维度信息。
2、之后再距离单元格中输入=号。
3、在等号之后输入以下公式:6371004*SQRT(POWER(COS(B3*PI()/180)*(C3*PI()/180-A3*PI()/180),2)+POWER((D3*PI()/180-B3*PI()/180),2))。
4、之后就会在距离单元格自动计算出A点跟B点的距离。
大致计算: 同一经线上1纬度差大约等于111km 同一纬线上1经度差大约等于111×(cos纬度)km 已知两点间的纬度差和经度差,则运用勾股定理可求两点间的斜边(因为地球是椭球体,所以实际误差很大) 详细计算: 地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。
如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。如果以0度经线为基 准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。设第一点A的经 纬度为(LonA, LatA),第二点B的经纬度为(LonB, LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90- Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA, MLatA)和(MLonB, MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式: C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB) Distance = R*Arccos(C)*Pi/180 这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile 如果仅对经度作正负的处理,而不对纬度作90-Latitude(假设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是: C = sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(MLonA-MLonB) Distance = R*Arccos(C)*Pi/180 以上通过简单的三角变换就可以推出。如果三角函数的输入和输出都采用弧度值,那么公式还可以写作: C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180) Distance = R*Arccos(C)*Pi/180 也就是: C = sin(LatA/57.2958)*sin(LatB/57.2958) + cos(LatA/57.2958)*cos(LatB/57.2958)*cos((MLonA-MLonB)/57.2958) Distance = R*Arccos(C) = 6371.004*Arccos(C) kilometer = 0.621371192*6371.004*Arccos(C) mile = 3958.758349716768*Arccos(C) mile