diff --git a/scripts/create_proj_symbol_rename.sh b/scripts/create_proj_symbol_rename.sh index 8a9e3a27c0..35289d44f7 100755 --- a/scripts/create_proj_symbol_rename.sh +++ b/scripts/create_proj_symbol_rename.sh @@ -29,7 +29,7 @@ for i in ${PROJ_ROOT}/src/*.c; do echo $i (cd tmp_alias; gcc -fvisibility=hidden ${i} -I../src -I${PROJ_ROOT}/src -I${PROJ_ROOT}/include -fPIC -c) done -for i in ${PROJ_ROOT}/src/*.cpp ${PROJ_ROOT}/src/iso19111/*.cpp; do +for i in ${PROJ_ROOT}/src/*.cpp ${PROJ_ROOT}/src/iso19111/*.cpp ${PROJ_ROOT}/src/iso19111/operation/*.cpp; do echo $i (cd tmp_alias; g++ -fvisibility=hidden -std=c++11 ${i} -I../src -I${PROJ_ROOT}/src -I${PROJ_ROOT}/include -fPIC -c) done diff --git a/src/iso19111/operation/conversion.cpp b/src/iso19111/operation/conversion.cpp index 3db62a7da1..9927892d46 100644 --- a/src/iso19111/operation/conversion.cpp +++ b/src/iso19111/operation/conversion.cpp @@ -2493,6 +2493,9 @@ CoordinateOperationNNPtr Conversion::inverse() const { if (methodEPSGCode == EPSG_CODE_METHOD_CHANGE_VERTICAL_UNIT) { const double convFactor = parameterValueNumericAsSI( EPSG_CODE_PARAMETER_UNIT_CONVERSION_SCALAR); + if (convFactor == 0) { + throw InvalidOperation("Invalid conversion factor"); + } auto conv = createChangeVerticalUnit( createPropertiesForInverse(this, false, false), common::Scale(1.0 / convFactor)); diff --git a/src/proj_symbol_rename.h b/src/proj_symbol_rename.h index 6f9e8ab694..e39b24ffd9 100644 --- a/src/proj_symbol_rename.h +++ b/src/proj_symbol_rename.h @@ -22,67 +22,6 @@ #define geod_polygon_testpoint internal_geod_polygon_testpoint #define geod_position internal_geod_position #define geod_setdistance internal_geod_setdistance -#define pj_acquire_lock internal_pj_acquire_lock -#define pj_apply_gridshift internal_pj_apply_gridshift -#define pj_calloc internal_pj_calloc -#define pj_cleanup_lock internal_pj_cleanup_lock -#define pj_clear_initcache internal_pj_clear_initcache -#define pj_compare_datums internal_pj_compare_datums -#define pj_ctx_alloc internal_pj_ctx_alloc -#define pj_ctx_fclose internal_pj_ctx_fclose -#define pj_ctx_fgets internal_pj_ctx_fgets -#define pj_ctx_fopen internal_pj_ctx_fopen -#define pj_ctx_fread internal_pj_ctx_fread -#define pj_ctx_free internal_pj_ctx_free -#define pj_ctx_fseek internal_pj_ctx_fseek -#define pj_ctx_ftell internal_pj_ctx_ftell -#define pj_ctx_get_app_data internal_pj_ctx_get_app_data -#define pj_ctx_get_errno internal_pj_ctx_get_errno -#define pj_ctx_get_fileapi internal_pj_ctx_get_fileapi -#define pj_ctx_set_app_data internal_pj_ctx_set_app_data -#define pj_ctx_set_debug internal_pj_ctx_set_debug -#define pj_ctx_set_errno internal_pj_ctx_set_errno -#define pj_ctx_set_fileapi internal_pj_ctx_set_fileapi -#define pj_ctx_set_logger internal_pj_ctx_set_logger -#define pj_dalloc internal_pj_dalloc -#define pj_datum_transform internal_pj_datum_transform -#define pj_dealloc internal_pj_dealloc -#define pj_deallocate_grids internal_pj_deallocate_grids -#define pj_find_file internal_pj_find_file -#define pj_free internal_pj_free -#define pj_fwd internal_pj_fwd -#define pj_fwd3d internal_pj_fwd3d -#define pj_geocentric_to_geodetic internal_pj_geocentric_to_geodetic -#define pj_geodetic_to_geocentric internal_pj_geodetic_to_geocentric -#define pj_get_ctx internal_pj_get_ctx -#define pj_get_def internal_pj_get_def -#define pj_get_default_ctx internal_pj_get_default_ctx -#define pj_get_default_fileapi internal_pj_get_default_fileapi -#define pj_get_errno_ref internal_pj_get_errno_ref -#define pj_get_release internal_pj_get_release -#define pj_get_spheroid_defn internal_pj_get_spheroid_defn -#define pj_init internal_pj_init -#define pj_init_ctx internal_pj_init_ctx -#define pj_init_plus internal_pj_init_plus -#define pj_init_plus_ctx internal_pj_init_plus_ctx -#define pj_inv internal_pj_inv -#define pj_inv3d internal_pj_inv3d -#define pj_is_geocent internal_pj_is_geocent -#define pj_is_latlong internal_pj_is_latlong -#define pj_latlong_from_proj internal_pj_latlong_from_proj -#define pj_log internal_pj_log -#define pj_log_active internal_pj_log_active -#define pj_malloc internal_pj_malloc -#define pj_open_lib internal_pj_open_lib -#define pj_pr_list internal_pj_pr_list -#define pj_release_lock internal_pj_release_lock -#define pj_set_ctx internal_pj_set_ctx -#define pj_set_finder internal_pj_set_finder -#define pj_set_searchpath internal_pj_set_searchpath -#define pj_stderr_logger internal_pj_stderr_logger -#define pj_strdup internal_pj_strdup -#define pj_strerrno internal_pj_strerrno -#define pj_transform internal_pj_transform #define proj_alter_id internal_proj_alter_id #define proj_alter_name internal_proj_alter_name #define proj_angular_input internal_proj_angular_input @@ -94,6 +33,7 @@ #define proj_as_proj_string internal_proj_as_proj_string #define proj_assign_context internal_proj_assign_context #define proj_as_wkt internal_proj_as_wkt +#define proj_celestial_body_list_destroy internal_proj_celestial_body_list_destroy #define proj_cleanup internal_proj_cleanup #define proj_clone internal_proj_clone #define proj_concatoperation_get_step internal_proj_concatoperation_get_step @@ -102,8 +42,10 @@ #define proj_context_create internal_proj_context_create #define proj_context_destroy internal_proj_context_destroy #define proj_context_errno internal_proj_context_errno +#define proj_context_errno_string internal_proj_context_errno_string #define proj_context_get_database_metadata internal_proj_context_get_database_metadata #define proj_context_get_database_path internal_proj_context_get_database_path +#define proj_context_get_database_structure internal_proj_context_get_database_structure #define proj_context_get_url_endpoint internal_proj_context_get_url_endpoint #define proj_context_get_use_proj4_init_rules internal_proj_context_get_use_proj4_init_rules #define proj_context_get_user_writable_directory internal_proj_context_get_user_writable_directory @@ -185,6 +127,7 @@ #define proj_create_conversion_polar_stereographic_variant_a internal_proj_create_conversion_polar_stereographic_variant_a #define proj_create_conversion_polar_stereographic_variant_b internal_proj_create_conversion_polar_stereographic_variant_b #define proj_create_conversion_pole_rotation_grib_convention internal_proj_create_conversion_pole_rotation_grib_convention +#define proj_create_conversion_pole_rotation_netcdf_cf_convention internal_proj_create_conversion_pole_rotation_netcdf_cf_convention #define proj_create_conversion_popular_visualisation_pseudo_mercator internal_proj_create_conversion_popular_visualisation_pseudo_mercator #define proj_create_conversion_quadrilateralized_spherical_cube internal_proj_create_conversion_quadrilateralized_spherical_cube #define proj_create_conversion_robinson internal_proj_create_conversion_robinson @@ -243,6 +186,7 @@ #define proj_crs_get_horizontal_datum internal_proj_crs_get_horizontal_datum #define proj_crs_get_sub_crs internal_proj_crs_get_sub_crs #define proj_crs_info_list_destroy internal_proj_crs_info_list_destroy +#define proj_crs_is_derived internal_proj_crs_is_derived #define proj_crs_promote_to_3D internal_proj_crs_promote_to_3D #define proj_cs_get_axis_count internal_proj_cs_get_axis_count #define proj_cs_get_axis_info internal_proj_cs_get_axis_info @@ -266,13 +210,17 @@ #define proj_geod internal_proj_geod #define proj_get_area_of_use internal_proj_get_area_of_use #define proj_get_authorities_from_database internal_proj_get_authorities_from_database +#define proj_get_celestial_body_list_from_database internal_proj_get_celestial_body_list_from_database +#define proj_get_celestial_body_name internal_proj_get_celestial_body_name #define proj_get_codes_from_database internal_proj_get_codes_from_database #define proj_get_crs_info_list_from_database internal_proj_get_crs_info_list_from_database #define proj_get_crs_list_parameters_create internal_proj_get_crs_list_parameters_create #define proj_get_crs_list_parameters_destroy internal_proj_get_crs_list_parameters_destroy #define proj_get_ellipsoid internal_proj_get_ellipsoid +#define proj_get_geoid_models_from_database internal_proj_get_geoid_models_from_database #define proj_get_id_auth_name internal_proj_get_id_auth_name #define proj_get_id_code internal_proj_get_id_code +#define proj_get_insert_statements internal_proj_get_insert_statements #define proj_get_name internal_proj_get_name #define proj_get_non_deprecated internal_proj_get_non_deprecated #define proj_get_prime_meridian internal_proj_get_prime_meridian @@ -293,6 +241,8 @@ #define proj_identify internal_proj_identify #define proj_info internal_proj_info #define proj_init_info internal_proj_init_info +#define proj_insert_object_session_create internal_proj_insert_object_session_create +#define proj_insert_object_session_destroy internal_proj_insert_object_session_destroy #define proj_int_list_destroy internal_proj_int_list_destroy #define proj_is_crs internal_proj_is_crs #define proj_is_deprecated internal_proj_is_deprecated @@ -308,6 +258,8 @@ #define proj_list_operations internal_proj_list_operations #define proj_list_prime_meridians internal_proj_list_prime_meridians #define proj_list_units internal_proj_list_units +#define proj_log_func internal_proj_log_func +#define proj_log_level internal_proj_log_level #define proj_lp_dist internal_proj_lp_dist #define proj_lpz_dist internal_proj_lpz_dist #define proj_normalize_for_visualization internal_proj_normalize_for_visualization @@ -327,7 +279,9 @@ #define proj_query_geodetic_crs_from_datum internal_proj_query_geodetic_crs_from_datum #define proj_roundtrip internal_proj_roundtrip #define proj_rtodms internal_proj_rtodms +#define proj_string_destroy internal_proj_string_destroy #define proj_string_list_destroy internal_proj_string_list_destroy +#define proj_suggests_code_for internal_proj_suggests_code_for #define proj_todeg internal_proj_todeg #define proj_torad internal_proj_torad #define proj_trans internal_proj_trans @@ -338,5 +292,4 @@ #define proj_xy_dist internal_proj_xy_dist #define proj_xyz_dist internal_proj_xyz_dist #define pj_release internal_pj_release -#define pj_errno internal_pj_errno #endif /* PROJ_SYMBOL_RENAME_H */