https://github.com/cran/RandomFields
Tip revision: 7815c2ef255191a7b8739b07a90ddd66f443dfd8 authored by Martin Schlather on 28 February 2019, 21:42:20 UTC
version 3.3.4
version 3.3.4
Tip revision: 7815c2e
Coordinate_systems.h
/*
Authors
Martin Schlather, schlather@math.uni-mannheim.de
Copyright (C) 2015 -- 2017 Martin Schlather
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef Coordinates_H
#define Coordinates_H 1
#include "RF.h"
#define piD180 (M_PI * 0.00555555555555555555555)
#define H80Dpi (180.0 * INVPI)
void stat2(double *x, model *cov, double *v);
void nonstat2(double *x, double *y, model *cov, double *v);
void logstat2(double *x, model *cov, double *v, double *Sign);
void lognonstat2(double *x, double *y, model *cov, double *v,
double *Sign);
void D_2(double *x, model *cov, double *v);
void DD_2(double *x, model *cov, double *v);
//int check2(model *cov);
void inverse2(double *x, model *cov, double *v);
void nonstatinverse2(double *v, model *cov, double *left, double *right);
void nonstat_loginverse2(double *v, model *cov, double *x, double *y);
//int struct2(model *cov, model **newmodel);
int struct2(model *cov, model **newmodel);
int init2(model *cov, gen_storage *s);
void do2(model *cov, gen_storage *s);
void dorandom2(model *cov, double *v);
void EarthIso2EarthIso(double *x);
void Earth2Earth(double *x);
void NonstatEarth2EarthIso(double *x, double *y, model *cov, double *v);
void NonstatEarth2Earth(double *x, double *y, model *cov, double *v, double *);
void EarthIso2SphereIso(double *x, model *cov, double *v);
void NonstatEarth2SphereIso(double *x, double *y, model *cov, double *v);
void Earth2Sphere(double *x, model *cov, double *v);
void NonstatEarth2Sphere(double *x, double *y, model *cov, double *v, double *);
void SphereIso2SphereIso(double *x);
void NonstatSphere2SphereIso(double *x, double *y, model *cov, double *v);
void Sphere2Sphere(double *x);
void NonstatSphere2Sphere(double *x, double *y, model *cov, double *v, double *);
void EarthKM2CartStat(double *x, model *cov, double *v);
void EarthKM2Cart(double *x, double *y, model *cov, double *v, double *);
void EarthMiles2CartStat(double *x, model *cov, double *v);
void EarthMiles2Cart(double *x, double *y, model *cov, double *v, double *);
int checkEarth(model *cov);
void EarthKM2OrthogStat(double *x, model *cov, double *v);
void EarthKM2Orthog(double *x, double *y, model *cov, double *v, double *);
void EarthMiles2OrthogStat(double *x, model *cov, double *v);
void EarthMiles2Orthog(double *x, double *y, model *cov, double *v, double *);
void Earth2GnomonicStat(double *x, model *cov, double *v);
void Earth2Gnomonic(double *x, double *y, model *cov, double *v, double *);
double mod(double x, double modulus);
double lonmod(double x, double modulus);
double latmod(double x, double modulus);
void statmod2(double *x, double lon, double lat, double *y);
// ACHTUNG! Nachfolgend nicht (ZZ) !!
#define STATMODE_BASE(X, ZZ, lon, lat) \
(X)[0]=lonmod(ZZ[0], lon); \
(X)[1]=latmod(ZZ[1], lat) \
void statmod2(double *x, double lon, double lat, double *y); // 2dim only
#define radiuskm_aequ 6378.1
#define radiuskm_pol 6356.8
#define radiusmiles_aequ 3963.17
#define radiusmiles_pol 3949.93
void Earth2Cart(model *cov, double RAEQU, double RPOL, double *y);
coord_sys_enum GetCoordSystem(isotropy_type iso);
isotropy_type CoordinateSystemOf(isotropy_type iso);
isotropy_type EssentialCoordinateSystemOf(isotropy_type iso);
isotropy_type SymmetricOf(isotropy_type iso);
isotropy_type IsotropicOf(isotropy_type iso);
coord_sys_enum SearchCoordSystem(model *cov, coord_sys_enum os,
coord_sys_enum n_s);
#endif