aboutsummaryrefslogtreecommitdiff
path: root/src/c_api.cpp
AgeCommit message (Collapse)Author
2018-12-26cpp conversion: move source files in apps/ iso19111/ conversions/ ↵Even Rouault
projections/ transformations/ tests/ subdirectories
2018-12-17Add WKT1 grammar validation; change prototype of proj_obj_create_from_wkt()Even Rouault
2018-12-15Add SingleOperation::validateParameters()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-12Improve doc of CRS::identify() / proj_obj_identify()Even 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
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-07Experimental C API: add proj_obj_query_geodetic_crs_from_datum() (for GDAL ↵Even Rouault
Idrisi driver)
2018-12-06Speed-up createBoundCRSToWGS84IfPossible()Even Rouault
2018-12-06Add API to retrieve non-deprecated equivalent of an objectEven Rouault
2018-12-06Coordinate operation search: add a authority_to_authority_preference table ↵Even Rouault
to restrict and prioritize searches
2018-12-05experimental C API: add proj_obj_convert_conversion_to_other_method()Even Rouault
2018-12-04Add proj_obj_create_vertical_crs() and proj_obj_create_compound_crs()Even Rouault
2018-12-04Improve management of 'deprecated' suffix in object namesEven Rouault
2018-12-04Improve recognition of WKT1 datum namesEven Rouault
2018-12-01C API: rename parameter to reflect its output statusEven Rouault
2018-12-01importFromWKT: morph GDAL_WKT1 datum names into their EPSG spellingEven 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
2018-11-29C API extensions and renamingEven Rouault
- proj_obj_create_projected_XXXXX() are renamed to proj_obj_create_conversion_snake_case() and just instanciate a Conversion object - Advanced manipulation functions are moved to a dedicated section at bottom of proj.h - New C API needed for GDAL OGRSpatialReference
2018-11-29Redirect epsg:XXXX and IGNF:XXXX CRS expansions to the database, and remove ↵Even Rouault
the data/epsg and data/IGNF files
2018-11-29cs2cs: upgrade to use proj_create_crs_to_crs()Even Rouault
2018-11-22Make proj_create_crs_to_crs() use proj_obj_create_operations() and use area ↵Even Rouault
of use argument, and make createFromUserInput() recognize init=epsg: / init=IGNF: in legacy mode, that is when proj_context_get_use_proj4_init_rules() is used
2018-11-19Assorted set of fixes for PROJString to ISO19111 model:Even Rouault
- createFromPROJString(): take into account axisswap step for Krovak and Transverse Mercator (South Orientated) - Geocentric export to PROJ4: use datum when possible, and add explicit units=m - ESRI WKT parser: make it case insensitive to parameter and projection names, and more tolerant about possible parameter name aliases - import from WKT1 for Polar_Stereographic: don't be case sensitive - importFromPROJString: allow pm to override datum - Equidistant cylindrical: add support for non-standard latitude of natural origin, used in a GDAL test case - tmerc export to PROJString: use 'k' instead of 'k_0' - pj_ellps: use official value from EPSG for reverse flattening of Airy ellipsoid - GDAL compatibility: add support for importing odd formulations of Mercator as WKT1, but rejecting them when exporting to PROJ - Add export of 'Geostationary Satellite (Sweep X)' to WKT1_GDAL via EXTENSION.PROJ4 node - importFromPROJString: add support for +f - WKT1 / PROJ4: add support for EXTENSION.PROJ4 nodes and +wktext - exportToWKT: change way we deal with AXIS by default for WKT1_GDAL - Improve etmerc handling - Fix WKT import of peg_point_heading for Spherical_Cross_Track_Height - International Map of the World Polyconic: change parameter mapping - exportToPROJ: add alpha parameter - Hotine_Oblique_Mercator_Two_Point_Natural_Origin: GDAL_WKT1 related fix - GDAL compatibility improvements in import from PROJ4 / WKT1 for polar stereographic - Add support for +towgs84 when importing a +proj=geocent - import from WKT1: add support for an odd Mercator_1SP formulation handled by GDAL - export to proj4 strings: add +units=m to projected CRS for better GDAL compatibility - export to proj4 strings: add +no_defs to CRS for better GDAL compatibility
2018-11-14Implement RFC 2: Initial integration of "GDAL SRS barn" workEven Rouault
This work mostly consists of: - a C++ implementation of the ISO-19111:2018 / OGC Topic 2 "Referencing by coordinates" classes to represent Datums, Coordinate systems, CRSs (Coordinate Reference Systems) and Coordinate Operations. - methods to convert between this C++ modeling and WKT1, WKT2 and PROJ string representations of those objects - management and query of a SQLite3 database of CRS and Coordinate Operation definition - a C API binding part of those capabilities This is all-in-one squashed commit of the work of https://github.com/OSGeo/proj.4/pull/1040