aboutsummaryrefslogtreecommitdiff
path: root/src/proj_api.h
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2001-04-06 01:24:22 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2001-04-06 01:24:22 +0000
commitfb0fd5d4c73d9f5d56631c071d79a7aa85cc81ae (patch)
treea7c3df8f863f052242a8ac77673dfa091ca6ed91 /src/proj_api.h
parent03290c62161865c90163dd314a151d620fad351e (diff)
downloadPROJ-fb0fd5d4c73d9f5d56631c071d79a7aa85cc81ae.tar.gz
PROJ-fb0fd5d4c73d9f5d56631c071d79a7aa85cc81ae.zip
New
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@945 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src/proj_api.h')
-rw-r--r--src/proj_api.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/proj_api.h b/src/proj_api.h
new file mode 100644
index 00000000..9c7e88fd
--- /dev/null
+++ b/src/proj_api.h
@@ -0,0 +1,105 @@
+/******************************************************************************
+ * $Id$
+ *
+ * Project: PROJ.4
+ * Purpose: Public (application) include file for PROJ.4 API, and constants.
+ * Author: Frank Warmerdam, <warmerdam@pobox.com>
+ *
+ ******************************************************************************
+ * Copyright (c) 2001, Frank Warmerdam <warmerdam@pobox.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * 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.
+ ******************************************************************************
+ *
+ * $Log$
+ * Revision 1.1 2001/04/06 01:24:22 warmerda
+ * New
+ *
+ */
+
+/* General projections header file */
+#ifndef PROJ_API_H
+#define PROJ_API_H
+
+/* standard inclusions */
+#include <math.h>
+#include <stdlib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Try to update this every version! */
+#define PJ_VERSION 443
+
+extern char const pj_release[]; /* global release id string */
+
+#define RAD_TO_DEG 57.29577951308232
+#define DEG_TO_RAD .0174532925199432958
+
+
+extern int pj_errno; /* global error return code */
+
+#if !defined(PROJECTS_H)
+ typedef struct { double u, v; } projUV;
+ typedef void *projPJ;
+ #define projXY projUV
+ #define projLP projUV
+#else
+ typedef PJ *projPJ;
+# define projXY XY
+# define projLP LP
+#endif
+
+/* procedure prototypes */
+
+projXY pj_fwd(projLP, projPJ);
+projLP pj_inv(projXY, projPJ);
+
+int pj_transform( projPJ src, projPJ dst, long point_count, int point_offset,
+ double *x, double *y, double *z );
+int pj_datum_transform( projPJ src, projPJ dst, long point_count, int point_offset,
+ double *x, double *y, double *z );
+int pj_geocentric_to_geodetic( double a, double ra,
+ long point_count, int point_offset,
+ double *x, double *y, double *z );
+int pj_geodetic_to_geocentric( double a, double ra,
+ long point_count, int point_offset,
+ double *x, double *y, double *z );
+int pj_compare_datums( projPJ srcdefn, projPJ dstdefn );
+int pj_apply_gridshift( const char *, int,
+ long point_count, int point_offset,
+ double *x, double *y, double *z );
+void pj_deallocate_grids();
+int pj_is_latlong(projPJ);
+void pj_pr_list(projPJ);
+void pj_free(projPJ);
+projPJ pj_init(int, char **);
+projPJ pj_init_plus(const char *);
+projPJ pj_latlong_from_proj( projPJ );
+void *pj_malloc(size_t);
+void pj_dalloc(void *);
+char *pj_strerrno(int);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ndef PROJ_API_H */
+