aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/c_api.cpp
AgeCommit message (Collapse)Author
2021-03-17Fix proj_clone() to work on 'meta' coordinate operation PJ* objects that can ↵Even Rouault
be returned by proj_create_crs_to_crs()
2021-03-10Make proj_lp_dist() and proj_geod() work on a PJ* CRS objectEven Rouault
2021-03-03Reformat code with clang-format-10 from ubuntu 20.04Even Rouault
2021-02-11C API: avoid error messages to be emitted in PJ_LOG_NONE log level (fixes #2526)Even Rouault
2020-12-28C API: add proj_crs_is_derived()Even Rouault
2020-12-15Revise error codes to have a reduced set exposed in the public API.Even Rouault
Fixes #2482 And also add proj_context_errno_string() Revise gie 'expect failure errno XXXX' strings
2020-11-29Merge pull request #2450 from rouault/setAllowEllipsoidalHeightAsVerticalCRSEven Rouault
Add option to allow export of Geographic/Projected 3D CRS in WKT1_GDAL
2020-11-24Add option to allow export of Geographic/Projected 3D CRS in WKT1_GDALEven Rouault
as CompoundCRS with a VerticalCRS being an ellipsoidal height, which is not conformant. But needed for LAS 1.4 that only supports WKT1
2020-11-20Remove old pj_ memory (de)allocation functionsKristian Evers
Gone are pj_malloc, pj_calloc, pj_dalloc and pj_dealloc. Their primary function as API memory functions in proj_api.h is no longer there and the other use as a workaround for old errno problems is no longer valid either. Replaced with malloc and free across the codebase.
2020-11-20Remove pj_ctx_* functions and use their proj_context counterpartsKristian Evers
2020-11-01proj.h: add PJ_CATEGORY_DATUM_ENSEMBLE for proj_create_from_database()Even Rouault
2020-11-01projinfo / createObjectsFromName(): support returning a datum ensembleEven Rouault
2020-11-01Merge pull request #2402 from rouault/improved_comments_datumEven Rouault
Doxygen: improve doc of functions related to Datum/DatumEnsemble
2020-10-31Doxygen: improve doc of functions related to Datum/DatumEnsembleEven Rouault
2020-10-31proj_create_ellipsoidal_2D/3D_cs(): doc improvementEven Rouault
2020-10-25Fix issues spotted by cppcheckEven Rouault
2020-10-16Add multi-line PROJ string export capability, and use it by default in ↵Even Rouault
projinfo (unless --single-line is specified) (fixes #1543)
2020-10-11C API: add proj_dynamic_datum_get_frame_reference_epoch()Even Rouault
2020-10-11Database query: add ↵Even Rouault
AuthorityFactory::ObjectType::DYNAMIC_GEODETIC_REFERENCE_FRAME and DYNAMIC_VERTICAL_REFERENCE_FRAME, and make corresponding C API work
2020-10-08Add C API to work with datum ensembleEven Rouault
Add: - proj_crs_get_datum_ensemble() - proj_crs_get_datum_forced() - proj_datum_ensemble_get_member_count() - proj_datum_ensemble_get_accuracy() - proj_datum_ensemble_get_member() Make proj_create_geographic_crs_from_datum() and proj_create_geocentric_crs_from_datum() accept a datum ensemble.
2020-09-04DOC: Fix reference to proj_get_codes_from_database in ↵Alan D. Snow
proj_get_crs_info_list_from_database docstring (#2345)
2020-08-26proj_create_vertical_crs_ex(): add a ACCURACY option to provide an explicit ↵Even Rouault
accuracy, or derive it from the grid name if it is known
2020-08-19Code reformattingEven Rouault
2020-08-19Add methods to ensure safer interactions with cpp_contextsnowman2
2020-08-19Clone projCppContext context when copying projCtx_t (#2324)Alan D. Snow
2020-07-06Merge pull request #2274 from snowman2/pjtypeEven Rouault
ENH: Added temporal, engineering, and parametric datum PJ_TYPE enumerations
2020-07-04C API: missing a few SANITIZE_CTX() in entry points (#2292)Even Rouault
Found when investigating https://github.com/OSGeo/gdal/issues/2744 but the root cause of the GDAL issue is different.
2020-06-26ENH: Added temporal, engineering, and parametric datum PJ_TYPE enumerationssnowman2
2020-06-24c_api.cpp: code reformatingEven Rouault
2020-06-24Replace assert with errors in c_api.cpp when some preconditions are not met ↵Alan D. Snow
(#2269) Closes #2268
2020-06-10Fix access violation in proj_context_get_database_metadataOlli Räisä
2020-05-14Merge pull request #2215 from rouault/fix_2214Even Rouault
ProjectedCRS::identify(): fix identification of EPSG:3059 (fixes #2214)
2020-05-13ProjectedCRS::identify(): fix identification of EPSG:3059 from ↵Even Rouault
'LKS92_Latvia_TM' name, and other cleanups/improvements (fixes #2214)
2020-05-09scripts/fix_typos.sh: fix URLs to dictionaries, and fix typos spottedEven Rouault
2020-04-15C API: add proj_operation_factory_context_set_allow_ballpark_transformations()Even Rouault
2020-04-03createFromUserInput(): allow compound CRS with the 2 parts given by names, ↵Even Rouault
e.g. 'WGS 84 + EGM96 height'
2020-03-23proj_get_suggested_operation(): extra fix to behave similarly to ↵Even Rouault
proj_create_crs_to_crs_from_pj()
2020-03-19proj_get_suggested_operation(): fix when there are only operations without ↵Even Rouault
area of use
2020-03-16Merge branch 'master' into add_proj_get_suggested_operationEven Rouault
2020-03-13Add proj_get_suggested_operation()Even Rouault
Return the index of the operation that would be the most appropriate to transform the specified coordinates. This operation may use resources that are not locally available, depending on the search criteria used by proj_create_operations(). This could be done by using proj_create_operations() with a punctual bounding box, but this function is faster when one needs to evaluate on many points with the same (source_crs, target_crs) tuple.
2020-03-12Add proj_get_units_from_database() (fixes #2004)Even Rouault
2020-02-27Fix warnings of latest cppcheck masterEven Rouault
2020-02-24Expose proj_context_is_network_enabled() in C APIEven Rouault
2020-01-23Fix wrong use of derivingConversionRef() that caused GDAL bugEven Rouault
Hopefully final cut at solving the same class of bug that the one that affected QGIS in December. This time, this hit GDAL in the situation of https://lists.osgeo.org/pipermail/gdal-dev/2020-January/051500.html The bug fix for that particular issue is in PROJStringParser::createFromPROJString() But grepping more in the code base, I could find other potential smelly situations (might not be issues, but better be safe than sorry), so let's fix them too. Bottom line is: derivingConversionRef() should *only* be used for consultation, and never to create a new ProjectedCRS()
2020-01-22Merge RFC4 (#1865)Even Rouault
This commit is the result of the squashing of rfc4_dev branch in a single commit. It implements mostly RFC 4 related work. * Grid handling: - remove obsolete and presumably unfinished implementation of grid catalog functionality - all grid functionality is in grids.cpp/.hpp - vertical and horizontal grid shift: rework to no longer load whole grid into memory - remove hgrids and vgrids member from PJ structure, and store them in hgridshift/vgridshift/deformation structures - build systems: add optional libtiff dependency. Must be explicitly disabled if not desired - add support for horizontal and vertical grids in GeoTIFF, if libtiff is available - add GenericShiftGridSet and GenericShiftGrid classes, relying on TIFF grids, that can be used for generic purpose grid-based adjustment - add a +proj=xyzgridshift method to perform geocentric translation by grid. Used for French NTF to RGF93 transformation using gr3df97a.tif grid - deformation: add support for +grids= for GeoTIFF grids - horizontal grid shift: fix failures on points slightly outside a subgrid (fixes #209) * File management: - add a filemanager.cpp/.hpp to deal with file related work - test for legacy proj_api.h fileapi - proj.h: add proj_context_set_fileapi() and proj_context_set_sqlite3_vfs_name() (fixes #866) - add capability to read resource files from the user writable directory * Network access: - build systems: add optional curl dependency - add a curl-based default implementation for network related functionality - proj.h: add C API to control network functionality, and optionaly provide network callbacks - add data/proj.ini with default settings - add a SQLite3 local cache of downloaded chunks - add proj_is_download_needed() and proj_download_file() * Use Win32 Unicode APIs and expect all strings to be UTF-8 (fixes #1765) For backward compatibility, if PROJ_LIB content is found to be not UTF-8 or pointing to a non existing directory, then an attempt at interpretating it in the ANSI page encoding is done. proj_context_set_search_paths() now assumes strings to be in UTF-8, and functions returning paths will also return values in UTF-8.
2020-01-10Doc of CRS::identify(): make it clear that this is a best-effort attempt onlyEven Rouault
2020-01-07createObjectsFromName(): make it look up in the alias_name table too (fixes ↵Even Rouault
#1823)
2019-12-16identify(): take into datum name aliases (fixes #1800)Even Rouault
2019-12-14Add proj_coordoperation_create_inverse to C API (#1795)Nyall Dawson
2019-11-25Merge pull request #1737 from rouault/proj_create_derived_geographic_crsKristian Evers
Add proj_create_derived_geographic_crs() and proj_create_conversion_pole_rotation_grib_convention() to address GRIB datasets using a pole rotation method