pj_deriv.cpp

来自「projapi是一个关于GIS行业投影转换的程序库」· C++ 代码 · 共 42 行

CPP
42
字号

#include "stdafx.h"

/* dervative of (*P->fwd) projection */#ifndef lintstatic const char SCCSID[]="@(#)pj_deriv.c	4.4	93/06/12	GIE	REL";#endif#define PJ_LIB__#include "projects.h"
#include <math.h>
	int pj_deriv(LP lp, double h, PJ *P, struct DERIVS *der) 
{	XY t;	lp.lam += h;	lp.phi += h;	if (fabs(lp.phi) > HALFPI) return 1;	h += h;	t = (*P->fwd)(lp, P);	if (t.x == HUGE_VAL) return 1;	der->x_l = t.x; der->y_p = t.y; der->x_p = -t.x; der->y_l = -t.y;	lp.phi -= h;	if (fabs(lp.phi) > HALFPI) return 1;	t = (*P->fwd)(lp, P);	if (t.x == HUGE_VAL) return 1;	der->x_l += t.x; der->y_p -= t.y; der->x_p += t.x; der->y_l -= t.y;	lp.lam -= h;	t = (*P->fwd)(lp, P);	if (t.x == HUGE_VAL) return 1;	der->x_l -= t.x; der->y_p -= t.y; der->x_p += t.x; der->y_l += t.y;	lp.phi += h;	t = (*P->fwd)(lp, P);	if (t.x == HUGE_VAL) return 1;	der->x_l -= t.x; der->y_p += t.y; der->x_p -= t.x; der->y_l += t.y;	der->x_l /= (h += h);	der->y_p /= h;	der->x_p /= h;	der->y_l /= h;	return 0;}

⌨️ 快捷键说明

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