aboutsummaryrefslogtreecommitdiff
path: root/src/grids.cpp
AgeCommit message (Collapse)Author
2022-02-22CTable2Grid::open(): add missing call to extent.computeInvRes() (CID 383359)Even Rouault
2021-09-04formatting fixEven Rouault
2021-09-03Add some filename lint #2838 to output error messagesHoward Butler
2021-07-22GeoTIFF grid reading: perf improvements (fixes #2785)Even Rouault
With this commit, and the 2 previous ones, given mytest.cpp ``` int main() { PJ* pj = proj_create(nullptr, "+proj=vgridshift +grids=us_nga_egm96_15.tif"); for( int i = 0; i < 5*1000*1000; i++) { PJ_COORD coord; coord.lpz.lam = 0; coord.lpz.phi = 0; coord.lpz.z = 0; proj_trans(pj, PJ_FWD, coord); } return 0; } ``` we get a x2 speedup Before: ``` $ PROJ_LIB=data:$HOME/proj/PROJ-data/us_nga LD_LIBRARY_PATH=src/.libs hyperfine --warmup 1 'taskset -c 11 ./mytest' Benchmark #1: taskset -c 11 ./mytest Time (mean ± σ): 1.950 s ± 0.014 s [User: 1.945 s, System: 0.005 s] Range (min … max): 1.937 s … 1.971 s ``` After: ``` $ PROJ_LIB=data:$HOME/proj/PROJ-data/us_nga LD_LIBRARY_PATH=src/.libs hyperfine --warmup 1 'taskset -c 11 ./mytest' Benchmark #1: taskset -c 11 ./mytest Time (mean ± σ): 984.4 ms ± 3.1 ms [User: 977.0 ms, System: 7.2 ms] Range (min … max): 979.3 ms … 990.5 ms ```
2021-03-07insertIntoHierarchy(): avoid confusing cppcheck about potential use of moved ↵Even Rouault
grid
2021-03-07NTv2Grid: remove useless m_name member (redundant with one of base class)Even Rouault
2021-03-06grids.cpp: use C99/C++11 uint16_t/uint32_tEven Rouault
libtiff has historically defined uint16 and uint32 as custom typedefs, but those will be deprecated in the next libtiff release, and using them will emit warnings, so use standard types as recommended.
2021-03-03Reformat code with clang-format-10 from ubuntu 20.04Even Rouault
2020-12-15Remove internal use of PJ_LOG_DEBUG_MINOR and PJ_LOG_DEBUG_MAJOREven 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-27formatting fixesEven Rouault
2020-11-20Remove unused pj_apply_gridshift()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-05-17Merge pull request #2206 from rouault/deformation_model_for_mergeEven Rouault
Add a +proj=defmodel transformation for multi-component time-based deformation models
2020-05-16pj_bilinear_interpolation_three_samples(): add commentsEven Rouault
2020-05-09scripts/fix_typos.sh: fix URLs to dictionaries, and fix typos spottedEven Rouault
2020-05-04grids: add support for projected grids for GenericShiftGridSetEven Rouault
2020-04-08Code formatting fix [skip ci]Even Rouault
2020-04-07Test GCC 4.8 and CMake 3.9; resolve a few shadowed declaration warningsMike Taves
2020-03-15Fix build with libtiff master (libtiff > 4.1.0)Even Rouault
2020-03-12Fix build with gcc 4.8.5 (fixes #2062)Even Rouault
2020-02-24pj_hgrid_apply(): change error code when no grid match to PJD_ERR_GRID_AREA ↵Even Rouault
(refs #1973)
2020-02-20Fix wrong byte-swapping for NTv2 grids affecting master after RFC4 work ↵Even Rouault
(fixes #1938) And add testing of both little-endian and big-endian NTv2 files
2020-02-09read_vgrid_value(): avoid assertion on huge latitude. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20592. master only
2020-01-25Grid correction: fix handling grids spanning antimeridian (fixes #1859)Even Rouault
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.