构造函数中Ec,Ed是什么意思?

xy21yue 2009-09-11 05:06:31
#define PI 3.14159265;

#endif
static double Rc = 6378137; // 赤道半径

static double Rj = 6356725; // 极半径

namespace CDYW{




class JWD
{
public:
double m_LoDeg, m_LoMin, m_LoSec; // longtitude 经度
double m_LaDeg, m_LaMin, m_LaSec;
double m_Longitude, m_Latitude;
double m_RadLo, m_RadLa;
double Ec;
double Ed;
public:
// 构造函数, 经度: loDeg 度, loMin 分, loSec 秒; 纬度: laDeg 度, laMin 分, laSec秒
JWD(double loDeg, double loMin, double loSec, double laDeg, double laMin, double laSec)
{
m_LoDeg=loDeg; m_LoMin=loMin; m_LoSec=loSec; m_LaDeg=laDeg; m_LaMin=laMin; m_LaSec=laSec;
m_Longitude = m_LoDeg + m_LoMin / 60 + m_LoSec / 3600;
m_Latitude = m_LaDeg + m_LaMin / 60 + m_LaSec / 3600;
m_RadLo = m_Longitude * PI / 180.;
m_RadLa = m_Latitude * PI / 180.;
Ec = Rj + (Rc - Rj) * (90.- m_Latitude) / 90.;
Ed = Ec * cos(m_RadLa);
}



构造函数中Ec,Ed是什么意思?
...全文
6837 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgogo 2009-09-14
  • 打赏
  • 举报
回复
Ec和Ed应该是两个距离。

Ec是当前点到中轴的距离,Ed可能是当前点到球心的距离。

我数学不好,你再确定一下吧。

MoXiaoRab 2009-09-14
  • 打赏
  • 举报
回复
鬼知道什么意思
xy21yue 2009-09-14
  • 打赏
  • 举报
回复
我是要计算B点经纬度。
已知A点经纬度和B相对A的方位。


上面程序是我从网上拷的
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;

#ifndef PI

#define PI 3.14159265;

#endif
static double Rc = 6378137; // 赤道半径

static double Rj = 6356725; // 极半径

namespace CDYW{




class JWD
{
public:
double m_LoDeg, m_LoMin, m_LoSec; // longtitude 经度
double m_LaDeg, m_LaMin, m_LaSec;
double m_Longitude, m_Latitude;
double m_RadLo, m_RadLa;
double Ec;
double Ed;
public:
// 构造函数, 经度: loDeg 度, loMin 分, loSec 秒; 纬度: laDeg 度, laMin 分, laSec秒
JWD(double longitude, double latitude)
{
m_LoDeg = int(longitude);
m_LoMin = int((longitude - m_LoDeg)*60);
m_LoSec = (longitude - m_LoDeg - m_LoMin/60.)*3600;

m_LaDeg = int(latitude);
m_LaMin = int((latitude - m_LaDeg)*60);
m_LaSec = (latitude - m_LaDeg - m_LaMin/60.)*3600;

m_Longitude = longitude;
m_Latitude = latitude;
m_RadLo = longitude * PI/180.;
m_RadLa = latitude * PI/180.;
Ec = Rj + (Rc - Rj) * (90.-m_Latitude) / 90.;
Ed = Ec * cos(m_RadLa);
}


//! 已知点A经纬度,根据B点据A点的距离,和方位,求B点的经纬度
/*!
* \param A 已知点A
* \param distance B点到A点的距离
* \param angle B点相对于A点的方位
* \return B点的经纬度坐标
*/
static JWD GetJWDB(JWD A, double distance, double angle)
{
double dx = distance*1000 * sin(angle * PI /180.);
double dy = distance*1000 * cos(angle * PI /180.);

//double dx = (B.m_RadLo - A.m_RadLo) * A.Ed;
//double dy = (B.m_RadLa - A.m_RadLa) * A.Ec;



double BJD = (dx/A.Ed + A.m_RadLo) * 180./PI;
double BWD = (dy/A.Ec + A.m_RadLa) * 180./PI;
JWD B(BJD, BWD);
return B;
}



//! 已知点A经纬度,根据B点据A点的距离,和方位,求B点的经纬度
/*!
* \param longitude 已知点A经度
* \param latitude 已知点A纬度
* \param distance B点到A点的距离
* \param angle B点相对于A点的方位
* \return B点的经纬度坐标
*/
static JWD GetJWDB(double longitude, double latitude, double distance, double angle)
{
JWD A(longitude,latitude);
return GetJWDB(A, distance, angle);
}

};
}
#endif

不动如岳 2009-09-11
  • 打赏
  • 举报
回复
你这是要算什么?
不动如岳 2009-09-11
  • 打赏
  • 举报
回复
日,上面定义的。谁知道他是啥意思!

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧