免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 2178|回复: 11
收起左侧

[经验共享] 根据经纬度计算距离

[复制链接]

88

主题

3345

铜板

3

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
735
发表于 2017-7-27 16:31 | 显示全部楼层 |阅读模式
工作中使用的数据大部分用的是wgs1984坐标系,经常遇到计算两点间距离为多少米这种情况,因此在借鉴朋友的基础上,写了一个计算经纬度距离的方法,只是近似,不是太精确,一般也就够用了

#ifndef LATLONTOKM   
#define LATLONTOKM          0.012238646225171124
#endif

double GetDistance(double dLONG1, double dLAT1, double dLONG2, double dLAT2)
{
    double dDistance;
    double a = (dLONG1 - dLONG2)/cos((dLAT1+dLAT2)/2);
    double b = dLAT1 - dLAT2;
    b /= cos((dLAT1+dLAT2)/2);
    dDistance = sqrt(a*a + b*b);
    dDistance = dDistance/LATLONTOKM * 1000;
    return dDistance;
}

0

主题

1005

铜板

4

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
421
发表于 2017-7-28 08:01 | 显示全部楼层
这个代码程序的后缀名是什么?
回复 支持 反对

使用道具 举报

0

主题

2万

铜板

3

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2086
发表于 2017-7-28 09:55 | 显示全部楼层
一个简单的子程序。


回复 支持 反对

使用道具 举报

0

主题

2万

铜板

15

好友

版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2420

宣传勋章爱心勋章组织勋章优秀斑主地信元老灌水勋章荣誉会员勋章活跃勋章官方团队地信专家组VIP勋章贡献勋章名人堂勋章成就学员勋章

发表于 2017-7-28 16:27 | 显示全部楼层
感谢分享,学习了
回复 支持 反对

使用道具 举报

5

主题

8454

铜板

13

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
705
发表于 2017-7-29 10:18 | 显示全部楼层
是求得两个地理坐标的大地线长度吗
回复 支持 反对

使用道具 举报

10

主题

1万

铜板

19

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3720
发表于 2021-11-13 21:41 | 显示全部楼层
感谢分享!
回复

使用道具 举报

30

主题

2万

铜板

59

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6290
QQ
发表于 2022-1-14 19:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

30

主题

2万

铜板

59

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6290
QQ
发表于 2022-2-14 16:20 | 显示全部楼层
感谢分享
回复

使用道具 举报

15

主题

2万

铜板

39

好友

地信院士

努力加油

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2416

爱心勋章灌水勋章荣誉会员勋章活跃勋章贡献勋章成就学员勋章

发表于 2022-2-14 17:02 | 显示全部楼层
友情帮顶,看看有没有高手
每天都在干活
回复 支持 反对

使用道具 举报

0

主题

1684

铜板

1

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
643
发表于 2022-2-16 11:25 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表