You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
//文件: Projection.cpp
|
|
//主要功能:
|
|
// 投影转换
|
|
//
|
|
//程序编写: 2008-11-09
|
|
//
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#if !defined(AFX_PROJECTION_H__D6B2F225_8EE9_456C_91CD_ED39DE6F5D8A__INCLUDED_)
|
|
#define AFX_PROJECTION_H__D6B2F225_8EE9_456C_91CD_ED39DE6F5D8A__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
#include "Ellipsoid.h"
|
|
|
|
//***************************** 兰勃特(双标准纬线等角圆锥)投影 *******************
|
|
class AFX_EXT_CLASS CProjectionLambert : public CEllipsoid
|
|
{
|
|
public:
|
|
CProjectionLambert();
|
|
virtual ~CProjectionLambert();
|
|
|
|
int Create(double B1, double B2, double BS=0);
|
|
CProjectionLambert& operator =(CProjectionLambert &pl);
|
|
|
|
void GetBL(double &x,double &y);
|
|
void GetXY(double &B,double &L);
|
|
|
|
int GetB(double q,double &B);
|
|
double Radius(double B);
|
|
double EquateRadius(double B);
|
|
double EquateLatitude(double B);
|
|
|
|
double alfa,K,ps;
|
|
};
|
|
|
|
#endif // !defined(AFX_PROJECTION_H__D6B2F225_8EE9_456C_91CD_ED39DE6F5D8A__INCLUDED_)
|