下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、假设地球是一个标准球体,半径为R,并且假设东经为正,西经为负,北纬为正,南纬为负, 则 A(x,y)的坐标可表示为(R*cosy*cosx, R*cosy*sinx,R*siny) B(a,b)可表示为(R*cosb*cosa ,R*cosb*sina,R*sinb) 于是,AB对于球心所张的角的余弦大小为 cosb*cosy*(cosa*cosx+sina*sinx)+sinb*siny=cosb*cosy*cos(a-x)+sinb*siny 因此AB两点的球面距离为 R*arccoscosb*cosy*cos(a-x)+sinb*siny 注:1.x,y,a,b都是角度,最后结果中给出的
2、arccos因为弧度形式。 2.所谓的“东经为正,西经为负,北纬为正,南纬为负”是为了计算的方便。 比如某点为西京145°,南纬36°,那么计算时可用(-145°,-36°) 3.AB对球心所张角的球法实际上是求<OA>和<OB>两向量的夹角K。 用公式<OA>*<OB>=|OA|*|OB|*cosK 可以得到其中地球平均半径为6371.004 km 假设地球是个标准的球体:半径可以查出来,假设是R:如图:要算出A到B的球面距离,先要求出A跟B的夹角,即角AOB,求角AOB可以先求AOB的最大边
3、AB的长度。在根据余弦定律可以求夹角。AB在三角形AQB中,AQ的长度可以根据AB的纬度之差计算。BQ在三角形BPQ中,BP和PQ可求,角BPQ可以根据两者的经度求出,这样BQ的长度也可以求出来,所以AB的长度是可以求出来的。因为三角形ABQ是直角三角形,已经得到两个边知道了角AOB后,AB的弧长是可以求的。这样推出其公式就不难了 关于用经纬度计算距离: 地球赤道上环绕地球一周走一圈共40075.04公里,而一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的长度计算如下: 40075.04km/360°=111.31955km 111.31955km/6
4、0=1.8553258km=1855.3m 而每一分又有60秒,每一秒就代表1855.3m/60=30.92m 任意两点距离计算公式为 d111.12cos1/sinAsinB十cosAcosBcos(BA) 其中A点经度,纬度分别为A和A,B点的经度、纬度分别为B和B,d为距离。 至于比例尺计算就不废话了/这是主函数 double CChartCtrl:CalcltDstns(float fStarPtx, float fStarPty, float fEndPtx,
5、 float fEndPty) /已知起始点坐标(fStartPtx, fStartPty)及到达点坐标(fEndPtx,fEndPty) /计算航程dbDstns. /起始点,到达点坐标:经纬度 /航程:海里(1852米) /Created by zhl /2002.7.3 /precision:0.0001
6、60; 海里 /check param double dbDir=CalcltDirct(fStarPtx,fStarPty,fEndPtx,fEndPty); double delta_fy=fEndPtx-fStarPtx; double delta_lnmg=fEndPty-fStarPty; int mk=(int)fEnd
7、Ptx*(int)fStarPtx; double fy_m,dbDstns;/ if(mk>=0) /不跨赤道航行 fy_m=(fStarPtx+fEndPtx)/2; else /跨赤道航行 fy_m=fabs(fStarPtx)>fabs(fEndPtx)?fStarPtx/2:fEndPtx/2; double
8、 delta_l=(1852.2-9.3*cos(fy_m*M_PI/180+fy_m*M_PI/180) *delta_fy*60/1852; if(dbDir>80&&dbDir<100)|(dbDir>260&&dbDir<280) /东西向 dbDstns=1.00181*delta_lnmg*60*cos(fy_m*M_PI/180)* sqrt(1-
9、e2*sin(fy_m*M_PI/180)*sin(fy_m*M_PI/180)/ sin(dbDir*M_PI/180); else /南北向 dbDstns=delta_l/cos(dbDir*M_PI/180); return dbDstns; /这是计算两点间航向的函数 double CChartCtrl:Cal
10、cltDirct(float fStarPtx, float fStarPty, float fEndPtx, float fEndPty) /已知起始点坐标(fStartPtx, fStartPty)及到达点坐标(fEndPtx,fEndPty) /计算航向fDirect. /起始点,到达点坐标:经纬度 /航向:角度
11、 /Created by zhl /2002.7.2 /check param CString strErr; strErr.LoadString(IDS_CHK_15002); if(fStarPtx>90.0f|fStarPtx<-90.0f|fStarPty>180.0f |fStarPty<-180.0f|fEndPtx>90.0f|f
12、EndPtx<-90.0f |fEndPty>180.0f|fEndPty<-180.0f) AfxMessageBox(strErr); return -1; double delta_fy=fEndPtx-fStarPtx; double delta_lnmg=fEndPty-fStarPty; /经度差应小于
13、180度 if(delta_lnmg < -180.0) delta_lnmg += 360.0; if(delta_lnmg > 180.0) delta_lnmg -= 360.0; /delta_lnmg > 0.0 从 西 -> 东
14、 delta_lnmg < 0.0 从 东 -> 西 BOOL bGoEast=FALSE,bGoNorth=FALSE; if(delta_lnmg >= 0.0) bGoEast=TRUE; else bGoEast=FALSE; /delta_fy
15、160; > 0.0 从 南 -> 北 delta_fy < 0.0 从 北 -> 南 if(delta_fy>=0.0) bGoNorth=TRUE; else bGoNorth=FALSE; if(delta_fy=
16、0) if(delta_lnmg=0)return 0; return bGoEast?90:270; double d1=7915.7045*(e/2*log10(1-e*sin(fStarPtx*M_PI/180) /(1+e*sin(fStarPtx*M_PI/180) +log10(tan(45+fStarPtx/2)*M_PI/180.0);/纬度渐
17、长率 double d2=7915.7045*(e/2*log10(1-e*sin(fEndPtx*M_PI/180)/ (1+e*sin(fEndPtx*M_PI/180) +log10(tan(45+fEndPtx/2)*M_PI/180.0);/纬度渐长率 double delta_d=d2-d1;/纬度渐长率差(分) double dbDir=atan(delta_lnmg*60/delta_d)*1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋季国家管网集团广西公司高校毕业生招聘笔试参考题库(浓缩500题)及答案详解【夺冠】
- 2025国网浙江省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题附答案详解(研优卷)
- 2025年下半年河北省承德县事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年河北省廊坊市直政府系统事业单位招聘116人重点基础提升(共500题)附带答案详解
- 2025年下半年河北滦平县直和乡镇事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 2026国网天津市电力公司高校毕业生提前批招聘笔试参考题库浓缩500题含答案详解(典型题)
- 2025年下半年河北张家口学院硕博人才引进22人重点基础提升(共500题)附带答案详解
- 2025国家管网集团华中公司高校毕业生招聘考试真题(浓缩500题)含答案详解(培优)
- 2025年下半年河北唐山市古冶区事业单位第二次招聘137人重点基础提升(共500题)附带答案详解
- 2025年下半年河北保定定州市事业单位招聘工作人员410人重点基础提升(共500题)附带答案详解
- 基于传统知识体系的民族医药标准化研究
- 2024年中国香辣酥市场调查研究报告
- 天津市和平区2024-2025学年七年级上期中考试数学试题
- 绵阳市高中2022级(2025届)高三第一次诊断性考试(一诊)生物试卷(含标准答案)
- (正式版)QB∕T 8058-2024 非离子表面活性剂 椰油酰胺MEA
- 山东省济南市高新区2023-2024学年八年级下学期期末物理试题
- 人教版六年级上册数学第一单元《分数乘法》测试卷及完整答案【必刷】
- MOOC 研究生学术规范与学术诚信-南京大学 中国大学慕课答案
- 24春国家开放大学《离散数学》大作业参考答案
- 精神科常见病小讲课
- 今年夏天二部合唱谱
评论
0/150
提交评论