Beispiel #1
0
#define CE3Y 0.8444764006315424029858890519
#define CE3A 1.0
#define CE3B 0.4052847345693510857755178528
#define CK7X 0.8660254037844386467637231707
#define CK7Y 1.0
#define CK7A 0.0
#define CK7B 0.3039635509270133143316383896
#include	<lib_proj.h>
PROJ_HEAD(eck3, "Eckert III") "\n\tPCyl, Sph.";
PROJ_HEAD(putp1, "Putnins P1") "\n\tPCyl, Sph.";
PROJ_HEAD(putp1p, "Putnins P1'") "\n\tPCyl, Sph.";
PROJ_HEAD(wag6, "Wagner VI") "\n\tPCyl, Sph.";
PROJ_HEAD(kav7, "Kavraisky VII") "\n\tPCyl, Sph.";
FORWARD(s_forward); /* spheroid */
	xy.y = P->C_y * lp.phi;
	xy.x = P->C_x * lp.lam * (P->A + proj_sqrt(1. - P->B * lp.phi * lp.phi));
	return (xy);
}
INVERSE(s_inverse); /* spheroid */
	lp.phi = xy.y / P->C_y;
	lp.lam = xy.x / (P->C_x * (P->A + proj_sqrt(1. - P->B * lp.phi * lp.phi)));
	return (lp);
}
FREEUP; if (P) free(P); }
	static PROJ *
setup(PROJ *P) {
	P->es = 0.;
	P->inv = s_inverse;
	P->fwd = s_forward;
	return P;
}
Beispiel #2
0
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#define PROJ_LIB__
# include  <lib_proj.h>
PROJ_HEAD(fahey, "Fahey") "\n\tPcyl, Sph.";
#define TOL 1e-6
FORWARD(s_forward); /* spheroid */
(void) P; /* avoid warning */
xy.y = 1.819152 * ( xy.x = tan(0.5 * lp.phi) );
xy.x = 0.819152 * lp.lam * proj_sqrt(1 - xy.x * xy.x);
return (xy);
}
INVERSE(s_inverse); /* spheroid */
(void) P; /* avoid warning */
lp.phi = 2. * atan(xy.y /= 1.819152);
lp.lam = fabs(xy.y = 1. - xy.y * xy.y) < TOL ? 0. :
         xy.x / (0.819152 * sqrt(xy.y));
return (lp);
}
FREEUP;
if (P) free(P);
}
ENTRY0(fahey) P->es = 0.;
P->inv = s_inverse;
P->fwd = s_forward;