From 964569728722e9e91f152410a4747a0ba078bd84 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 14 Apr 2020 17:17:55 +0200 Subject: 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 --- docs/source/operations/projections/tmerc.rst | 15 +++++++++++++++ docs/source/operations/projections/utm.rst | 15 +++++++++++++++ docs/source/resource_files.rst | 8 ++++++++ 3 files changed, 38 insertions(+) (limited to 'docs/source') diff --git a/docs/source/operations/projections/tmerc.rst b/docs/source/operations/projections/tmerc.rst index 2866517b..cf428cff 100644 --- a/docs/source/operations/projections/tmerc.rst +++ b/docs/source/operations/projections/tmerc.rst @@ -83,6 +83,21 @@ Parameters It is faster than the default algorithm, but also diverges faster as the distance from the central meridian increases. +.. option:: +algo=auto/evenden_snyder/poder_engsager + + .. versionadded:: 7.1 + + Selects the algorithm to use. The hardcoded value and the one defined in + :ref:`proj-ini` default to ``poder_engsager``, that is the most precise + one. + + When using auto, a heuristics based on the input coordinate to transform + is used to determine if the faster Evenden-Snyder method can be used, for + faster computation, without causing an error greater than 0.1 mm (for an + ellipsoid of the size of Earth) + + Note that :option:`+approx` and :option:`+algo` are mutually exclusive. + .. include:: ../options/lon_0.rst .. include:: ../options/lat_0.rst diff --git a/docs/source/operations/projections/utm.rst b/docs/source/operations/projections/utm.rst index b45dafc1..82715a02 100644 --- a/docs/source/operations/projections/utm.rst +++ b/docs/source/operations/projections/utm.rst @@ -76,6 +76,21 @@ Optional Use faster, less accurate algorithm for the Transverse Mercator. +.. option:: +algo=auto/evenden_snyder/poder_engsager + + .. versionadded:: 7.1 + + Selects the algorithm to use. The hardcoded value and the one defined in + :ref:`proj-ini` default to ``poder_engsager``, that is the most precise + one. + + When using auto, a heuristics based on the input coordinate to transform + is used to determine if the faster Evenden-Snyder method can be used, for + faster computation, without causing an error greater than 0.1 mm (for an + ellipsoid of the size of Earth) + + Note that :option:`+approx` and :option:`+algo` are mutually exclusive. + .. include:: ../options/ellps.rst Further reading diff --git a/docs/source/resource_files.rst b/docs/source/resource_files.rst index 19dab1b4..cef22f84 100644 --- a/docs/source/resource_files.rst +++ b/docs/source/resource_files.rst @@ -107,6 +107,14 @@ Its default content is: cache_ttl_sec = 86400 + ; Transverse Mercator (and UTM) default algorithm: auto, evenden_snyder or poder_engsager + ; * evenden_snyder is the fastest, but less accurate far from central meridian + ; * poder_engsager is slower, but more accurate far from central meridian + ; * default will auto-select between the two above depending on the coordinate + ; to transform and will use evenden_snyder if the error in doing so is below + ; 0.1 mm (for an ellipsoid of the size of Earth) + tmerc_default_algo = poder_engsager + Transformation grids ------------------------------------------------------------------------------- -- cgit v1.2.3