56 lines
1.1 KiB
C++
56 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <QRectF>
|
|
#include <QString>
|
|
|
|
#include <pointxy.h>
|
|
|
|
namespace LAMPMainWidget
|
|
{
|
|
class CRS
|
|
{
|
|
public:
|
|
CRS() = default;
|
|
virtual ~CRS() = default;
|
|
|
|
public:
|
|
/**
|
|
* 将wgs84的经纬度坐标装换为该坐标系坐标
|
|
* @param point 点坐标
|
|
* @return wgs84坐标
|
|
*/
|
|
virtual PointXY forward(const PointXY& point) const;
|
|
|
|
/**
|
|
* 将该坐标系坐标转换为wgs84的经纬度坐标
|
|
* @param point 点坐标
|
|
* @return wgs84坐标
|
|
*/
|
|
virtual PointXY inverse(const PointXY& point) const;
|
|
|
|
/**
|
|
* 返回该坐标系在proj4中的转换公式
|
|
* @return 转换公式的字符串
|
|
*/
|
|
virtual QString proj4Cvt() const = 0;
|
|
|
|
/**
|
|
* 返回该坐标系的wkt定义
|
|
* @return 坐标系的wkt定义字符串
|
|
*/
|
|
virtual QString wktDef() const = 0;
|
|
|
|
/**
|
|
* 返回该坐标系的proj4定义
|
|
* @return proj4的定义字符串
|
|
*/
|
|
virtual QString proj4Def() const = 0;
|
|
|
|
/**
|
|
* 返回该坐标系的整个投影大小
|
|
* @return 投影的整个大小
|
|
*/
|
|
virtual QRectF extent() const = 0;
|
|
};
|
|
}
|