知道兩點經緯度,計算雙方距離與方向的原理

2021-09-08 14:25:49 字數 937 閱讀 9086

根據經緯度計算距離及方向,查詢了網上的一些資料,經過驗證是可行的,在這裡做一些分享。

1.距離及方向解算原理

由於地球是球體,根據:弧長=曲率半徑*弧度,可以求出弧長(相當於雙方距離),曲率半徑已知(這裡設為地球半徑),弧度需要根據雙方經緯度解算,求解流程如下:

一.獲取雙方經緯度,可解出雙方距離。

二.根據雙方經緯度,解算出雙方在地心座標系下座標。

三.根據雙方地心座標系,解算對方相對於我方的位置向量。

四.根據位置向量,解算對方相對於我方俯仰角及方位角。

注意:最後計算出的方位角處於東北天座標系下,x軸指向正東,y軸指向正北,z軸指向天。

2.c語言**

/**************************

功能:根據經緯度計算距離

***************************/

float distance_calabrate(double *gps_msg)

typedef struct earth_center

earth_center_st;

earth_center_st earth_center_1=;

/**************************

功能:計算兩點地心座標系下座標

***************************/

void earth_center_location(double *gps_msg)

/**************************

功能:計算對方相對於我方方位角

***************************/

float euler_angle_calculate(earth_center_st earth_center,double *gps_msg)

3.應用場合

對方距離及方位角計算。

給定經緯度計算距離 根據兩點經緯度計算距離

根據兩點經緯度計算距離 這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地 球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩 極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多和赤道平行的圓圈,就是 緯 圈 構成這些圓圈的...

根據兩點經緯度計算距離

這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多和赤道平行的圓圈,就是 緯圈 構成這些圓圈的線段,叫做緯線。我們把赤道定為...

根據兩點經緯度計算距離

android sdk 中提供了location類裡面有計算兩點之間的距離這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多...