aboutsummaryrefslogtreecommitdiff
path: root/docs/source/development/reference
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2017-10-09 22:48:44 +0200
committerKristian Evers <kristianevers@gmail.com>2017-10-09 22:48:51 +0200
commitf73ec9d887d9cddf014d33a53bf6f87390004a63 (patch)
tree88c70954ab5d5322ffc90afeedf2a1ba58f6b3d8 /docs/source/development/reference
parent0d4ce7814091a716fc835eb3abe3ad41d49f3ee1 (diff)
downloadPROJ-f73ec9d887d9cddf014d33a53bf6f87390004a63.tar.gz
PROJ-f73ec9d887d9cddf014d33a53bf6f87390004a63.zip
Add documentation for datatypes and functions related to internal lists in PROJ.4.
[skip ci]
Diffstat (limited to 'docs/source/development/reference')
-rw-r--r--docs/source/development/reference/datatypes.rst104
-rw-r--r--docs/source/development/reference/functions.rst43
2 files changed, 147 insertions, 0 deletions
diff --git a/docs/source/development/reference/datatypes.rst b/docs/source/development/reference/datatypes.rst
index 7e314dce..85cedea6 100644
--- a/docs/source/development/reference/datatypes.rst
+++ b/docs/source/development/reference/datatypes.rst
@@ -749,6 +749,110 @@ Projection derivatives
Meridian convergence calculated analytically.
+List structures
+-------------------------------------------------------------------------------
+
+.. c:type:: PJ_OPERATIONS
+
+ Description a PROJ.4 operation
+
+ .. code-block:: C
+
+ struct PJ_OPERATIONS {
+ char *id; /* operation keyword */
+ PJ *(*proj)(PJ *); /* operation entry point */
+ char * const *descr; /* description text */
+ };
+
+ .. c:member:: char *id
+
+ Operation keyword.
+
+ .. c:member:: PJ *(*op)(PJ *)
+
+ Operation entry point.
+
+ .. c:member:: char * const *
+
+ Description of operation.
+
+
+.. c:type:: PJ_ELLPS
+
+ Description of ellipsoids defined in PROJ.4
+
+ .. code-block:: C
+
+ struct PJ_ELLPS {
+ char *id;
+ char *major;
+ char *ell;
+ char *name;
+ };
+
+ .. c:member:: char *id
+
+ Keyword name of the ellipsoid.
+
+ .. c:member:: char *major
+
+ Semi-major axis of the ellipsoid, or radius in case of a sphere.
+
+ .. c:member:: char *ell
+
+ Elliptical parameter, e.g. `rf=298.257` or `b=6356772.2`.
+
+ .. c:member:: char *name
+
+ Name of the ellipsoid
+
+.. c:type:: PJ_UNITS
+
+ Distance units defined in PROJ.4.
+
+ .. code-block:: C
+
+ struct PJ_UNITS {
+ char *id; /* units keyword */
+ char *to_meter; /* multiply by value to get meters */
+ char *name; /* comments */
+ double factor; /* to_meter factor in actual numbers */
+ };
+
+ .. c:member:: char *id
+
+ Keyword for the unit.
+
+ .. c:member:: char *to_meter
+
+ Text representation of the factor that converts a given unit to meters
+
+ .. c:member:: char *name
+
+ Name of the unit.
+
+ .. c:member:: double factor
+
+ Conversion factor that converts the unit to meters.
+
+.. c:type:: PJ_PRIME_MERIDIANS
+
+ Prime meridians defined in PROJ.4.
+
+ .. code-block:: C
+
+ struct PJ_PRIME_MERIDIANS {
+ char *id;
+ char *defn;
+ };
+
+ .. c:member:: char *id
+
+ Keyword for the prime meridian
+
+ .. c:member:: char *def
+
+ Offset from Greenwich in DMS format.
Info structures
-------------------------------------------------------------------------------
diff --git a/docs/source/development/reference/functions.rst b/docs/source/development/reference/functions.rst
index daefce4b..10af19d4 100644
--- a/docs/source/development/reference/functions.rst
+++ b/docs/source/development/reference/functions.rst
@@ -396,6 +396,49 @@ Info functions
:type `initname`: const char*
:returns: :c:type:`PJ_INIT_INFO`
+Lists
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. c:function:: const PJ_OPERATIONS* proj_list_operations(void)
+
+ Get a pointer to an array of all operations in PROJ.4. The last entry
+ of the returned array is a NULL-entry. The array is statically allocated
+ and does not need to be freed after use.
+
+ Print a list of all operations in PROJ.4:
+
+ .. code-block:: C
+
+ PJ_OPERATIONS *ops;
+ for (ops = proj_list_operations(); ops->id; ++ops)
+ printf("%s\n", ops->id);
+
+
+ :returns: :c:type:`PJ_OPERATIONS*`
+
+.. c:function:: const PJ_ELLPS* proj_list_ellps(void)
+
+ Get a pointer to an array of ellipsoids defined in PROJ.4. The last entry
+ of the returned array is a NULL-entry. The array is statically allocated
+ and does not need to be freed after use.
+
+ :returns: :c:type:`PJ_ELLPS*`
+
+.. c:function:: const PJ_UNITS* proj_list_units(void)
+
+ Get a pointer to an array of distance units defined in PROJ.4. The last
+ entry of the returned array is a NULL-entry. The array is statically
+ allocated and does not need to be freed after use.
+
+ :returns: :c:type:`PJ_UNITS*`
+
+.. c:function:: const PJ_PRIME_MERIDIANS* proj_list_prime_meridians(void)
+
+ Get a pointer to an array of prime meridians defined in PROJ.4. The last
+ entry of the returned array is a NULL-entry. The array is statically
+ allocated and does not need to be freed after use.
+
+ :returns: :c:type:`PJ_PRIME_MERIDIANS*`
Distances
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++