| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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
```
|
|
grid
|
|
|
|
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.
|
|
|
|
|
|
Fixes #2482
And also add proj_context_errno_string()
Revise gie 'expect failure errno XXXX' strings
|
|
|
|
|
|
|
|
|
|
Add a +proj=defmodel transformation for multi-component time-based deformation models
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(refs #1973)
|
|
(fixes #1938)
And add testing of both little-endian and big-endian NTv2 files
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20592. master only
|
|
|
|
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.
|