aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_c_api.cpp
AgeCommit message (Collapse)Author
2019-09-11API: add CRS::promoteTo3D(), proj_crs_promote_to_3D() and ↵Even Rouault
proj_crs_create_projected_3D_crs_from_2D() (fixes #1587) Also add a --3d switch to projinfo
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-04C API: add proj_create_ellipsoidal_3D_cs()Even Rouault
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-17PROJJSON: rename file as projjson.schema.json, and add versionning to it and ↵Even Rouault
to exported PROJJSON strings
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-06Formatting fixEven Rouault
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-01Add proj_grid_get_info_from_database to allow retrieval of gridNyall Dawson
metadata from a grid filename
2019-05-13identify(): take into account the authority passed in (fixes #1465)Even Rouault
When identifying an object that has already a code with authority A but the authority of interest passed was B, then it was not checking that A != B, and did not try to search in the objects of B.
2019-05-08proj_normalize_for_visualization(): fix when there are coordinate operation ↵Even Rouault
alternatives
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-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-20PROJStringFormatting: change order of emission of push/pop w.r.t axis ↵Even Rouault
swap/unitconvert to avoid useless simplification rules
2019-02-20Vertical CRS transformation: synthetize a vertical unit change ↵Even Rouault
transformation when needed, and also sort Null geographic offset transformation in last
2019-02-17Modify the default strategy of researching intermediate CRS to do it only if ↵Even Rouault
there is no direct transformation
2019-02-13EPSG Helmert and Molodensky-Badekas methods in the Geographic 2D domain: use ↵Even Rouault
the push/pop v_3 operator to preserve the Z component
2019-02-11Make tmerc an alias for etmerc. (#1234)Kristian Evers
* Make tmerc an alias for etmerc This switches the algorithm used in tmerc to the Poder/Engsager tmerc algorithm. The original tmerc algorithm of Evenden/Snyder origin can still be accessed by adding the +approx flag when initializing a tmerc projection. The +approx flag can also be used when initializing UTM projections, in which case the Evenden/Snyder algorithm is used as well. If a tmerc projection is instantiated on a spherical earth the Evenden/Snyder algorithm is used as well since the Poder/Engsager algorithm is only defined on the ellipsoid. +proj=etmerc can still be instantiated for backwards compatibility reasons. Co-authored-by: Kristian Evers <kristianevers@gmail.com> Co-authored-by: Even Rouault <even.rouault@spatialys.com>
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-17import/export PROJ strings from ISO19111 code: require/output +type=crs for ↵Even Rouault
CRS objects (refs #1214)
2019-01-08ISO19111: remove PROJ.5 specific format for CRS (refs #1214)Even Rouault
As discussed in https://github.com/OSGeo/proj.4/issues/1214#issuecomment-452084720, the introduction of a new PROJ.5 format to export CRS using pipeline/unitconvert/axisswap as an attempt of improving the PROJ.4 format used by GDAL and other products is likely a dead-end since it is still lossy in many aspects and can cause confusion with coodinate operations. Consequently the PROJ_5 convention will be identical to PROJ_4 for CRS export. Note: on the import side, I've kept the code that could parse unitconvert and axisswap when building a CRS definition from a pipeline. It is there as a hidden feature as it was kind of a tear to remove that code in case it might still be useful...
2019-01-07Update wkt2_grammar.py according to the latest draft of WKT2:2018Even Rouault
2019-01-04WKT export: no longer export Geographic 3D CRS in WKT1, unless strict mode ↵Even Rouault
is disabled
2018-12-31pj_obj_create(): avoid warning to be emitted when expot to PROJ string is ↵Even Rouault
not possible
2018-12-30Rename proj_obj_XXX as proj_XXX and PJ_OBJ_XXX as PJ_XXXEven 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-17Add WKT2 grammar validationEven Rouault
2018-12-17Add WKT1 grammar validation; change prototype of proj_obj_create_from_wkt()Even Rouault
2018-12-14proj_obj_crs_alter_cs_XXX: add new parameters to set unit idEven Rouault
2018-12-14Advanced C API: add proj_obj_alter_id()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-14Experimental C API: add proj_obj_create_transformation()Even Rouault
2018-12-14C API: add proj_coordoperation_get_towgs84_values()Even Rouault
2018-12-13imort from WKT1: set correct CS for Transverse Mercator South OrientedEven Rouault
2018-12-13Add helpers to create polar cartesian CSEven Rouault
2018-12-12test_c_api.cpp: show that proj_obj_get_id_code() worksEven Rouault
2018-12-11API: add setters for Laborde Oblique Mercator, and add mapping to WKT1Even 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