- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地球上两点的经纬度计算他们距离的公式.doc
假设地球是一个标准球体,半径为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*{arccos[cosb*cosy*cos(a-x)+sinb*siny]} 注:1.x,y,a,b都是角度,最后结果中给出的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的最大边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/60=1.8553258km=1855.3m 而每一分又有60秒,每一秒就代表1855.3m/60=30.92m 任意两点距离计算公式为 d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB—λA)]} 其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。 至于比例尺计算就不废话了 //这是主函数 ? ? double ? CChartCtrl::CalcltDstns(float ? fStarPtx, ? float ? fStarPty, ? float ? fEndPtx, ? float ? fEndPty) ? ? { ? ? //已知起始点坐标(fStartPtx, ? fStartPty)及到达点坐标(fEndPtx,fEndPty) ? ? //计算航程dbDstns. ? ? //起始点,到达点坐标:经纬度 ? ? //航程:海里(1852米) ? ? //Created ? by ? zhl ? ? //2002.7.3 ? ? //precision:0.0001 ? 海里 ? ? //check ? param ? ? double ? dbDir=CalcltDirct(fStarPtx,fStarPty,fEndPtx,fEndPty); ? ? ? ? double ? delta_fy=fEndPtx-fStarPtx; ? ? double ? delta_lnmg=fEndPty-fStarPty; ? ? ? ? int ? mk=(int)fEndPtx*(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 ? delta_l=(1852.2-9.3*cos(fy_m*M_PI/180+fy_m*M_PI/180)) ? ? *delta_fy*60/1852; ? ? ? ? if((dbDir80dbDir100)||(dbDir260dbDir280)) ? ? {//东西向 ? ? dbDstns=1.00181*delta_lnmg*60*cos(fy_m*M_PI/180)* ? ? sqrt(1-e2*sin(fy_m
文档评论(0)