⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pj_nocol.cpp

📁 projapi是一个关于GIS行业投影转换的程序库
💻 CPP
字号:

#include "stdafx.h"

#ifndef lintstatic const char SCCSID[]="@(#)PJ_nocol.c	4.1	94/02/15	GIE	REL";#endif#define PJ_LIB__#include	"projects.h"
#include <math.h>
PROJ_HEAD(nicol, "Nicolosi Globular") "\n\tMisc Sph, no inv.";#define EPS	1e-10FORWARD(s_forward); /* spheroid */	if (fabs(lp.lam) < EPS) {		xy.x = 0;		xy.y = lp.phi;	} else if (fabs(lp.phi) < EPS) {		xy.x = lp.lam;		xy.y = 0.;	} else if (fabs(fabs(lp.lam) - HALFPI) < EPS) {		xy.x = lp.lam * cos(lp.phi);		xy.y = HALFPI * sin(lp.phi);	} else if (fabs(fabs(lp.phi) - HALFPI) < EPS) {		xy.x = 0;		xy.y = lp.phi;	} else {		double tb, c, d, m, n, r2, sp;		tb = HALFPI / lp.lam - lp.lam / HALFPI;		c = lp.phi / HALFPI;		d = (1 - c * c)/((sp = sin(lp.phi)) - c);		r2 = tb / d;		r2 *= r2;		m = (tb * sp / d - 0.5 * tb)/(1. + r2);		n = (sp / r2 + 0.5 * d)/(1. + 1./r2);		xy.x = cos(lp.phi);		xy.x = sqrt(m * m + xy.x * xy.x / (1. + r2));		xy.x = HALFPI * ( m + (lp.lam < 0. ? -xy.x : xy.x));		xy.y = sqrt(n * n - (sp * sp / r2 + d * sp - 1.) /			(1. + 1./r2));		xy.y = HALFPI * ( n + (lp.phi < 0. ? xy.y : -xy.y ));	}	return (xy);}FREEUP; if (P) pj_dalloc(P); }ENTRY0(nicol) P->es = 0.; P->fwd = s_forward; ENDENTRY(P)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -