diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2018-12-05 01:11:11 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-12-05 01:11:11 +0100 |
| commit | 06fee25ae66aa6aac9955731b684fc3323de830f (patch) | |
| tree | cefb7cda52293242f99b9ebb803b4ceee87d23f1 /src/coordinateoperation.cpp | |
| parent | 419c3850211447b3a435442662f8fa12efd15cca (diff) | |
| download | PROJ-06fee25ae66aa6aac9955731b684fc3323de830f.tar.gz PROJ-06fee25ae66aa6aac9955731b684fc3323de830f.zip | |
exportToESRI: add tolerance threshold for 32-bit targets
Diffstat (limited to 'src/coordinateoperation.cpp')
| -rw-r--r-- | src/coordinateoperation.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/coordinateoperation.cpp b/src/coordinateoperation.cpp index 79984c91..a58cfdbe 100644 --- a/src/coordinateoperation.cpp +++ b/src/coordinateoperation.cpp @@ -4633,10 +4633,12 @@ static void getESRIMethodNameAndParams(const Conversion *conv, } } else if (esriMapping->epsg_code == EPSG_CODE_METHOD_HOTINE_OBLIQUE_MERCATOR_VARIANT_A) { - if (conv->parameterValueNumericAsSI( - EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE) == - conv->parameterValueNumericAsSI( - EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID)) { + if (std::abs( + conv->parameterValueNumericAsSI( + EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE) - + conv->parameterValueNumericAsSI( + EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID)) < + 1e-15) { esriParams = paramsESRI_Hotine_Oblique_Mercator_Azimuth_Natural_Origin; esriMethodName = @@ -4648,10 +4650,12 @@ static void getESRIMethodNameAndParams(const Conversion *conv, } } else if (esriMapping->epsg_code == EPSG_CODE_METHOD_HOTINE_OBLIQUE_MERCATOR_VARIANT_B) { - if (conv->parameterValueNumericAsSI( - EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE) == - conv->parameterValueNumericAsSI( - EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID)) { + if (std::abs( + conv->parameterValueNumericAsSI( + EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE) - + conv->parameterValueNumericAsSI( + EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID)) < + 1e-15) { esriParams = paramsESRI_Hotine_Oblique_Mercator_Azimuth_Center; esriMethodName = "Hotine_Oblique_Mercator_Azimuth_Center"; } else { |
