aboutsummaryrefslogtreecommitdiff
path: root/src/4D_api.cpp
AgeCommit message (Collapse)Author
2020-02-27proj_create_crs_to_crs(): avoid potential reprojection failures when ↵github-actions[bot]
reprojecting area of use to source and target CRS
2019-12-25Modify verbosity level of some debug/trace messagesEven Rouault
- unitconvert, ell_set and helmert were using debug level, which is too verbose. Using trace instead - proj_trans() was using trace to indicate the operation it selects. Changing it to debug
2019-12-24proj_trans: add retry logic to select other transformation if the best one ↵Even Rouault
fails. Relates to https://github.com/OSGeo/PROJ/issues/1808
2019-12-04proj_grid_info(): fix crash when passing a file that exists but is not a gridEven Rouault
2019-11-18proj_trans(): tune selection of operation when there are several ↵Even Rouault
alternatives, to select the operation with best accuracy
2019-11-16proj_create_crs_to_crs(): fix autoselection logic of operation to compute ↵Even Rouault
correctly the geographic coordinates of the input coord when the CRS is not Greenwich based
2019-10-28Various fixes/workarounds to make cppcheck 1.72 (Ubuntu 16.04) and ↵Even Rouault
HEAD/1.90dev happy (fixes #1648)
2019-10-12proj_create_crs_to_crs(): remove elimination of Ballpark operations that ↵Even Rouault
caused transformation failures in some cases
2019-09-26proj_create_crs_to_crs(): fix when there are only transformations with ↵Even Rouault
ballpark steps Currently we would discard all operations, resulting in a PJ object with zero candidates. Better use those operations if nothing better is available. Was seen on transforming from ETRS89 / UTM zone 31N + EGM96 height to WGS 84 (G1762). The horizontal transformation from ETRS89 to WGS 84 (G1762) is a ballpark one.
2019-09-18Delete proj_math.h. Replace includes by <math.h>; we'll see if anyoneCharles Karney
needs <limits.h>. Update scripts/reference_exported_symbols.txt and src/proj_symbol_rename.h.
2019-09-12proj_trans_generic(): properly set coordinate time to HUGE_VAL when no value ↵Even Rouault
is passed to the function
2019-09-04proj_create_crs_to_crs_from_pj(): make the PJ* arguments const PJ*Even Rouault
This will make the life of C++ users using the C API slightly easier. There's no ABI or API backward compatibility issue in doing that change as constness of arguments is not retained in the C ABI, and any non-const object passed as argument is implicitly converted as a const object if that is what is mentionned in the argument list.
2019-08-23Add proj_create_crs_to_crs_from_pj()Even Rouault
I've been frustrated a number of times with proj_create_crs_to_crs() not accepting a PJ* object for the source and target CRS. And thus constraining to go back to WKT2 in a artificial way.
2019-08-20C API: add proj_context_set_autoclose_database() to automatically close ↵Even Rouault
database (fixes #1565)
2019-06-04Fix incorrect delimator ";" used to separate proj_info().searchpath entries ↵Kristian Evers
(#1497) Fix incorrect delimator ";" used to separate proj_info().searchpath entries
2019-06-03Fix incorrect delimator ";" used to separate proj_info().searchpathNyall Dawson
entries on non-windows platforms, should be ":"
2019-06-03proj_info().searchpath should not include PROJ_LIB path ifNyall Dawson
the context search_paths is not empty The logic used when actually searching for files is that if the context search_paths are set, these completely override the PROJ_LIB variable. So we should make proj_info().searchpath correctly reflect this, and not include the PROJ_LIB path in searchpath if the context has search_paths manually set.
2019-03-26path_append(): make it clear that nullptr deref cannot happen. Coverity CID ↵Even Rouault
193530
2019-03-19proj_create_crs_to_crs: better deal with coordinates outside of bbox (fixes ↵Even Rouault
#1329) In case several coordinate operations are returned for a CRS to CRS transformation, we currently determine the one to use by selecting the first operation whose bounding box contains the input point. This commit adds a fallback case where after doing that first iteration and finding no appropriate candidate, we try again by selecting the first operation available that does not involve grid based transformations.
2019-02-20CoordinateOperation: add a hasBallparkTransformation() method that can be ↵Even Rouault
used to know if it includes a very approximative transformation term
2019-02-16Make sure that the PJ object returned by proj_create_crs_to_crs() is a ↵Even Rouault
proper CoordinateOperation so that we can call proj_get_source_crs() on it for example
2019-02-01Remove extreaneous semicolonEven Rouault
2019-01-26proj_trans_generic(): make it work with multiple internal coordinate ↵Even Rouault
operations (fixes #1237)
2019-01-22Merge pull request #1233 from rouault/fix_1232Kristian Evers
Coordinate operation computation with boundcrs / wktext: drop useless early bindins terms in generated pipeline (fixes #1232)
2019-01-22ISO19111 PROJ string parser: discard parameters not recognized by PROJEven Rouault
2019-01-22proj_create_crs_to_crs(): defer selection of actual coordinate operation ↵Even Rouault
until proj_trans() is called (fixes #1229)
2019-01-19Add support for spaces in grid name parameters (fixes #1152)Even Rouault
2019-01-18Merge pull request #1225 from aaronpuchert/add-null-checkKristian Evers
Handle allocation failure in pj_trim_argv
2019-01-17Remove proj_create_from_proj_string() and proj_create_from_user_input(), and ↵Even Rouault
make proj_create() do more or less what proj_create_from_user_input() did before (fixes #1214)
2019-01-17Handle allocation failure in pj_trim_argvAaron Puchert
The function can return nullptr, if calloc fails. If we then use that nullptr in pj_init_ctx_with_allow_init_epsg, we get a crash.
2019-01-17import/export PROJ strings from ISO19111 code: require/output +type=crs for ↵Even Rouault
CRS objects (refs #1214)
2019-01-10proj_info(): report the hardcoded PROJ_LIB path in info.searchpath (if the ↵Even Rouault
env variable is not defined), and no longer report HOME that is only used for files starting with '~'
2019-01-09proj.h: add proj_context_set_file_finder() and ↵Even Rouault
proj_context_set_search_paths() (refs #1150)
2019-01-03Rename PJ_IO_UNITS_ANGULAR to PJ_IO_UNITS_RADIANSKristian Evers
This communicates better what the unit actually is. It also opens the door for potentially adding PJ_IO_UNITS_DEGREES in the future in order to coordinates in degrees correctly as well.
2019-01-02Typo fixesEven Rouault
2018-12-30Rename proj_obj_XXX as proj_XXX and PJ_OBJ_XXX as PJ_XXXEven Rouault
2018-12-30Merge projects.h into proj_internal.hEven Rouault
2018-12-30Make ISO-19111 objects of type CoordinateOperation directly usable with ↵Even Rouault
proj_trans() and similar methods
2018-12-30Remove PJ_OBJ type since it is now merged into PJEven Rouault
2018-12-28proj_create_crs_to_crs(): fix crash if ctx == nullptr and error is triggered ↵Even Rouault
(master only)
2018-12-27proj_create_crs_to_crs(): add debugging tracesEven Rouault
2018-12-26cpp conversion: remove useless pj_, PJ_ and proj_ filename prefixesEven Rouault