aboutsummaryrefslogtreecommitdiff
path: root/src/proj.h
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2017-07-25 11:49:05 +0200
committerGitHub <noreply@github.com>2017-07-25 11:49:05 +0200
commit9b3290c09850893eefaae2d7b8074d4740dcece5 (patch)
treeae86b61d67981e6c4d33e53e4153fb75bb57d313 /src/proj.h
parent59d8ddfa70f4dbf4fd1670094509268d1a9da579 (diff)
downloadPROJ-9b3290c09850893eefaae2d7b8074d4740dcece5.tar.gz
PROJ-9b3290c09850893eefaae2d7b8074d4740dcece5.zip
Expose pj_factors and pj_deriv in public API. (#546)
Expose pj_factors and pj_deriv in public API. proj_derivatives() and proj_factors() has been introduced to the public proj.h API. The new functions are simply wrappers for the original functions. The h argument of the two functions has been omitted in the new wrappers as it does not seem to be used very much (if at all?).
Diffstat (limited to 'src/proj.h')
-rw-r--r--src/proj.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/proj.h b/src/proj.h
index 398368c4..5f165dc5 100644
--- a/src/proj.h
+++ b/src/proj.h
@@ -182,6 +182,12 @@ typedef union PJ_TRIPLET PJ_TRIPLET;
union PJ_COORD;
typedef union PJ_COORD PJ_COORD;
+struct PJ_DERIVS;
+typedef struct PJ_DERIVS PJ_DERIVS;
+
+struct PJ_FACTORS;
+typedef struct PJ_FACTORS PJ_FACTORS;
+
/* Data type for projection/transformation information */
struct PJconsts;
typedef struct PJconsts PJ; /* the PJ object herself */
@@ -269,12 +275,26 @@ struct PJ_OBS {
unsigned int flags; /* additional data, intended for flags */
};
+struct PJ_DERIVS {
+ double x_l, x_p; /* derivatives of x for lambda-phi */
+ double y_l, y_p; /* derivatives of y for lambda-phi */
+};
+
+struct PJ_FACTORS {
+ struct PJ_DERIVS der;
+ double h, k; /* meridional, parallel scales */
+ double omega, thetap; /* angular distortion, theta prime */
+ double conv; /* convergence */
+ double s; /* areal scale factor */
+ double a, b; /* max-min scale error */
+ int code; /* info as to analytics, see following */
+};
+
+
/* The context type - properly namespaced synonym for projCtx */
struct projCtx_t;
typedef struct projCtx_t PJ_CONTEXT;
-
-
/* A P I */
@@ -356,6 +376,8 @@ int proj_has_inverse(PJ *P);
double proj_dmstor(const char *is, char **rs);
char* proj_rtodms(char *s, double r, int pos, int neg);
+PJ_DERIVS proj_derivatives(const PJ *P, const LP lp);
+PJ_FACTORS proj_factors(const PJ *P, const LP lp);
#ifdef __cplusplus
}