关于经纬度的两个计算[Teaks&xgluxv]

一、
子午线周长(公里)
 40008.548
 
赤道周长(公里)
 40075.704

纬度
40008.548 / 360(度) = 111.135 公里/度
40008.548 / (360*60)(分) = 1.85 公里/分
40008.548 / (360*60*60)(秒) = 30.87 米/秒

经度
首先算相应经度位置的纬度圈长度=40075.704 * cos(经度)
然后方法相同,除度数就成
于是,比如北京40度
40075.704 * cos(40) = 30699.77
40075.704 * cos(40) / 360(度) = 85.277 公里/度
40075.704 * cos(40) / 360*60)(分) = 1.42 公里/分
40075.704 * cos(40) / 360*60*60)(秒) = 23.688 米/秒

附:
cos(a) = sin(90-a)
二、计算两个点之间的距离 知道两个点的经度和纬度
这个我用c#写了一个函数

None.gif          public   static   double  GetDistance( double  ox,  double  oy,  double  dx,  double  dy)
ExpandedBlockStart.gif         {
InBlock.gif            double wd1 = ox;
InBlock.gif            double wd2 = dx;
InBlock.gif            double jd1 = oy;
InBlock.gif            double jd2 = dy;
InBlock.gif            double R = 6.371229 * 1000000.0;
InBlock.gif            double x,y,outdis;
InBlock.gif            x = (jd2 - jd1) * Math.PI * R * Math.Cos(((wd1 + wd2) / 2) * Math.PI / 180) / 180;
InBlock.gif            y = (wd2 - wd1) * Math.PI * R / 180;
InBlock.gif            outdis = Math.Sqrt(x * x + y * y);
InBlock.gif            return outdis / 1000;
ExpandedBlockEnd.gif        }

ox,oy是起始点的经纬度,dx,dy是终点的经纬度 输出是公里数
这里我们都把地球作为理想状态的,而且还是近似计算
自己做个记录。

路漫漫其修远兮 吾将上下而求索


本文转自 lu xu 博客园博客,原文链接: http://www.cnblogs.com/dotLive/archive/2006/07/24/458438.html  ,如需转载请自行联系原作者


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值