aboutsummaryrefslogtreecommitdiff
path: root/src/proj.h
AgeCommit message (Collapse)Author
2019-11-25Change version numbers to 6.3.0Even Rouault
2019-09-22promote proj_assign_context to proj.h from proj_experimental.hsnowman2
2019-09-08Merge pull request #1585 from rouault/replace_2018_by_2019Kristian Evers
Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1578)
2019-09-08Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1518)Even Rouault
- C API: PJ_GUESSED_WKT2_2019 is added, PJ_GUESSED_WKT2_2018 aliased to it - C API: PJ_WKT2_2019[_SIMPLIFIED] is added, PJ_WKT2_2018[_SIMPLIFIED] alias to it - C++ API: similarly for WKTFormatter::Convention::WKT2_2019[_SIMPLIFIED] Those above changes should be fully backward API and ABI compatible. projinfo changes: - accept WKT2_2019 as value for -o switch. WKT2_2018 is still accepted (undocumented) - output now uses 'WKT2_2019 string:', so might break scripts that would rely on that. Other internal code references to WKT2_2018 changes to WKT2_2019, included in tests.
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-09-01Update version numbers in preparation for 7.0.0Kristian Evers
2019-08-27Merge remote-tracking branch 'osgeo/master'6.2.0Kristian Evers
2019-08-26Add a proj_cleanup() function to free global resources, typically at process ↵Even Rouault
termination
2019-08-26Update API numbers in preparation for 6.2.0 releaseKristian Evers
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-08-20Merge pull request #1547 from rouault/json_exportEven Rouault
Add CRS JSON export (refs #1545)
2019-08-09C API: add proj_as_projjson()Even Rouault
2019-07-19Add set discard superseded method to api (#1534)Matt Littlemore
Closes #1519
2019-07-01C API: add proj_concatoperation_get_step_count() and ↵Even Rouault
proj_concatoperation_get_step()
2019-06-30Database: import scope/remarks for coordinate operation and add C APIEven Rouault
- Import scope and remarks for coordinate operations of the EPSG dataset. Database size goes from 5.2 MB to 5.55 MB - Add proj_get_scope() and proj_get_remarks()
2019-06-03Fix incorrect delimator ";" used to separate proj_info().searchpathNyall Dawson
entries on non-windows platforms, should be ":"
2019-06-01Add proj_grid_get_info_from_database to allow retrieval of gridNyall Dawson
metadata from a grid filename
2019-03-29Add proj_normalize_for_visualization()Even Rouault
Fixes #1301 This function takes the output PJ from proj_create_crs_to_crs(), and add (or undo) the needed axis swap operations so that the object returned by proj_normalize_for_visualization() has the usual GIS axis order. In this implementation, this does something only if the coordinate system of the source or target CRS, geographic or projected, has NORTH, EAST ordering. CompoundCRS wrapping those objects are also handled.
2019-03-01Bump version numbers in preparation for 6.1.0Kristian Evers
2019-02-20typo fixes: s/Explictly/Explicitly/ and s/instanciat/instantiat/Even Rouault
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-17Modify the default strategy of researching intermediate CRS to do it only if ↵Even Rouault
there is no direct transformation
2019-02-07Rename proj_crs_list_destroy() to proj_crs_info_list_destroy()Even Rouault
2019-02-07Add proj_get_crs_info_list_from_database()Even Rouault
This method is intended to be used typically by GUI that lists all possible CRS. What is does could be done by previously existing functions, but it is much faster. It typically runs in less than 0.1s (hot run) versus ~0.5s with the method that consists in enumerating all codes and instanciating a PJ object for each of them.
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-10Doc: document interaction issues between objects create with proj_create() ↵Even Rouault
vs the ones of the C++ API (fixes #1213) (#1215)
2019-01-09proj.h: add proj_context_set_file_finder() and ↵Even Rouault
proj_context_set_search_paths() (refs #1150)
2019-01-02Typo fixesEven Rouault
2019-01-01Split ISO19111 C API docs into functions and typesKristian Evers
The rest of the C API is structured such that type definitions goes into one page and functions to another. This commit makes sure the same is done for the C bindings to the ISO19111 C++ API by defining two doxygen groups in proj.h, which is then organized into the proper pages with Sphinx and breathe.
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-30Remove PJ_OBJ type since it is now merged into PJEven Rouault
2018-12-26cpp conversion: fix zero-as-null-pointer-constant warningsEven Rouault
2018-12-17Add WKT1 grammar validation; change prototype of proj_obj_create_from_wkt()Even Rouault
2018-12-14Rename proj_destroy_int_list to proj_int_list_destroy and ↵Even Rouault
proj_destroy_string_list to proj_string_list_destroy for consistency (refs #1198)
2018-12-14C API: rename recently added _unref and _free functions as _destroy (fixes ↵Even Rouault
#1198)
2018-12-14C API: add proj_coordoperation_get_towgs84_values()Even Rouault
2018-12-10C API: add extra output parameters to proj_coordoperation_get_param()Even Rouault
2018-12-10C API: add a proj_coordoperation_get_method_info() methodEven Rouault
2018-12-10C API: add proj_uom_get_info_from_database()Even Rouault
2018-12-10C API: add PJ_OBJ_CATEGORY_PRIME_MERIDIAN and PJ_OBJ_TYPE_PRIME_MERIDIANEven Rouault
2018-12-10proj_obj_cs_get_axis_info(): add out_unit_auth_name and out_unit_code parametersEven Rouault
2018-12-06Add API to retrieve non-deprecated equivalent of an objectEven Rouault
2018-12-01C API: rename parameter to reflect its output statusEven Rouault
2018-11-30API: move all advanced PJ_OBJ creation functions in a dedicated ↵Even Rouault
proj_experimental.h header
2018-11-30C API: more camel_casification of parametersEven Rouault
2018-11-30C API: do not 'cache' PROJ context in PJ_OBJ objectsEven Rouault
We store the PJ_CONTEXT* in the PJ_OBJ objects, but this might cause issues in multi-threaded uses. For example, before this change, let's imagie: - a PJ_OBJ is created in thread A with a PJ_CONTEXT that is specific to this thread A - PJ_OBJ is transfered to another thread that operates on it. It might thus use the PJ_CONTEXT that was TLS(A) - in the meantime thread A does completely different things, but still operate on its PJ_CONTEXT. We might get a concurrent use of the PJ_CONTEXT despite working on different PJ_OBJ Another situation is when using constructor functions that take two PJ_OBJ. Up to now, we arbitrarily selected the context of one of the arguments to attach it to the new object. So better be explicit on which context is used. For reference, in those wrappers of the C++ API, the context is mostly used for two things: - reporting C++ exceptions as PROJ errors with the error handler attached to the PJ_CONTEXT - using the database handle that is associated with the PJ_CONTEXT.
2018-11-29C API: rename output parameters to have a out_ prefixEven Rouault
2018-11-29C API: replace ctxt by ctxEven Rouault