【GPS】 根据GPS坐标求取两点间距离算法

 以下为通过经纬度坐标值求取两点间距离的算法,计算通过c++实现,在计算过程中已考虑到地球的弧度,经验证算法正确可行,精度为0.001米。

#include "pch.h"
#include <iostream>
#define _USE_MATH_DEFINES
#include <math.h>
#include <iomanip>

using namespace std;

double Earth_Radius = 6378.137;
double OutDistance = 0;
double OutAzimuth  = 0;

double Angle2Rad(double Angle)
{
	return Angle * M_PI / 180.0;
}

double Rad2Angle(double Rad)
{
	return Rad * 180.0 / M_PI;
}

/* Lat:纬度		 Lng:经度 */
void GetDistance(double Lat1, double Lng1, double Lat2, double Lng2,double *P_OutDistance,double *P_OutAzimuth) 
{
	double RadLat1 = Angle2Rad(Lat1);
	double RadLat2 = Angle2Rad(Lat2);
	double RadLng1 = Angle2Rad(Lng1);
	double RadLng2 = Angle2Rad(Lng2);

	double Lat_Dif = RadLat1 - RadLat2;
	double Lng_Dif = RadLng1 - RadLng2;

	/**----------- Calculate Distance-----------**/
	double Distance = 2 * a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值