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/filemanager.cpp | |
| 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/filemanager.cpp')
| -rw-r--r-- | src/filemanager.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/filemanager.cpp b/src/filemanager.cpp index 5904c4fb..2a5678b7 100644 --- a/src/filemanager.cpp +++ b/src/filemanager.cpp @@ -1848,6 +1848,18 @@ void pj_load_ini(projCtx ctx) { val > 0 ? static_cast<long long>(val) * 1024 * 1024 : -1; } else if (key == "cache_ttl_sec") { ctx->gridChunkCache.ttl = atoi(value.c_str()); + } else if (key == "tmerc_default_algo") { + if (value == "auto") { + ctx->defaultTmercAlgo = TMercAlgo::AUTO; + } else if (value == "evenden_snyder") { + ctx->defaultTmercAlgo = TMercAlgo::EVENDEN_SNYDER; + } else if (value == "poder_engsager") { + ctx->defaultTmercAlgo = TMercAlgo::PODER_ENGSAGER; + } else { + pj_log( + ctx, PJ_LOG_ERROR, + "pj_load_ini(): Invalid value for tmerc_default_algo"); + } } } |
