diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-04-14 17:17:55 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-04-15 01:07:18 +0200 |
| commit | 964569728722e9e91f152410a4747a0ba078bd84 (patch) | |
| tree | 54369133947916e20bbe9004eb16857f3f1b72cd /src/proj_internal.h | |
| parent | 5b017a8a78acc1f8b086ae339ecec257ee9d9684 (diff) | |
| download | PROJ-964569728722e9e91f152410a4747a0ba078bd84.tar.gz PROJ-964569728722e9e91f152410a4747a0ba078bd84.zip | |
tmerc/utm: add a +algo=auto/evenden_snyder/poder_engsager parameter
The default remains +alg=poder_engsager.
This default value can be changed in proj.ini
+algo=auto will use Evenden Synder implementation if the error in
doing so remains below 0.1 mm on Earth-sized ellipsoid
Diffstat (limited to 'src/proj_internal.h')
| -rw-r--r-- | src/proj_internal.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/proj_internal.h b/src/proj_internal.h index c102d910..253c647b 100644 --- a/src/proj_internal.h +++ b/src/proj_internal.h @@ -339,6 +339,13 @@ struct CoordOperation } }; +enum class TMercAlgo +{ + AUTO, // Poder/Engsager if far from central meridian, otherwise Evenden/Snyder + EVENDEN_SNYDER, + PODER_ENGSAGER, +}; + /* base projection data structure */ struct PJconsts { @@ -741,6 +748,8 @@ struct projCtx_t { int projStringParserCreateFromPROJStringRecursionCounter = 0; // to avoid potential infinite recursion in PROJStringParser::createFromPROJString() + TMercAlgo defaultTmercAlgo = TMercAlgo::PODER_ENGSAGER; // can be overriden by content of proj.ini + projCtx_t() = default; projCtx_t(const projCtx_t&); ~projCtx_t(); |
