博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于经纬度的两个计算[Teaks&xgluxv]
阅读量:5950 次
发布时间:2019-06-19

本文共 890 字,大约阅读时间需要 2 分钟。

一、

子午线周长(公里)
 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.gifContractedBlock.gif        
dot.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是终点的经纬度 输出是公里数

这里我们都把地球作为理想状态的,而且还是近似计算
自己做个记录。

转载地址:http://uzsxx.baihongyu.com/

你可能感兴趣的文章
[cocos2dx]COCOS2D-X 关于 fatal error C1083: 无法打开包括文件:“CCStdC.h” 的问题
查看>>
快速掌握一门常用语言的50%
查看>>
误删除根目录
查看>>
你被定制化了吗?
查看>>
InputStreamReader和FileReader的一个区别
查看>>
Log4j 2.x入门
查看>>
检测tomcat假死时重新启动及邮件通知
查看>>
java.math.BigDecimal cannot be cast to java.lang.String ----解决方案
查看>>
ibatis一些使用小记
查看>>
手动创建Web项目
查看>>
vbox share file between guest with host
查看>>
maven项目部署到Repository(Nexus)
查看>>
oracle序列的两个参数:nextval和currval简介
查看>>
我的友情链接
查看>>
Java_InvokeAll_又返回值_多个线程同时执行,取消超时线程
查看>>
我的javascipt工具包(V1.0.3)
查看>>
docker数据卷(volume)
查看>>
kvm 静态迁移、动态迁移(基于nfs和后端镜像)
查看>>
Eclipse插件:Eclipse Color Theme
查看>>
cat_all.php
查看>>