要使用Qt计算已知经纬度A到已知经纬度B之间的距离,可以使用Haversine公式。Haversine公式是一种用于计算两个经纬度之间距离的方法,它假设地球是一个完美的球体。
下面是一个使用Qt的示例代码,用于计算两个经纬度之间的距离:
#include <QtMath>
const double EARTH_RADIUS_KM = 6371.0;
// 计算弧度
double toRadians(double degrees) {
return degrees * M_PI / 180.0;
}
// 使用Haversine公式计算两个经纬度之间的距离(以千米为单位)
double haversineDistance(double latitude1, double longitude1,
double latitude2, double longitude2) {
double dLat = toRadians(latitude2 - latitude1);
double dLon = toRadians(longitude2 - longitude1);
double a = qSin(dLat / 2) * qSin(dLat / 2) +
qCos(toRadians(latitude1)) * qCos(toRadians(latitude2)) *
qSin(dLon / 2) * qSin(dLon / 2);
double c = 2 * qAtan2(qSqrt(a), qSqrt(1 - a));
double distance = EARTH_RADIUS_K