aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
AgeCommit message (Collapse)Author
2021-11-12Add new option to proj_create_crs_to_crs_from_pj method to force +over on ↵Peter Townsend
transformation operations (#2914) Fixes #2512
2021-07-13Add S2 projection (#2749)marcus-elia
2020-12-15Remap ENOMEM from PROJ_ERR_INVALID_OP to PROJ_ERR_OTHEREven 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-30API cleanup: unexport number of internal symbols, and remove/replace a few ↵Even Rouault
unused ones
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_free() and move it's functional parts to proj_destroy()Kristian Evers
2020-11-20Remove pj_ctx_* functions and use their proj_context counterpartsKristian Evers
2020-11-20Weed out proj_api.h datatypes and replace them with their proj.h counterpartsKristian Evers
2020-03-13Tag proj_list_units() as deprecatedEven Rouault
2020-02-06Travis: update CLang Static Analyzer to CLang 9Even Rouault
Enable optional checkers Fix two false positives
2020-01-29Merge pull request #1891 from rouault/rfc5Even Rouault
Implement RFC5: Adopt GeoTIFF-based grids for grids delivered with PROJ
2020-01-26string_to_paralist(): simplify so that it is obvious to cppcheck that ↵Even Rouault
null-ptr dereference cannot happen
2020-01-25Init file reading: use FileManager::open_resource_file() instead of ↵Even Rouault
deprecated proj_api I/O
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.
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-04-12Validate lat_0 range in general case, lat_1 and lat_2 for lcc and eqdcEven Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14211 Credit to OSS Fuzz
2019-04-04Reject negative e parameter to avoid division by zeroEven Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14044 Credit to OSS Fuzz
2019-03-29Remove duplicate instances of #include "proj_internal.h"Chris Mayo
Introduced by "Merge projects.h into proj_internal.h" 8ab6f683.
2019-03-17Fix some issues raised by latest cppcheckEven Rouault
- coordinateoperation_internal.hpp: missing 'explicit' keyword - proj.cpp: unused 'generic' member in enumeration - init.cpp: useless assignment to a_orig and es_orig, because done again a few lines below. - crs.cpp: unused variable - datum.cpp: inefficient use of find() function - io.cpp: * missing 'static' qualifier for method * useles ternary test (left and right have same value) - aeqd.cpp: useless assignment of inv and fwd, snice done again a few lines below - isea.cpp: useless assignment of resolution and aperture since done again a few lines below, and with default values when params are absent - mod_ster.cpp: useless assignment of lp.lam, overriden in below code paths. - stere.cpp: false positive, but better not modify another variable than the iterator in a for() loop.
2019-03-14Reject eccentricity values larger than oneEven Rouault
Valid eccentricity should be between 0 (included) or 1 (excluded) Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13665 Credit to OSS Fuzz
2019-02-03init(): repair to_meter=num/denom that was broken in the general case in ↵Even Rouault
PROJ 5; repair vto_meter=num/denom that was broken, and avoid division by zero, which fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12869. Credit to OSS Fuzz
2019-01-19Add support for spaces in grid name parameters (fixes #1152)Even Rouault
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)
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-27Add an hardcoded +ellps=GRS80 when there is no datum/ellipsoid specification ↵Even Rouault
(refs #201)
2018-12-27Remove proj_def.dat (fixes #201)Even Rouault
2018-12-26cpp conversion: remove useless pj_, PJ_ and proj_ filename prefixesEven Rouault