diff options
| -rw-r--r-- | include/proj/internal/coordinateoperation_internal.hpp | 3 | ||||
| -rw-r--r-- | include/proj/internal/esri_projection_mappings.hpp | 756 | ||||
| -rw-r--r-- | scripts/build_esri_projection_mapping.py | 26 | ||||
| -rw-r--r-- | src/iso19111/io.cpp | 5 |
4 files changed, 412 insertions, 378 deletions
diff --git a/include/proj/internal/coordinateoperation_internal.hpp b/include/proj/internal/coordinateoperation_internal.hpp index a75427c2..69f30933 100644 --- a/include/proj/internal/coordinateoperation_internal.hpp +++ b/include/proj/internal/coordinateoperation_internal.hpp @@ -76,7 +76,8 @@ struct ESRIParamMapping { const char *esri_name; const char *wkt2_name; int epsg_code; - float fixed_value; + const char *fixed_value; + bool is_fixed_value; }; struct ESRIMethodMapping { diff --git a/include/proj/internal/esri_projection_mappings.hpp b/include/proj/internal/esri_projection_mappings.hpp index a0331911..5f1e1874 100644 --- a/include/proj/internal/esri_projection_mappings.hpp +++ b/include/proj/internal/esri_projection_mappings.hpp @@ -50,792 +50,803 @@ using namespace ::NS_PROJ::operation; static const ESRIParamMapping paramsESRI_Plate_Carree[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Equidistant_Cylindrical[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Miller_Cylindrical[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Mercator[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Gauss_Kruger[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Transverse_Mercator[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Albers[] = { {"False_Easting", EPSG_NAME_PARAMETER_EASTING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, {"Standard_Parallel_2", EPSG_NAME_PARAMETER_LATITUDE_2ND_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Sinusoidal[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Mollweide[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Eckert_I[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Eckert_II[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Eckert_III[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Eckert_IV[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Eckert_V[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Eckert_VI[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Gall_Stereographic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; + +static const ESRIParamMapping paramsESRI_Behrmann[] = { + {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, + {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, + {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", true}, + {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "30.0", true}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Winkel_I[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Winkel_II[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Lambert_Conformal_Conic_alt1[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Lambert_Conformal_Conic_alt2[] = { {"False_Easting", EPSG_NAME_PARAMETER_EASTING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, {"Standard_Parallel_2", EPSG_NAME_PARAMETER_LATITUDE_2ND_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Lambert_Conformal_Conic_alt3[] = { {"False_Easting", EPSG_NAME_PARAMETER_EASTING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, {"Standard_Parallel_2", EPSG_NAME_PARAMETER_LATITUDE_2ND_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, 0.0}, - {"Scale_Factor", nullptr, 0, 1.0}, + EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, "0.0", false}, + {"Scale_Factor", nullptr, 0, "1.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Lambert_Conformal_Conic_alt4[] = { {"False_Easting", EPSG_NAME_PARAMETER_EASTING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, {"Standard_Parallel_2", EPSG_NAME_PARAMETER_LATITUDE_2ND_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_ELLIPSOID_SCALE_FACTOR, - EPSG_CODE_PARAMETER_ELLIPSOID_SCALE_FACTOR, 0.0}, + EPSG_CODE_PARAMETER_ELLIPSOID_SCALE_FACTOR, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_FALSE_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_FALSE_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Polyconic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Quartic_Authalic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Loximuthal[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Central_Parallel", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Bonne[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Hotine_Oblique_Mercator_Two_Point_Natural_Origin[] = { {"False_Easting", EPSG_NAME_PARAMETER_EASTING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, 0.0}, - {"Latitude_Of_1st_Point", "Latitude of 1st point", 0, 0.0}, - {"Latitude_Of_2nd_Point", "Latitude of 2nd point", 0, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, "0.0", false}, + {"Latitude_Of_1st_Point", "Latitude of 1st point", 0, "0.0", false}, + {"Latitude_Of_2nd_Point", "Latitude of 2nd point", 0, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE, - EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, 0.0}, - {"Longitude_Of_1st_Point", "Longitude of 1st point", 0, 0.0}, - {"Longitude_Of_2nd_Point", "Longitude of 2nd point", 0, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, "0.0", false}, + {"Longitude_Of_1st_Point", "Longitude of 1st point", 0, "0.0", false}, + {"Longitude_Of_2nd_Point", "Longitude of 2nd point", 0, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Stereographic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Equidistant_Conic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, {"Standard_Parallel_2", EPSG_NAME_PARAMETER_LATITUDE_2ND_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_2ND_STD_PARALLEL, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Cassini[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {"Scale_Factor", nullptr, 0, 1.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {"Scale_Factor", nullptr, 0, "1.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Van_der_Grinten_I[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Robinson[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Two_Point_Equidistant[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, - {"Latitude_Of_1st_Point", "Latitude of 1st point", 0, 0.0}, - {"Latitude_Of_2nd_Point", "Latitude of 2nd point", 0, 0.0}, - {"Longitude_Of_1st_Point", "Longitude of 1st point", 0, 0.0}, - {"Longitude_Of_2nd_Point", "Longitude of 2nd point", 0, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, + {"Latitude_Of_1st_Point", "Latitude of 1st point", 0, "0.0", false}, + {"Latitude_Of_2nd_Point", "Latitude of 2nd point", 0, "0.0", false}, + {"Longitude_Of_1st_Point", "Longitude of 1st point", 0, "0.0", false}, + {"Longitude_Of_2nd_Point", "Longitude of 2nd point", 0, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Azimuthal_Equidistant[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Lambert_Azimuthal_Equal_Area[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Cylindrical_Equal_Area[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Hotine_Oblique_Mercator_Two_Point_Center[] = { {"False_Easting", EPSG_NAME_PARAMETER_EASTING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, 0.0}, - {"Latitude_Of_1st_Point", "Latitude of 1st point", 0, 0.0}, - {"Latitude_Of_2nd_Point", "Latitude of 2nd point", 0, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, "0.0", false}, + {"Latitude_Of_1st_Point", "Latitude of 1st point", 0, "0.0", false}, + {"Latitude_Of_2nd_Point", "Latitude of 2nd point", 0, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE, - EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, 0.0}, - {"Longitude_Of_1st_Point", "Longitude of 1st point", 0, 0.0}, - {"Longitude_Of_2nd_Point", "Longitude of 2nd point", 0, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, "0.0", false}, + {"Longitude_Of_1st_Point", "Longitude of 1st point", 0, "0.0", false}, + {"Longitude_Of_2nd_Point", "Longitude of 2nd point", 0, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Hotine_Oblique_Mercator_Azimuth_Natural_Origin[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE, - EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, "0.0", false}, {"Azimuth", EPSG_NAME_PARAMETER_AZIMUTH_INITIAL_LINE, - EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Hotine_Oblique_Mercator_Azimuth_Center[] = { {"False_Easting", EPSG_NAME_PARAMETER_EASTING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE, - EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, "0.0", false}, {"Azimuth", EPSG_NAME_PARAMETER_AZIMUTH_INITIAL_LINE, - EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Double_Stereographic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Krovak_alt1[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Pseudo_Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL, - EPSG_CODE_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL, "0.0", false}, {"Azimuth", EPSG_NAME_PARAMETER_COLATITUDE_CONE_AXIS, - EPSG_CODE_PARAMETER_COLATITUDE_CONE_AXIS, 0.0}, + EPSG_CODE_PARAMETER_COLATITUDE_CONE_AXIS, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_OF_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, - {"X_Scale", nullptr, 0, 1.0}, - {"Y_Scale", nullptr, 0, 1.0}, - {"XY_Plane_Rotation", nullptr, 0, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, + {"X_Scale", nullptr, 0, "1.0", false}, + {"Y_Scale", nullptr, 0, "1.0", false}, + {"XY_Plane_Rotation", nullptr, 0, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Krovak_alt2[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Pseudo_Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_PSEUDO_STANDARD_PARALLEL, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL, - EPSG_CODE_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_PSEUDO_STANDARD_PARALLEL, "0.0", false}, {"Azimuth", EPSG_NAME_PARAMETER_COLATITUDE_CONE_AXIS, - EPSG_CODE_PARAMETER_COLATITUDE_CONE_AXIS, 0.0}, + EPSG_CODE_PARAMETER_COLATITUDE_CONE_AXIS, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_OF_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, - {"X_Scale", nullptr, 0, -1.0}, - {"Y_Scale", nullptr, 0, 1.0}, - {"XY_Plane_Rotation", nullptr, 0, 90.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, + {"X_Scale", nullptr, 0, "-1.0", false}, + {"Y_Scale", nullptr, 0, "1.0", false}, + {"XY_Plane_Rotation", nullptr, 0, "90.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_New_Zealand_Map_Grid[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Longitude_Of_Origin", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Orthographic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Winkel_Tripel[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Aitoff[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Flat_Polar_Quartic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Craster_Parabolic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Gnomonic[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Times[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Vertical_Near_Side_Perspective[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_TOPOGRAPHIC_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_TOPOGRAPHIC_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_TOPOGRAPHIC_ORIGIN, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_TOPOGRAPHIC_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_TOPOGRAPHIC_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_TOPOGRAPHIC_ORIGIN, "0.0", false}, {"Height", EPSG_NAME_PARAMETER_VIEWPOINT_HEIGHT, - EPSG_CODE_PARAMETER_VIEWPOINT_HEIGHT, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_VIEWPOINT_HEIGHT, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Stereographic_North_Pole[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Stereographic_South_Pole[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Rectified_Skew_Orthomorphic_Natural_Origin[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE, - EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, "0.0", false}, {"Azimuth", EPSG_NAME_PARAMETER_AZIMUTH_INITIAL_LINE, - EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, {"XY_Plane_Rotation", EPSG_NAME_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID, - EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Rectified_Skew_Orthomorphic_Center[] = {{"False_Easting", EPSG_NAME_PARAMETER_EASTING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_EASTING_PROJECTION_CENTRE, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_NORTHING_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_NORTHING_PROJECTION_CENTRE, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE, - EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, "0.0", false}, {"Azimuth", EPSG_NAME_PARAMETER_AZIMUTH_INITIAL_LINE, - EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, {"XY_Plane_Rotation", EPSG_NAME_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID, - EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_ANGLE_RECTIFIED_TO_SKEW_GRID, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Goode_Homolosine[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Equidistant_Cylindrical_Ellipsoidal[] = {{"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL, - EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_1ST_STD_PARALLEL, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Laborde_Oblique_Mercator[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_INITIAL_LINE, - EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_SCALE_FACTOR_INITIAL_LINE, "0.0", false}, {"Azimuth", EPSG_NAME_PARAMETER_AZIMUTH_INITIAL_LINE, - EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, 0.0}, + EPSG_CODE_PARAMETER_AZIMUTH_INITIAL_LINE, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_PROJECTION_CENTRE, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, - EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_PROJECTION_CENTRE, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Gnomonic_Ellipsoidal[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Latitude_Of_Center", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Wagner_IV[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {"Latitude_Of_Origin", nullptr, 0, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {"Latitude_Of_Origin", nullptr, 0, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Wagner_V[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Wagner_VII[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Natural_Earth[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Natural_Earth_II[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Patterson[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Compact_Miller[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Geostationary_Satellite[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Longitude_Of_Center", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, - {"Height", "Satellite Height", 0, 0.0}, - {"Option", nullptr, 0, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {"Height", "Satellite Height", 0, "0.0", false}, + {"Option", nullptr, 0, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIParamMapping paramsESRI_Mercator_Auxiliary_Sphere[] = { {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING, - EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false}, {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING, - EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0}, + EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false}, {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0}, + EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false}, {"Standard_Parallel_1", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, - EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, 0.0}, - {"Auxiliary_Sphere_Type", nullptr, 0, 0.0}, - {nullptr, nullptr, 0, 0.0}}; + EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false}, + {"Auxiliary_Sphere_Type", nullptr, 0, "0.0", false}, + {nullptr, nullptr, 0, "0.0", false}}; static const ESRIMethodMapping esriMappings[] = { {"Plate_Carree", EPSG_NAME_METHOD_EQUIDISTANT_CYLINDRICAL, @@ -866,6 +877,9 @@ static const ESRIMethodMapping esriMappings[] = { {"Eckert_VI", PROJ_WKT2_NAME_METHOD_ECKERT_VI, 0, paramsESRI_Eckert_VI}, {"Gall_Stereographic", PROJ_WKT2_NAME_METHOD_GALL_STEREOGRAPHIC, 0, paramsESRI_Gall_Stereographic}, + {"Behrmann", EPSG_NAME_METHOD_LAMBERT_CYLINDRICAL_EQUAL_AREA_SPHERICAL, + EPSG_CODE_METHOD_LAMBERT_CYLINDRICAL_EQUAL_AREA_SPHERICAL, + paramsESRI_Behrmann}, {"Winkel_I", "Winkel I", 0, paramsESRI_Winkel_I}, {"Winkel_II", "Winkel II", 0, paramsESRI_Winkel_II}, {"Lambert_Conformal_Conic", EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_1SP, diff --git a/scripts/build_esri_projection_mapping.py b/scripts/build_esri_projection_mapping.py index 216701a9..81e5240d 100644 --- a/scripts/build_esri_projection_mapping.py +++ b/scripts/build_esri_projection_mapping.py @@ -159,7 +159,17 @@ config_str = """ - False_Northing: EPSG_NAME_PARAMETER_FALSE_NORTHING - Central_Meridian: EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN -# Behrmann: not handled +- Behrmann: + WKT2_name: EPSG_NAME_METHOD_LAMBERT_CYLINDRICAL_EQUAL_AREA_SPHERICAL + Params: + - False_Easting: EPSG_NAME_PARAMETER_FALSE_EASTING + - False_Northing: EPSG_NAME_PARAMETER_FALSE_NORTHING + - Central_Meridian: + Name: EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN + Default: 0.0 + - Standard_Parallel_1: + Name: EPSG_NAME_PARAMETER_LATITUDE_1ST_STD_PARALLEL + Default: 30.0 - Winkel_I: WKT2_name: "Winkel I" @@ -701,14 +711,20 @@ def generate_mapping(WKT2_name, esri_proj_name, Params, suffix=''): for param in Params: for param_name in param: param_value = param[param_name] + + default_value = None + if isinstance(param_value, dict): + default_value = param_value.get('Default', None) + param_value = param_value['Name'] + if isinstance(param_value, str): if param_value.startswith('EPSG_'): - print(' { "%s", %s, %s, 0.0 },' % (param_name, param_value, param_value.replace('_NAME_', '_CODE_'))) + print(' { "%s", %s, %s, "%.1f", %s },' % (param_name, param_value, param_value.replace('_NAME_', '_CODE_'), default_value or 0.0, "true" if default_value is not None else "false")) else: - print(' { "%s", "%s", 0, 0.0 },' % (param_name, param_value)) + print(' { "%s", "%s", 0, "%.1f", %s },' % (param_name, param_value, default_value or 0.0, "true" if default_value is not None else "false")) else: - print(' { "%s", nullptr, 0, %.1f },' % (param_name, param_value)) - print(' { nullptr, nullptr, 0, 0.0 }') + print(' { "%s", nullptr, 0, "%.1f", false },' % (param_name, param_value)) + print(' { nullptr, nullptr, 0, "0.0", false }') print('};') diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp index 5b122707..861aadbf 100644 --- a/src/iso19111/io.cpp +++ b/src/iso19111/io.cpp @@ -3185,7 +3185,8 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI( if (iter != mapParamNameToValue.end()) { if (param->wkt2_name == nullptr) { try { - if (param->fixed_value == io::asDouble(iter->second)) { + if (io::asDouble(param->fixed_value) == + io::asDouble(iter->second)) { matchCount++; } } catch (const std::exception &) { @@ -3193,6 +3194,8 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI( } else { matchCount++; } + } else if (param->is_fixed_value) { + mapParamNameToValue[param->esri_name] = param->fixed_value; } } if (matchCount > bestMatchCount) { |
