satdump/src-core/projection/standard/webmerc.cpp

40 lines
921 B
C++
Raw Permalink Normal View History

2024-02-29 14:50:00 +01:00
#include "webmerc.h"
namespace proj
{
namespace
{
struct projection_webmerc_t
{
};
}
bool projection_webmerc_setup(projection_t *proj)
{
projection_webmerc_t *ptr = (projection_webmerc_t *)malloc(sizeof(projection_webmerc_t));
proj->proj_dat = ptr;
return false;
}
2025-01-12 20:25:45 +01:00
bool projection_webmerc_fwd(const projection_t *proj, double lam, double phi, double *x, double *y)
2024-02-29 14:50:00 +01:00
{
2024-03-09 23:26:14 -05:00
// projection_webmerc_t *ptr = (projection_webmerc_t *)proj->proj_dat;
2024-02-29 14:50:00 +01:00
*x = proj->k0 * lam;
*y = proj->k0 * asinh(tan(phi));
return false;
}
2025-01-12 20:25:45 +01:00
bool projection_webmerc_inv(const projection_t *proj, double x, double y, double *lam, double *phi)
2024-02-29 14:50:00 +01:00
{
2024-03-09 23:26:14 -05:00
// projection_webmerc_t *ptr = (projection_webmerc_t *)proj->proj_dat;
2024-02-29 14:50:00 +01:00
*phi = atan(sinh(y / proj->k0));
*lam = x / proj->k0;
return true;
}
2024-03-09 23:26:14 -05:00
}