qt代码实现计算两个经纬度之间的距离
时间: 2023-11-09 16:07:01 浏览: 188
以下是一个简单的qt代码实现,用于计算两个经纬度之间的距离:
```cpp
#include <QtCore/QCoreApplication>
#include <QtCore/QtMath>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
double lat1 = 37.7749; // 纬度1
double lon1 = -122.4194; // 经度1
double lat2 = 40.7128; // 纬度2
double lon2 = -74.0060; // 经度2
double R = 6371.0; // 地球半径(千米)
// 将经纬度转换为弧度
double lat1_rad = qDegreesToRadians(lat1);
double lon1_rad = qDegreesToRadians(lon1);
double lat2_rad = qDegreesToRadians(lat2);
double lon2_rad = qDegreesToRadians(lon2);
// 计算两点之间的距离(千米)
double dlon = lon2_rad - lon1_rad;
double dlat = lat2_rad - lat1_rad;
double a = qPow(qSin(dlat / 2), 2) + qCos(lat1_rad) * qCos(lat2_rad) * qPow(qSin(dlon / 2), 2);
double c = 2 * qAtan2(qSqrt(a), qSqrt(1 - a));
double distance = R * c;
qDebug() << "距离:" << distance << "千米";
return a.exec();
}
```
在这个示例中,我们使用了一个简单的公式来计算两个经纬度之间的距离。该公式基于球体上的两点之间的大圆距离公式,其中球体的半径为地球半径(千米)。首先将经纬度转换为弧度,然后使用公式计算两点之间的距离。
阅读全文